
/* Layout: bandas de ancho completo como el litoral; columna de 1180px; vistas enrutadas por #hash. Paleta tomada del manual de marca y del imagotipo. */
:root{
  --sol:#FFBA4D; --naranja:#FF894D; --azul:#0078BC; --celeste:#42ACFF; --verde:#4FC887; --verde-hondo:#009F86; --cacao:#BE3658; --real:#3D5CC5; --real-hondo:#2A46A6;
  --bg:#f6f9fd; --surface:#ffffff; --fg:#14224a; --muted:#56658a; --line:#dbe4f1; --chip:#eaf1fb;
  --wordmark:#3D5CC5; --link:#0069A6;
  --sea:#e2f1ff; --land:#d6f3e3; --land-line:#4FC887; --map-text:#2A46A6;
  --font:"Montserrat",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:16px; --max:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0b1430; --surface:#121f45; --fg:#eef3ff; --muted:#a6b4d6; --line:#24346a; --chip:#1a2a5a;
  --wordmark:#ffffff; --link:#42ACFF; --sea:#0f2350; --land:#173f45; --land-line:#4FC887; --map-text:#bcd3ff; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0b1430; --surface:#121f45; --fg:#eef3ff; --muted:#a6b4d6; --line:#24346a; --chip:#1a2a5a;
  --wordmark:#ffffff; --link:#42ACFF; --sea:#0f2350; --land:#173f45; --land-line:#4FC887; --map-text:#bcd3ff; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
a{color:inherit}
h1,h2,h3,h4{line-height:1.08;margin:0;text-wrap:balance;font-weight:800;letter-spacing:-.02em;hyphens:manual;overflow-wrap:normal;word-break:normal}
p,li,span{hyphens:manual}
p{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(56px,8vw,104px)}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--link)}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted);max-width:62ch}
.h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:900}
.stack{display:flex;flex-direction:column;gap:16px}
.note{font-size:.8rem;color:var(--muted)}
:focus-visible{outline:3px solid var(--sol);outline-offset:3px;border-radius:6px}

/* Header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:24px;height:64px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none}
.logo img{height:32px;width:auto;display:block}
@media (max-width:560px){.logo img{height:28px}}
.logo .wm{display:flex;flex-direction:column;line-height:.9}
.logo .wm b{font-size:1.35rem;font-weight:900;letter-spacing:-.02em;color:var(--wordmark)}
.logo .wm i{font-size:.82rem;font-weight:900;color:var(--sol);letter-spacing:-.01em}
nav.main{display:flex;gap:4px;margin-left:auto;align-items:center}
nav.main a{text-decoration:none;font-weight:700;font-size:.92rem;padding:8px 12px;border-radius:999px;color:var(--fg)}
nav.main a:hover{background:var(--chip)}
nav.main a[aria-current="page"]{color:var(--link);background:var(--chip)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;font-size:.92rem;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-sol{background:var(--sol);color:#2b1a00}
.btn-azul{background:var(--azul);color:#fff}
.btn-ghost{background:transparent;border:1.5px solid currentColor}
nav.main .btn{padding:9px 18px;margin-left:6px}
.burger{display:none;margin-left:auto;background:none;border:0;color:var(--fg);padding:8px;cursor:pointer}
@media (max-width:940px){
  .burger{display:block}
  nav.main{position:fixed;inset:calc(64px + env(safe-area-inset-top,0px)) 0 auto 0;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:12px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));gap:4px;margin:0;display:none}
  nav.main.open{display:flex}
  nav.main a{padding:12px 14px;font-size:1rem}
  nav.main .btn{margin:8px 0 0}
  .lang{align-self:flex-start;margin-top:8px}
}

/* Espacios para fotos propias */
.ph{position:relative;overflow:hidden;border-radius:var(--r);background:var(--g,linear-gradient(160deg,var(--celeste),var(--azul)));isolation:isolate;max-width:100%}
.ph::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;z-index:-1;opacity:.5;
  background:repeating-linear-gradient(170deg,transparent 0 10px,rgba(255,255,255,.28) 10px 14px)}
.ph .tag{position:absolute;left:12px;bottom:12px;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:#fff;background:rgba(10,20,60,.42);padding:4px 9px;border-radius:999px;backdrop-filter:blur(4px)}
.g-playa{--g:linear-gradient(170deg,#42ACFF 0%,#0078BC 58%,#FFD99A 59%,#FFBA4D 100%)}
.g-historia{--g:linear-gradient(165deg,#e7c79a 0%,#b9875a 60%,#7a5333 100%)}
.g-sabor{--g:linear-gradient(160deg,#e0607f 0%,#BE3658 55%,#6e1c33 100%)}
.g-naturaleza{--g:linear-gradient(170deg,#9fe6bf 0%,#4FC887 45%,#009F86 100%)}
.g-cultura{--g:linear-gradient(160deg,#FFBA4D 0%,#FF894D 55%,#d9542a 100%)}
.g-desierto{--g:linear-gradient(170deg,#ffe3b5 0%,#f2b77a 55%,#f6f0ea 56%,#ffd3de 100%)}
.g-puerto{--g:linear-gradient(165deg,#6f8fe0 0%,#3D5CC5 55%,#1c2f78 100%)}
.g-guanoco{--g:linear-gradient(170deg,#9fe6bf 0%,#009F86 50%,#2b2b33 51%,#111116 100%)}
.g-cafe{--g:linear-gradient(165deg,#b98a6a 0%,#7a4b31 55%,#3a2216 100%)}
.g-rio{--g:linear-gradient(170deg,#4FC887 0%,#009F86 45%,#42ACFF 46%,#0078BC 100%)}

/* Hero */
.hero{position:relative;color:#fff;overflow:hidden;background:linear-gradient(180deg,rgba(14,26,70,.35) 0%,rgba(14,26,70,.15) 45%,rgba(14,26,70,.7) 100%),var(--hero-img,linear-gradient(160deg,#0078BC 0%,#2A46A6 55%,#1c2f78 100%));background-size:cover;background-position:center}
.hero-tag{position:absolute;right:max(16px,env(safe-area-inset-right,0px));top:16px;z-index:2;font-size:.7rem;font-weight:700;color:#fff;background:rgba(10,20,60,.45);padding:5px 11px;border-radius:999px}
.hero-grid{position:relative;z-index:2;padding-block:clamp(72px,10vw,136px) clamp(110px,12vw,160px);display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
.hero-grid > *{min-width:0}

.hero h1{font-size:clamp(2.6rem,6.4vw,5.4rem);font-weight:900;letter-spacing:-.04em;line-height:.95}
.hero h1 em{font-style:italic;color:var(--sol)}
.hero .lead{color:rgba(255,255,255,.85)}
.hero-logo{justify-self:center;width:100%;max-width:340px;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.25))}
@media (max-width:820px){.hero-grid{grid-template-columns:1fr}.hero .hero-logo{order:-1;max-width:140px;justify-self:start}}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn-ghost{color:#fff}

/* Selector de experiencias */
.chooser{margin-top:-56px;position:relative;z-index:3}
.chooser-card{background:var(--surface);border-radius:22px;box-shadow:0 22px 60px -24px rgba(42,70,166,.45);padding:clamp(20px,3vw,32px);display:grid;gap:18px;border:1px solid var(--line)}
.chooser-card h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:900}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-weight:700;font-size:.9rem;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);padding:10px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.chip .dot{width:11px;height:11px;border-radius:50%;background:var(--c)}
.chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.brand-band{background:var(--surface);border-block:1px solid var(--line);margin-top:clamp(56px,8vw,96px)}
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center;padding-block:clamp(64px,9vw,112px)}
.brand-grid > *{min-width:0}
@media (max-width:860px){.brand-grid{grid-template-columns:1fr}.brand-art{max-width:300px}}
.brand-art{position:relative;justify-self:center;width:100%;max-width:420px}
.brand-art img{width:100%;height:auto;display:block}
.hs-hint{font-size:.85rem;font-weight:700;color:var(--muted)}
.hs{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.hs span{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px var(--c),0 4px 12px rgba(20,34,74,.35);transition:transform .2s ease}
.hs::before{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid #fff;opacity:.9;animation:hsPulse 2.4s ease-out infinite}
.hs:hover span,.hs:focus-visible span,.hs.on span{transform:scale(1.25)}
@keyframes hsPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.hs::before{animation:none;display:none}}
.hs-tip{position:absolute;z-index:3;width:240px;max-width:80%;background:var(--fg);color:var(--bg);border-radius:14px;padding:12px 14px;box-shadow:0 14px 34px -10px rgba(20,34,74,.45);pointer-events:none}
.hs-tip b{display:block;font-weight:900;font-size:.95rem;margin-bottom:2px}
.hs-tip span{font-size:.84rem;line-height:1.45;opacity:.9}

/* Elementos lineales de la marca, uso sutil */
.deco{position:absolute;pointer-events:none;z-index:0;background-repeat:no-repeat;background-size:contain}
.deco-rings-w{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22400%22%20height%3D%22400%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.1%22%20stroke-width%3D%226%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2240%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2280%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22120%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22160%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22196%22/%3E%3C/svg%3E")}
.deco-rings-sol{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22400%22%20height%3D%22400%22%20viewBox%3D%220%200%20400%20400%22%20fill%3D%22none%22%20stroke%3D%22%23FFBA4D%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%226%22%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2240%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%2280%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22120%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22160%22/%3E%3Ccircle%20cx%3D%22200%22%20cy%3D%22200%22%20r%3D%22196%22/%3E%3C/svg%3E")}
.deco-waves-w{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22220%22%20height%3D%2270%22%20viewBox%3D%220%200%20220%2070%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.16%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%2014%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2034%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2054%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3C/svg%3E")}
.deco-waves-b{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22220%22%20height%3D%2270%22%20viewBox%3D%220%200%20220%2070%22%20fill%3D%22none%22%20stroke%3D%22%2342ACFF%22%20stroke-opacity%3D%220.35%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%2014%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2034%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2054%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3C/svg%3E")}
.deco-arcs-g{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22420%22%20height%3D%22220%22%20viewBox%3D%220%200%20420%20220%22%20fill%3D%22none%22%20stroke%3D%22%234FC887%22%20stroke-opacity%3D%220.18%22%20stroke-width%3D%226%22%3E%3Cpath%20d%3D%22M170%20216%20A40%2040%200%200%201%20250%20216%22/%3E%3Cpath%20d%3D%22M130%20216%20A80%2080%200%200%201%20290%20216%22/%3E%3Cpath%20d%3D%22M90%20216%20A120%20120%200%200%201%20330%20216%22/%3E%3Cpath%20d%3D%22M50%20216%20A160%20160%200%200%201%20370%20216%22/%3E%3Cpath%20d%3D%22M10%20216%20A200%20200%200%200%201%20410%20216%22/%3E%3C/svg%3E")}
.deco-arcs-w{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22420%22%20height%3D%22220%22%20viewBox%3D%220%200%20420%20220%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.1%22%20stroke-width%3D%226%22%3E%3Cpath%20d%3D%22M170%20216%20A40%2040%200%200%201%20250%20216%22/%3E%3Cpath%20d%3D%22M130%20216%20A80%2080%200%200%201%20290%20216%22/%3E%3Cpath%20d%3D%22M90%20216%20A120%20120%200%200%201%20330%20216%22/%3E%3Cpath%20d%3D%22M50%20216%20A160%20160%200%200%201%20370%20216%22/%3E%3Cpath%20d%3D%22M10%20216%20A200%20200%200%200%201%20410%20216%22/%3E%3C/svg%3E")}
.eyebrow-mark{display:inline-block;width:34px;height:11px;margin-right:8px;vertical-align:-1px;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22220%22%20height%3D%2270%22%20viewBox%3D%220%200%20220%2070%22%20fill%3D%22none%22%20stroke%3D%22%2342ACFF%22%20stroke-opacity%3D%220.9%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%2014%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2034%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3Cpath%20d%3D%22M4%2054%20q13%20-10%2026%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%20t26%200%22/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}
.rel{position:relative;overflow:hidden;isolation:isolate}
.rel > .wrap{position:relative;z-index:1}
@media (max-width:700px){.deco{opacity:.7;transform:scale(.7)}}
.seal-band-wrap{padding-block:0 clamp(48px,6vw,72px);margin-top:calc(-1 * clamp(28px,4vw,52px))}
.seal-band{display:flex;align-items:center;gap:clamp(16px,3vw,28px);padding:18px clamp(18px,3vw,28px);border-radius:18px;background:var(--real-hondo);color:#fff;text-decoration:none;position:relative;overflow:hidden;transition:transform .2s ease}
.seal-band:hover{transform:translateY(-2px)}
.seal-band::after{content:"";position:absolute;right:-60px;top:-90px;width:240px;height:240px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 0 26px rgba(255,255,255,0),0 0 0 28px rgba(255,255,255,.08),0 0 0 54px rgba(255,255,255,0),0 0 0 56px rgba(255,255,255,.06);pointer-events:none}
.seal-mini{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 30%,#f8e7b4 0%,#e6c677 32%,#cfa552 62%,#b88c3d 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 0 1px rgba(120,80,20,.25),inset 0 0 0 5px rgba(255,255,255,.12),inset 0 0 0 6px rgba(120,80,20,.2),0 10px 22px -10px rgba(0,0,0,.45)}
.seal-mini img{width:30px;height:auto;filter:drop-shadow(0 1px 1px rgba(90,60,10,.25))}
.seal-mini b{display:none}
.seal-band-text{display:grid;gap:2px;min-width:0;flex:1}
.seal-band-text b{font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:900}
.seal-band-text span{font-size:.92rem;color:rgba(255,255,255,.82)}
.seal-band-link{flex:none;font-weight:800;font-size:.88rem;color:var(--sol);position:relative;z-index:1}
@media (max-width:640px){.seal-band{flex-wrap:wrap}.seal-mini{width:58px;height:58px}.seal-band-link{width:100%}}
:root[lang="zh"] body{font-family:"Montserrat","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
:root[lang="ar"] body{font-family:"Cairo","Montserrat","Segoe UI",Tahoma,sans-serif}
:root[lang="zh"] h1,:root[lang="zh"] h2,:root[lang="zh"] h3,:root[lang="ar"] h1,:root[lang="ar"] h2,:root[lang="ar"] h3{letter-spacing:0;line-height:1.25}
:root[lang="ar"] *{letter-spacing:0!important}
:root[lang="zh"] .eyebrow,:root[lang="ar"] .eyebrow{letter-spacing:.04em}
[dir="rtl"] .muni-card{text-align:right}
[dir="rtl"] .eyebrow-mark{margin-right:0;margin-left:8px}
[dir="rtl"] .hero h1 em{font-style:normal}
.tr-note{background:var(--chip);color:var(--fg);text-align:center;font-size:.85rem;font-weight:700;padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))}
/* Tarjetas: zoom suave + toda la tarjeta abre la ficha */
.exp-card{position:relative}
.ph-frame{position:relative;overflow:hidden;aspect-ratio:16/10}
.ph-frame .ph{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;transition:transform .5s ease}
.ph-frame .tag{position:absolute;left:12px;bottom:12px;z-index:1;font-size:.68rem;font-weight:700;color:#fff;background:rgba(10,20,60,.42);padding:4px 9px;border-radius:999px}
.ph-frame .see{position:absolute;right:12px;bottom:12px;z-index:1;font-size:.72rem;font-weight:800;color:#14224a;background:#fff;padding:5px 11px;border-radius:999px;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease}
.exp-card:hover .ph-frame .ph{transform:scale(1.07)}
.exp-card:hover .see,.exp-card:focus-within .see{opacity:1;transform:none}
.exp-card:hover{transform:none}
.stretch{color:inherit;text-decoration:none}
.stretch::after{content:"";position:absolute;inset:0;z-index:1}
.exp-card .go{position:relative;z-index:2}
.stretch:focus-visible{outline:none}
.exp-card:has(.stretch:focus-visible){outline:3px solid var(--sol);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.ph-frame .ph,.ph-frame .see{transition:none}}
/* Ficha de lugar */
.place-head{padding-block:clamp(28px,4vw,48px) 20px;display:grid;gap:12px}
.place-head h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:900;letter-spacing:-.035em}
.back-link{font-weight:800;font-size:.88rem;color:var(--link);text-decoration:none;justify-self:start}
.place-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:clamp(260px,38vw,460px)}
.gallery .ph{border-radius:14px;height:100%;aspect-ratio:auto}
.gallery .g0{grid-row:1/3}
@media (max-width:700px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}.gallery .g0{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}.gallery .ph:not(.g0){aspect-ratio:4/3}.gallery .g3,.gallery .g4{display:none}}
.place-grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(28px,4vw,56px);align-items:start}
@media (max-width:900px){.place-grid{grid-template-columns:1fr}}
.h3x{font-size:clamp(1.3rem,2vw,1.6rem);font-weight:900}
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.svc{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:.88rem}
.svc svg{flex:none;color:var(--link)}
.biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.biz{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--line);min-height:170px}
.biz b{font-size:1.02rem}
.biz > span{color:var(--muted);font-size:.88rem}
.biz .btn{margin-top:auto;align-self:flex-start;padding:8px 16px;font-size:.8rem}
.biz-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:24px}
.biz-kind{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ex-tag,.biz > .ex-tag{position:absolute;top:-9px;left:14px;font-size:.62rem;color:var(--bg);font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--fg);color:var(--bg);padding:3px 8px;border-radius:999px}
.biz-join{border-style:dashed;border-width:1.5px;background:transparent;text-decoration:none;color:var(--fg);justify-content:center}
.biz-join:hover{border-color:var(--azul)}
.biz-join .more-link{margin-top:6px}
.tbc{color:var(--muted);font-style:italic;font-weight:500}
.place-side{display:grid;gap:24px;position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
@media (max-width:900px){.place-side{position:static}}
.side-card{display:grid;gap:14px;padding:22px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.facts-dl{margin:0;display:grid;gap:12px}
.facts-dl div{display:grid;gap:2px}
.facts-dl dt{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.facts-dl dd{margin:0;font-weight:700;font-size:.95rem}
.mini-wrap{border-radius:12px;background:var(--sea);padding:8px;overflow:hidden}
.mini-map{display:block;width:100%;height:auto}
.side-h{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.near{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--fg);padding:8px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}
.near:hover{border-color:var(--azul)}
.near .ph{flex:none;width:64px;height:48px;border-radius:8px;aspect-ratio:auto}
.near .ph::after{display:none}
.near b{display:block;font-size:.92rem;line-height:1.2}
.social{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.soc{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;opacity:1!important}
.soc:hover{border-color:var(--sol);color:var(--sol)}
.contact-card{display:grid;gap:10px;padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);margin-top:8px}
.contact-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);padding:10px 12px;border-radius:12px;background:var(--chip)}
.contact-row:hover{outline:1.5px solid var(--azul)}
.contact-row svg{flex:none;color:var(--link)}
.contact-row > span{display:grid;line-height:1.25}
.contact-row b{font-size:.92rem}
.contact-row span span{font-size:.85rem;color:var(--muted)}
.panels{display:flex;gap:10px;height:440px}
.panel-x{position:relative;flex:1 1 0;min-width:150px;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;transition:flex-grow .45s ease;isolation:isolate}
.panel-x .ph{position:absolute;inset:0;border-radius:0;z-index:-2}
.panel-x::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,20,60,0) 30%,rgba(10,20,60,.75) 100%)}
.panel-x .pn{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.panel-x h3{font-size:clamp(1rem,1.25vw,1.3rem);font-weight:900;line-height:1.1;margin-top:4px;word-break:keep-all}
.panel-x .pn{white-space:nowrap}
.panel-x .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease,opacity .3s ease;opacity:0}
.panel-x .more > div{overflow:hidden}
.panel-x ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;font-size:.88rem;font-weight:600}
.panel-x .cta{display:inline-flex;margin-top:14px;font-weight:800;font-size:.85rem;background:#fff;color:#14224a;padding:9px 16px;border-radius:999px}
@media (hover:hover) and (min-width:861px){
  .panels:hover .panel-x{flex-grow:.7}
  .panels .panel-x:hover,.panels .panel-x:focus-visible{flex-grow:2.6}
  .panel-x:hover .more,.panel-x:focus-visible .more{grid-template-rows:1fr;opacity:1}
}
@media (hover:none),(max-width:860px){
  .panels{flex-direction:column;height:auto}
  .panel-x{min-height:170px;flex:none}
  .panel-x .more{grid-template-rows:1fr;opacity:1}
  .panel-x ul{display:none}
}
@media (prefers-reduced-motion:reduce){.panel-x,.panel-x .more{transition:none}}
.exp-hero{position:relative;color:#fff;isolation:isolate;overflow:hidden}
.exp-hero .ph{position:absolute;inset:0;border-radius:0;z-index:-2}
.exp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,20,60,.2),rgba(10,20,60,.7))}
.exp-hero .wrap{padding-block:clamp(64px,9vw,120px) 40px;display:grid;gap:14px}
.exp-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:900;letter-spacing:-.04em}
.exp-hero .lead{color:rgba(255,255,255,.88)}
.exp-hero a.back{color:#fff;font-weight:800;font-size:.85rem;text-decoration:none;opacity:.9}
.exp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.exp-tabs a{color:#fff;text-decoration:none;font-weight:700;font-size:.85rem;padding:7px 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.5)}
.exp-tabs a[aria-current="page"]{background:#fff;color:#14224a;border-color:#fff}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.exp-grid .exp{flex:none;height:100%}
.exp-grid .exp-body{flex:1}
.exp-grid .exp-body p{flex:1}
.exp-grid .go{display:grid;grid-template-columns:1fr;gap:8px;padding-top:14px}
.exp-grid .go .btn{width:100%;white-space:nowrap}
.exp-grid .where{min-height:1.2em}
.exp-grid .exp-body{gap:8px;padding:16px 18px 18px}
.exp-grid .exp-body h3{font-size:1.15rem}
.exp-grid .exp-body p{font-size:.92rem;color:var(--muted)}
.chooser-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.arrows{display:flex;gap:8px}
.arrow-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:800;cursor:pointer}
.arrow-btn:hover{border-color:var(--fg)}
@media (max-width:560px){.arrows{display:none}}
.results{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;scroll-behavior:smooth}
.results::-webkit-scrollbar{display:none}
.more-link{font-weight:800;font-size:.88rem;color:var(--link);text-decoration:none;justify-self:start}
.exp{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--r);overflow:hidden;background:var(--bg);border:1px solid var(--line);transition:transform .2s ease}
.exp:hover{transform:translateY(-3px)}
.exp .ph{border-radius:0;aspect-ratio:4/3}
.exp-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.where{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.exp-body h3{font-size:.98rem;line-height:1.2}
.exp-body p{font-size:.92rem;color:var(--muted)}
.go{margin-top:auto;padding-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.go .btn{padding:9px 14px;font-size:.8rem}
.go .btn-ghost{color:var(--link)}

/* Muchos mundos */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split > *{min-width:0}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.worlds{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:560px){.worlds{grid-template-columns:repeat(2,1fr)}}
.worlds a{text-decoration:none}
.worlds .ph{aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;transition:transform .2s ease}
.worlds a:hover .ph{transform:translateY(-3px)}
.worlds b{color:#fff;font-size:.98rem;font-weight:900;line-height:1.1;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.worlds small{color:rgba(255,255,255,.9);font-size:.7rem;font-weight:600;line-height:1.25;margin-top:4px}
.why-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:end}
.why-head > *{min-width:0}
@media (max-width:820px){.why-head{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:900px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.facts{grid-template-columns:1fr}}
.fact-card{display:grid;gap:4px;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);text-decoration:none;color:var(--fg);transition:border-color .2s ease,transform .2s ease}
.fact-card:hover{border-color:var(--azul);transform:translateY(-2px)}
.fact-card strong{font-size:clamp(1.25rem,1.55vw,1.6rem);text-wrap:balance;font-weight:900;letter-spacing:-.03em;color:var(--link);line-height:1;font-variant-numeric:tabular-nums}
.fact-card span{font-size:.88rem;color:var(--muted);font-weight:600;line-height:1.4}
.fact{display:flex;gap:28px;flex-wrap:wrap;margin-top:8px}
.fact div{display:flex;flex-direction:column}
.fact strong{font-size:2.4rem;font-weight:900;letter-spacing:-.03em;color:var(--azul);font-variant-numeric:tabular-nums;line-height:1}
:root[data-theme="dark"] .fact strong{color:var(--celeste)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .fact strong{color:var(--celeste)}}
.fact span{font-size:.82rem;color:var(--muted);font-weight:700}

/* Mapa */
.map-band{background:var(--sea);border-block:1px solid var(--line);margin-top:8px}
.map-inner{position:relative;max-width:1440px;margin-inline:auto}
@media (max-width:700px){.map-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.map-scroll svg{min-width:820px}}
.map-inner svg{display:block;width:100%;height:auto}
.land{fill:var(--land);stroke:var(--land-line);stroke-width:2.5;stroke-linejoin:round}
.sea-label{fill:var(--map-text);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.55;font-family:var(--font)}
.town{fill:var(--map-text);font-size:12px;font-weight:800;font-family:var(--font)}
.town-dot{fill:var(--map-text)}
.pin{cursor:pointer}
.pin .hit{fill:transparent}
.pin .ring{fill:var(--surface);stroke:var(--c);stroke-width:3}
.pin .core{fill:var(--c)}
.pin:hover .ring,.pin:focus .ring,.pin.on .ring{stroke-width:5}
.pin.on .core{r:7}
.pin:focus{outline:none}
.pin:focus-visible .ring{stroke:var(--fg)}
.pin.off{opacity:.18;pointer-events:none}
.lg-t{display:none}@media (hover:none),(pointer:coarse){.lg-h{display:none}.lg-t{display:inline}}
.map-legend{position:absolute;left:14px;top:12px;font-size:.7rem;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:4px 10px;border-radius:999px}
.tip{position:absolute;z-index:5;width:300px;max-width:calc(100% - 24px);background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 44px -14px rgba(20,34,74,.4);pointer-events:auto}
.tip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-7px;width:14px;height:14px;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.tip.below::after{bottom:auto;top:-7px;transform:translateX(-50%) rotate(225deg)}
.tip.side-r::after{left:-7px;top:var(--ay,50%);bottom:auto;transform:translateY(-50%) rotate(135deg)}
.tip.side-l::after{left:auto;right:-7px;top:var(--ay,50%);bottom:auto;transform:translateY(-50%) rotate(-45deg)}
.tip-close{position:absolute;right:8px;top:8px;z-index:2;width:30px;height:30px;border-radius:50%;border:0;background:rgba(10,20,60,.5);color:#fff;font:inherit;font-weight:800;cursor:pointer;line-height:1}
@media (max-width:700px){.tip{position:relative;left:auto!important;top:auto!important;width:auto;max-width:none;margin:12px max(16px,env(safe-area-inset-left,0px)) 16px;box-shadow:none}.tip::after{display:none}}
.tip .ph{border-radius:0;aspect-ratio:16/7}
.tip-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}
.tip-body h3{font-size:1.1rem;font-weight:900}
.tip-body p{color:var(--muted);font-size:.86rem;line-height:1.5}
.tip-body .go{padding-top:4px}
.tagrow{display:flex;gap:6px;flex-wrap:wrap}
.badge{display:inline-flex;align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--chip);color:var(--link)}
.badge.sello{background:var(--sol);color:#2b1a00}

/* Puertas */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:820px){.doors{grid-template-columns:1fr}.door{min-height:0}}
.door{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--r);text-decoration:none;min-height:230px;transition:transform .2s ease;position:relative;overflow:hidden}
.door:hover{transform:translateY(-3px)}
.door h3{font-size:1.6rem;font-weight:900}
.door p{opacity:.9;font-size:.95rem;max-width:34ch}
.door .arrow{margin-top:auto;font-weight:800;font-size:.9rem}
.d1{background:var(--azul);color:#fff}
.d2{background:var(--sol);color:#2b1a00}
.d3{background:#00806b;color:#fff}

/* Vistas internas */
.page-head{padding-block:clamp(48px,7vw,88px) 32px;display:grid;gap:16px}
.page-head h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:900;letter-spacing:-.04em}
.subnav{display:flex;gap:4px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-top:8px}
.subnav a{text-decoration:none;font-weight:700;font-size:.9rem;padding:10px 0;color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-1px}
.subnav a:hover{color:var(--fg)}
.subnav a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--sol)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:820px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card h3{font-size:1.2rem}
.card p{color:var(--muted);font-size:.95rem}
.meta{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--link)}
.muni{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.muni-card{font:inherit;text-align:left;cursor:pointer;padding:12px 14px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);color:var(--fg);display:grid;gap:2px;transition:border-color .2s ease,transform .2s ease}
.muni-card b{font-weight:800;font-size:.92rem}
.muni-card small{color:var(--muted);font-weight:600;font-size:.75rem}
.muni-card:hover{border-color:var(--azul);transform:translateY(-2px)}
.muni-card.on{border-color:var(--azul);background:var(--chip)}
.muni-card.empty{cursor:default;opacity:.6}
.muni-card.empty:hover{transform:none;border-color:var(--line)}

.timeline{display:grid;border-left:3px solid var(--line);margin-left:8px}
.tl{position:relative;padding:0 0 32px 28px;display:grid;gap:6px;max-width:68ch}
.tl::before{content:"";position:absolute;left:-10px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:4px solid var(--azul)}
.tl .yr{font-weight:900;font-size:1.4rem;color:var(--link);font-variant-numeric:tabular-nums}
.tl p{color:var(--muted)}

.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.products{gap:10px}.prod-body{padding:10px 12px 12px}.prod-body h3{font-size:.9rem}.prod .prod-body .btn{font-size:.72rem;padding:8px 6px}}
.prod{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.prod .ph{aspect-ratio:4/3;border-radius:0}
.teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.teaser-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block;background:#fff}
.prod-img{aspect-ratio:4/3;background:#fff;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.prod:hover .prod-img img{transform:scale(1.04)}
.prod-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod-body h3{font-size:1rem}
.prod-body .who{font-size:.75rem;color:var(--muted);font-weight:700}
.prod-body .btn{margin-top:auto;padding:9px 12px;font-size:.82rem;white-space:nowrap}
.wa-box{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:22px 24px;border-radius:var(--r);background:var(--chip)}
.wa-box code{font-family:var(--font);font-weight:900;font-size:1.1rem;user-select:all}

.sello-hero{background:var(--real-hondo);color:#fff}
.sello-hero .lead{color:rgba(255,255,255,.85)}
.seal{width:clamp(190px,24vw,260px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 30%,#f8e7b4 0%,#e6c677 32%,#cfa552 62%,#b88c3d 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 0 0 1px rgba(120,80,20,.3),0 24px 48px -24px rgba(0,0,0,.45);max-width:100%;justify-self:center;position:relative}
.seal>*{grid-area:1/1}
.seal-ring{width:100%;height:100%}
.seal-ring text{font-family:var(--font);font-weight:800;font-size:15px;letter-spacing:.3em;fill:#5a3f12}
.seal img{width:36%;height:auto;filter:drop-shadow(0 2px 2px rgba(90,60,10,.3))}
.sello-cover .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(32px,6vw,96px);padding-block:clamp(40px,5.5vw,72px)}
.sc-text{display:flex;flex-direction:column;gap:16px;max-width:600px}
.sello-cover h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:900;letter-spacing:-.04em}
.sello-cover .lead{max-width:52ch}
.seal-stage{position:relative;display:grid;place-items:center;padding:clamp(18px,2.6vw,30px)}
.seal-stage::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 0 24px rgba(255,255,255,.03),0 0 0 25px rgba(255,255,255,.07);pointer-events:none}
.sello-cover .seal{width:clamp(170px,19vw,230px)}
@media (max-width:760px){.sello-cover .wrap{grid-template-columns:1fr;gap:28px}.seal-stage{order:-1;justify-self:start;padding:14px}.seal-stage::before{box-shadow:0 0 0 1px rgba(255,255,255,.12)}.sello-cover .seal{width:120px}}
.inv-hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,5vw,72px);padding-block:clamp(44px,6vw,80px)}
.inv-hero h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:900;letter-spacing:-.04em}
.inv-stats{display:grid;gap:12px}
.inv-stats div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.inv-stats strong{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:900;letter-spacing:-.03em;color:var(--sol);line-height:1;font-variant-numeric:tabular-nums}
.inv-stats span{font-size:.9rem;color:rgba(255,255,255,.88);line-height:1.4}
@media (max-width:860px){.inv-hero .wrap{grid-template-columns:1fr}}
@media (max-width:420px){.inv-stats div{grid-template-columns:1fr;gap:6px}}
.sec-head{display:grid;gap:6px}
.card > .btn:last-child,.card > a.btn:last-child{margin-top:auto;align-self:stretch;white-space:nowrap}
.inv-cards .card p{flex:1}
.inv-cards.grid-3{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.inv-cards.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.inv-cards.grid-3{grid-template-columns:1fr}}
.inv-cards .card > .btn{margin-top:6px}
.isecs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.isecs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.isecs{grid-template-columns:1fr}}
.isec{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--verde-hondo)}
.isec .k{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-hondo)}
.isec h3{font-size:1.15rem}
.isec p{color:var(--muted);font-size:.92rem;flex:1}
.isec-who{font-size:.8rem;font-weight:800;color:var(--link);padding-top:10px;border-top:1px solid var(--line)}
.steps.steps-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.steps.steps-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps.steps-4{grid-template-columns:1fr}}
.inv-cta.inv-sucrex{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:20px 32px}.inv-sucrex p{color:rgba(255,255,255,.85);margin:6px 0 0}.inv-sucrex .h3x{color:#fff}@media (max-width:820px){.inv-cta.inv-sucrex{grid-template-columns:1fr}}
.inv-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:clamp(22px,3vw,32px);border-radius:20px;background:var(--real-hondo);color:#fff}
.inv-cta p{color:rgba(255,255,255,.82);margin-top:6px}
@media (max-width:560px){.inv-cta .btn{width:100%}}
@media (min-width:761px){[data-view="marca"] .sello-cover .wrap{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,4vw,56px)}}
[data-view="marca"] .sc-text{max-width:none}
.marca-hero-logo{width:100%;max-width:230px;height:auto;justify-self:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.25))}
@media (max-width:760px){.marca-hero-logo{order:-1;justify-self:start;width:110px}}
.brand-story{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.brand-story p:not(.lead):not(.eyebrow){color:var(--muted)}
@media (max-width:860px){.brand-story{grid-template-columns:1fr}}
.credits{display:grid;gap:14px;padding:24px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.credits dl{margin:0;display:grid;gap:14px}
.credits dt{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.credits dd{margin:2px 0 0;font-weight:800;font-size:1.05rem}
.elements{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.elements .el{flex:0 0 calc((100% - 48px)/4);min-width:0}
@media (max-width:980px){.elements .el{flex-basis:calc((100% - 32px)/3)}}
.el{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 18px 22px;border-radius:20px;background:var(--surface);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}
.el:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(20,34,74,.45)}
.el-art{width:100%;height:128px;border-radius:14px;background:var(--bg);display:grid;place-items:center;padding:16px;margin-bottom:6px;overflow:hidden}
.el-art.dark{background:var(--real-hondo)}
.el-art img{max-width:80%;max-height:84px;width:auto;height:auto;display:block;object-fit:contain}
.el-txt{display:grid;gap:6px;justify-items:center}
.el b{font-size:1.02rem;font-weight:800}
.el p{color:var(--muted);font-size:.88rem;line-height:1.5;max-width:30ch}
@media (max-width:700px){
  .elements{gap:10px}
  .elements .el{flex-basis:100%;flex-direction:row;align-items:center;text-align:left;gap:14px;padding:12px;border-radius:16px}
  .el-art{flex:none;width:96px;height:96px;margin:0;padding:12px;border-radius:12px}
  .el-art img{max-width:100%;max-height:64px}
  .el > b,.el > p{display:block}
  .el .el-txt{gap:2px;min-width:0;justify-items:start}
}
@media (prefers-reduced-motion:reduce){.el{transition:none}}
.swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.swatches div{display:grid;gap:2px;padding:10px 10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);min-width:0;overflow:hidden}
.swatches i{display:block;width:100%;aspect-ratio:16/10;border-radius:10px;background:var(--sw);margin-bottom:8px}
.swatches b{font-size:.9rem;padding-inline:4px}
.swatches code{font-family:var(--font);font-size:.75rem;color:var(--muted);font-weight:600;padding-inline:4px;overflow-wrap:anywhere}
@media (max-width:700px){
  .swatches{grid-template-columns:1fr;gap:8px}
  .swatches div{grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:8px 14px 8px 8px}
  .swatches i{grid-row:1/3;width:52px;height:52px;aspect-ratio:auto;margin:0}
  .swatches b{align-self:end;padding:0}.swatches code{align-self:start;padding:0}
}
.howco{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:900px){.howco{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.howco{grid-template-columns:1fr}}
.howco div{padding:20px;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--sol)}
.howco b{font-size:1.02rem}
.howco p{color:var(--muted);font-size:.9rem;margin-top:6px}
.what-cards .card{gap:10px;padding:26px 24px 22px;border-top:4px solid var(--acc,var(--azul))}
.what-cards .card:nth-child(1){--acc:var(--sol)}.what-cards .card:nth-child(2){--acc:var(--azul)}.what-cards .card:nth-child(3){--acc:var(--verde)}
.what-cards .card:nth-child(4){--acc:var(--celeste)}.what-cards .card:nth-child(5){--acc:var(--cacao)}.what-cards .card:nth-child(6){--acc:var(--naranja)}
.what-cards .card h3{min-height:2.4em;display:flex;align-items:flex-end}
.what-cards .card p{flex:1}
.what-cards .card .more-link{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);width:100%}
@media (max-width:820px){.what-cards .card h3{min-height:0}}
.legal-head{padding-bottom:12px}
.legal-body{display:grid;gap:48px;padding-block:24px 88px;max-width:820px;margin-inline:auto}
.legal-body article{display:grid;gap:22px;scroll-margin-top:90px}
.legal-body article > h2{padding-bottom:10px;border-bottom:2px solid var(--line)}
.lg-sec{display:grid;gap:8px}
.lg-sec h3{font-size:1.05rem;font-weight:800}
.lg-sec p{color:var(--muted);font-size:.95rem;line-height:1.65}
.lg-sec b{color:var(--fg)}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;font-weight:600;color:var(--muted);line-height:1.5}
.consent input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--azul);padding:0}
.consent a{color:var(--link);font-weight:700}
footer .legal-links a{margin-left:14px;opacity:.85;text-decoration:underline;text-underline-offset:3px}
.info svg{color:var(--link)}
.info p{color:var(--muted);font-size:.92rem;line-height:1.55}
.cbars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:70px;margin-top:6px}
.cb{display:grid;grid-template-rows:1fr auto;height:100%;gap:3px;text-align:center}
.cb i{align-self:end;height:var(--h);border-radius:3px 3px 0 0;background:var(--celeste)}
.cb small{font-size:.6rem;font-weight:700;color:var(--muted)}
.cb-note{font-size:.72rem;color:var(--muted)}
.dist{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.dist-h{grid-column:1/-1;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dist-row{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:var(--bg)}
.dist-row span:first-child{font-weight:800;font-size:.92rem}
.dist-row span:last-child{font-size:.85rem;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:820px){.dist{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.dist{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s;align-content:start;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);display:grid;gap:8px}
.step::before{content:counter(s);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:var(--azul);color:#fff}
.step p{color:var(--muted);font-size:.95rem}
.list{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.list li{display:flex;gap:12px;align-items:flex-start}
.list li::before{content:"";flex:none;width:9px;height:9px;margin-top:9px;border-radius:50%;background:var(--sol)}

.sector{display:grid;gap:8px;padding:22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.sector .k{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--verde-hondo)}
.allies{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width:820px){#allies-marca{grid-template-columns:1fr 1fr!important}}
@media (max-width:460px){#allies-marca{grid-template-columns:1fr!important}}
@media (max-width:460px){.allies{grid-template-columns:1fr}}
.ally{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface)}
.ally b{font-size:1rem}
.ally span{color:var(--muted);font-size:.85rem}

form{display:grid;gap:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:620px){.f2{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-size:.85rem;font-weight:700}
input,select,textarea{font:inherit;font-size:.95rem;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);width:100%}
textarea{min-height:110px;resize:vertical}
.ok{padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--verde) 20%,transparent);color:var(--fg);font-weight:700}

footer{background:var(--real-hondo);color:#eef3ff;position:relative;overflow:hidden}
footer .wrap{padding-block:32px 24px;display:grid;gap:20px}
.frow{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
.flinks{display:flex;flex-wrap:wrap;gap:4px 22px;justify-content:center}
.flinks a{font-size:.88rem;font-weight:600;min-height:40px;display:inline-flex;align-items:center}
.fsocial{display:flex;gap:8px}
.fsocial a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);opacity:.9}
.fsocial a:hover{border-color:var(--sol);color:var(--sol);opacity:1}
@media (max-width:820px){.frow{flex-direction:column;text-align:center}footer .legal{flex-direction:column;align-items:center;text-align:center;gap:6px}}
footer h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sol);margin-bottom:12px;font-weight:800}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem}
footer a{text-decoration:none;opacity:.85}
footer a:hover{opacity:1}
footer .flogo{width:64px;height:auto;display:block}
footer .legal{font-size:.75rem;opacity:.6;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.proto{background:var(--sol);color:#2b1a00;font-size:.78rem;font-weight:700;text-align:center;padding:6px max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px))}

.view{animation:fade .35s ease}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}.btn,.door,.worlds .ph{transition:none}}

/* === Ajustes de auditoría: tablet y áreas de toque === */
@media (min-width:701px) and (max-width:980px){.products{grid-template-columns:repeat(3,1fr)}}
@media (min-width:561px) and (max-width:860px){
  .panels{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
  .panels .panel-x{grid-column:span 2;min-height:220px}
  .panels .panel-x:nth-child(n+4){grid-column:span 3}
}
@media (max-width:860px){.brand-grid .brand-art{max-width:300px}}
@media (min-width:561px) and (max-width:860px){.brand-grid .brand-art{max-width:320px}}
.back-link,.exp-hero a.back,.more-link{display:inline-flex;align-items:center;min-height:44px}
footer ul a{display:inline-block;padding-block:6px}
.subnav a{min-height:40px;display:inline-flex;align-items:center}
.logo{min-height:44px;display:inline-flex;align-items:center}
.ally a,.allies a{min-height:44px;display:inline-flex;align-items:center}

.badge.sello{white-space:nowrap}
.biz-top{flex-wrap:wrap}
/* Directorio */
.dir-muni{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem}
.dir-muni select{font:inherit;font-weight:600;min-height:44px;padding:8px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);max-width:100%}
@media (max-width:560px){.dir-muni{width:100%}.dir-muni select{flex:1}}
.biz .biz-where{font-size:.8rem;font-weight:700;color:var(--link)}
.dir-empty{grid-column:1/-1;padding:28px;border:1.5px dashed var(--line);border-radius:14px;display:grid;gap:8px;justify-items:start}
.dir-empty b{font-size:1.05rem}

/* Buscador */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bar{display:flex;align-items:center}
nav.main{order:2}
.search-btn{order:3;display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;justify-content:center;margin-left:8px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:700;font-size:.88rem;cursor:pointer}
.search-btn:hover{border-color:var(--azul);color:var(--link)}
.burger{order:4}
@media (max-width:1180px) and (min-width:941px){.search-hint{display:none}.search-btn{padding:0}}
@media (max-width:940px){.search-btn{margin-left:auto;padding:0;border:0;background:none}.search-hint{display:none}.burger{margin-left:4px}}
.search{position:fixed;inset:0;z-index:90;display:grid;justify-items:center;align-items:start;padding:max(8vh,calc(env(safe-area-inset-top,0px) + 12px)) max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
.search[hidden]{display:none}
.search-backdrop{position:absolute;inset:0;background:rgba(10,20,50,.45);backdrop-filter:blur(4px)}
.search-panel{position:relative;width:min(680px,100%);max-height:min(76vh,720px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 80px -30px rgba(10,20,60,.55);overflow:hidden}
.search-field{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line);color:var(--muted)}
.search-field input{flex:1;min-width:0;font:inherit;font-size:1.1rem;font-weight:600;color:var(--fg);background:transparent;border:0;outline:0;min-height:48px}
.search-field input::-webkit-search-cancel-button{display:none}
.search-close{font:inherit;font-size:.8rem;font-weight:700;color:var(--muted);background:var(--chip);border:0;border-radius:999px;padding:0 14px;min-height:36px;cursor:pointer}
.search-body{overflow:auto;padding:10px 10px 16px;display:grid;gap:14px;overscroll-behavior:contain}
.s-group{display:grid;gap:2px}
.s-group h3{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px;margin:0}
.s-item{display:grid;grid-template-columns:12px 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:12px;text-decoration:none;color:var(--fg);min-height:48px}
.s-item i{width:10px;height:10px;border-radius:50%;background:var(--c,var(--azul))}
.s-item b{font-weight:700;font-size:.95rem;display:block}
.s-item small{color:var(--muted);font-size:.8rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-item > span{min-width:0}
.s-item em{font-style:normal;font-size:.75rem;font-weight:700;color:var(--link)}
.s-item mark{background:color-mix(in srgb,var(--sol) 45%,transparent);color:inherit;border-radius:3px}
.s-item:hover,.s-item:focus-visible,.s-item.active{background:var(--chip);outline:0}
.s-empty{padding:14px 10px;display:grid;gap:12px}
.s-empty p{color:var(--muted);margin:0}
.s-sugg{display:flex;flex-wrap:wrap;gap:8px}
.s-sugg button{font:inherit;font-weight:700;font-size:.85rem;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer}
.s-sugg button:hover{border-color:var(--azul)}
@media (max-width:560px){.search{padding-top:calc(env(safe-area-inset-top,0px) + 8px)}.search-panel{max-height:calc(100vh - 24px)}.s-item em{display:none}}

/* Tabla de precios */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.price-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.92rem}
.price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.price-table thead th{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg)}
.price-table tbody th{font-weight:700}
.price-table tbody tr:last-child th,.price-table tbody tr:last-child td{border-bottom:0}
.price-table td span:not(.pill){color:var(--muted);font-size:.85rem}
.pill{display:inline-block;font-size:.75rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--link);white-space:nowrap}
.pill.no{color:var(--muted)}
ul.fine{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--muted);font-size:.88rem}
ul.fine li{padding-left:16px;position:relative}
ul.fine li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--sol)}
.prod-price{font-weight:900;font-size:1.05rem;color:var(--fg)}
.plan{position:relative}
.plan .seal-mini{position:absolute;top:18px;right:18px}
@media (max-width:640px){
  .table-wrap{overflow:visible;border:0;background:none}
  .price-table{min-width:0}
  .price-table thead{display:none}
  .price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td{display:block;width:100%}
  .price-table tr{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
  .price-table th,.price-table td{padding:0;border:0}
  .price-table tbody th{grid-column:1/-1;font-size:1rem}
  .price-table td:last-child{grid-column:1/-1}
  .price-table td:nth-of-type(1)::before{content:attr(data-l);display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .price-table td:nth-of-type(2)::before{content:attr(data-l);display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
}

/* Descubre: cabecera con accesos destacados */
.disc-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px 56px;padding-block:clamp(32px,4.5vw,56px) 28px}
.disc-head h1{font-size:clamp(2.2rem,4.6vw,3.8rem)}
.disc-head .disc-cards{align-self:center}
@media (max-width:900px){.disc-head{grid-template-columns:1fr}}
.disc-cards{display:grid;gap:12px}
.disc-card{display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;padding:18px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s,box-shadow .2s}
.disc-card:hover{border-color:var(--c);transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(20,34,74,.45)}
.disc-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--fg)}
.disc-card b{display:block;font-size:1.02rem;font-weight:800}
.disc-card small{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}
.disc-card i{font-style:normal;font-weight:800;color:var(--muted);transition:transform .2s}
.disc-card:hover i{transform:translateX(3px);color:var(--fg)}
.disc-more{font-size:.88rem;color:var(--muted);margin:0}
.disc-more a{color:var(--link);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
@media (prefers-reduced-motion:reduce){.disc-card,.disc-card i{transition:none}}
@media (max-width:700px){
  .subnav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{white-space:nowrap;flex:none}
  #map-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}
  #map-chips::-webkit-scrollbar{display:none}
  #map-chips .chip{flex:none}
  #shop-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}
  #shop-chips::-webkit-scrollbar{display:none}
  #shop-chips .chip{flex:none}
}

/* Menos botones: enlaces de acción discretos */
.biz-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:800;font-size:.88rem;color:var(--link);text-decoration:none;align-self:flex-start}
.biz-link:hover{text-decoration:underline;text-underline-offset:3px}
.biz-link svg{color:#25a35a}
.card-more{margin-top:auto;padding-top:10px;font-weight:800;font-size:.88rem;color:var(--link)}
.exp-card:hover .card-more{text-decoration:underline;text-underline-offset:3px}
.proto-note{font-size:.85rem;color:var(--muted);background:var(--chip);border-radius:12px;padding:10px 14px;margin:0}
.hero-links{margin:4px 0 0;display:flex;gap:10px;align-items:center;font-size:.92rem}
.hero-links a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.4);min-height:44px;display:inline-flex;align-items:center}
.hero-links span{color:rgba(255,255,255,.5)}
.products.grouped{display:grid;grid-template-columns:1fr;gap:36px}
.shop-row{display:grid;gap:12px;min-width:0}
.shop-row-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.shop-row-h h2{font-size:1.25rem;font-weight:900;margin:0}
.shop-row-h small{font-size:.8rem;font-weight:700;color:var(--muted);margin-left:6px}
.see-all{font:inherit;font-weight:800;font-size:.88rem;color:var(--link);background:none;border:0;cursor:pointer;min-height:44px;white-space:nowrap}
.shop-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.shop-scroll .prod{scroll-snap-align:start}
@media (max-width:980px){.shop-scroll{grid-auto-columns:calc((100% - 32px)/3)}}
@media (max-width:640px){.shop-scroll{grid-auto-columns:62%}}
.place-join{margin:0;font-size:.92rem;color:var(--muted)}
.place-join a{color:var(--link);font-weight:800;text-decoration:none}

/* Paquetes de Planifica */
.route.pkg{grid-template-columns:260px 1fr;align-items:start}
@media (max-width:760px){.route.pkg{grid-template-columns:1fr}}
.route-h{display:grid;gap:6px;align-content:start}
.route-h .route-t{font-weight:800;font-size:1.05rem}
.route-base{font-size:.8rem;font-weight:700;color:var(--link)}
.route-cta{margin-top:10px;justify-self:start}
.route.pkg .days{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.route.pkg .day{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0 12px 18px;position:relative}
.route.pkg .day::before{content:"";position:absolute;left:-7px;top:15px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:2.5px solid var(--sol)}
.route.pkg .day-n{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.route.pkg .stops{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:700;font-size:.95rem;line-height:1.5}
.route.pkg .stop{display:inline-flex;align-items:center;gap:7px;min-height:0;padding:0;border:0;background:none}
.route.pkg .stop i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.stop-sep{color:var(--line);font-weight:900}
.sleep{display:block;margin-top:4px;color:var(--muted);font-size:.8rem}
.route.pkg .route-h{grid-column:1;grid-row:1}
.route.pkg .days{grid-column:2;grid-row:1 / span 2}
.route.pkg .route-cta{grid-column:1;grid-row:2;align-self:start;margin-top:0}
@media (max-width:760px){
  .route.pkg .route-h,.route.pkg .days,.route.pkg .route-cta{grid-column:1;grid-row:auto}
  .route.pkg .route-cta{justify-self:stretch;text-align:center}
  .route.pkg .day{grid-template-columns:46px 1fr}
  .route.pkg .stops{flex-direction:column;align-items:flex-start;gap:4px}
  .stop-sep{display:none}
}
.move{display:block;font-size:.78rem;font-weight:700;color:var(--link);margin-bottom:3px}
.dir-more{grid-column:1/-1;justify-self:center}.days-tog{display:none}
@media (max-width:760px){.days-tog{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:800;font-size:.9rem;color:var(--link);background:none;border:0;padding:6px 0;min-height:40px;cursor:pointer;justify-self:start}.route.pkg:not(.open) .days{display:none}.days-tog::after{content:"▾";transition:transform .2s}.route.pkg.open .days-tog::after{transform:rotate(180deg)}}
.route.pkg .stop-free{color:var(--muted);font-weight:600;font-style:italic}
.best{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--fg);padding-top:10px;border-top:1px solid var(--line);margin-top:4px}
.best svg{flex:none;color:var(--naranja)}
.month-band{margin-top:clamp(28px,4vw,48px)}
.month{display:grid;grid-template-columns:auto 1fr;gap:18px 28px;align-items:center;padding:20px clamp(18px,3vw,28px);border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.month-h{display:grid;gap:2px}
.month-h b{font-size:1.25rem;font-weight:900;text-transform:capitalize}
.month-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.month-item{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line);text-decoration:none;color:var(--fg)}
.month-item:hover{border-color:var(--azul)}
.month-item b{font-size:.95rem}
.month-item small{font-size:.8rem;color:var(--muted);font-weight:600}
.month-item .season{margin-bottom:4px;white-space:normal;max-width:100%}
@media (max-width:700px){.month{grid-template-columns:1fr}}
.add-bag{margin-top:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:inherit;font-weight:800;font-size:.88rem;color:var(--link);background:none;border:0;padding:0;cursor:pointer;align-self:flex-start}
.add-bag.in{color:var(--verde-hondo)}.prod-price.tbc{font-size:.82rem;font-weight:700;color:var(--muted)}
.bag{position:fixed;left:50%;transform:translateX(-50%);width:min(1100px,calc(100% - 32px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:60}body.has-bag .ai-fab{bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + var(--bagh,90px) + 12px)}body.has-bag main{padding-bottom:calc(var(--bagh,90px) + 24px)}@media (max-width:560px){.bag-sum small{display:none}}
.bag[hidden]{display:none}
.bag-bar{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:12px 14px 12px 18px;border-radius:18px;background:var(--fg);color:var(--bg);box-shadow:0 18px 40px -16px rgba(10,20,60,.55)}
.bag-sum{flex:1;min-width:0;font-weight:800;font-size:.95rem}
.bag-sum small{display:block;font-weight:600;font-size:.78rem;opacity:.75}
.bag-toggle{font:inherit;font-weight:700;font-size:.85rem;background:none;border:1px solid color-mix(in srgb,var(--bg) 35%,transparent);color:inherit;border-radius:999px;min-height:40px;padding:0 14px;cursor:pointer}
.bag-list{list-style:none;margin:0 0 8px;padding:8px;display:grid;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:16px;max-height:300px;overflow:auto;box-shadow:0 18px 40px -20px rgba(10,20,60,.4)}
.bag-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 10px;border-radius:10px}
.bag-list li:nth-child(odd){background:var(--bg)}
.bag-list b{font-size:.9rem}
.bag-list small{display:block;color:var(--muted);font-size:.78rem}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-weight:800;cursor:pointer}
.qty span{min-width:18px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.bag-price{font-weight:800;font-variant-numeric:tabular-nums;font-size:.9rem}
@media (max-width:560px){.bag-bar .btn{width:100%}}
.season{display:inline-flex;align-items:center;gap:6px;justify-self:start;align-self:flex-start;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--muted);white-space:nowrap}
.season::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}
.season.on{background:#fff1d6;color:#8a5a00}
.place-title .season{margin-left:4px}
.season-note{font-size:.85rem;color:var(--muted);margin:0}
.season-soon{margin:0;padding:14px 16px;border:1.5px dashed var(--line);border-radius:14px;font-size:.9rem;color:var(--muted)}
.season-pkg .stop-free{font-style:normal;color:var(--fg);font-weight:700}
.season-soon b{color:var(--fg);margin-right:4px}
/* Planes */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
@media (max-width:900px){.plans{grid-template-columns:1fr}}
.plan{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:18px;background:var(--surface);border:1.5px solid var(--line)}
.plan.featured{border-color:var(--azul);box-shadow:0 18px 40px -24px rgba(42,70,166,.55)}
.plan h3{font-size:1.35rem;font-weight:900}
.plan .price{font-size:1.6rem;font-weight:900;color:var(--link)}
.plan .price small{display:block;font-size:.78rem;font-weight:700;color:var(--muted)}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.93rem}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--chip) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230078BC' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.plan .btn{margin-top:auto}
.plan .seal-mini{width:54px;height:54px}
/* Verificar */
.verify{display:grid;gap:16px;max-width:560px}
.verify-form{display:flex;gap:10px;flex-wrap:wrap}
.verify-form input{flex:1;min-width:200px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.verify-res{padding:20px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);display:grid;gap:6px}
.verify-res.ok{border-color:#4FC887}
.verify-res.no{border-color:#e06a6a}
.verify-res > span{font-weight:500;color:var(--muted)}
.verify-res .st{font-weight:900;font-size:1.1rem}
.verify-res.ok .st{color:#1f9a5c}
.verify-res.no .st{color:#c0392b}
/* Planifica */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.info-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.info-grid{grid-template-columns:1fr}}
.info{display:grid;gap:8px;align-content:start;padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.info svg{color:var(--link)}
.info b{font-size:1.02rem}
.info p{color:var(--muted);font-size:.9rem}
.routes{display:grid;gap:16px}
.route{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:22px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
@media (max-width:760px){.route{grid-template-columns:1fr}}
.route-h b{display:block;font-size:2rem;font-weight:900;color:var(--link);line-height:1}
.route-h span{font-weight:800}
.route-h p{color:var(--muted);font-size:.88rem;margin-top:6px}
.days{display:grid;gap:10px}
.day{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start}
.day > span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:8px}
.stops{display:flex;flex-wrap:wrap;gap:8px}
.stop{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);text-decoration:none;color:var(--fg);font-weight:700;font-size:.85rem}
.stop i{width:9px;height:9px;border-radius:50%;background:var(--c)}
.stop:hover{border-color:var(--azul)}
  .sent{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
  .sent[hidden],#form[hidden]{display:none}
  .sent p{margin:0}
  .sent-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--verde) 28%,transparent);font-weight:900;font-size:1.2rem}
  .f-err{margin:0;color:#c0392b;font-weight:700;font-size:.9rem}
  #form [aria-invalid="true"]{border-color:#c0392b}

/* Selector de idioma: un botón que despliega la lista */
.lang{position:relative}
.lang-btn{font:inherit;font-size:.82rem;font-weight:800;display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 10px 0 11px;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--fg);cursor:pointer;white-space:nowrap}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{background:var(--chip)}
.lang-btn svg:first-child{width:20px;height:20px}.lang-btn .caret{transition:transform .2s;opacity:.6}.lang-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(10,20,50,.16);z-index:60}
.lang-menu[hidden]{display:none}
.lang-menu button{font:inherit;font-size:.92rem;font-weight:700;text-align:start;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--fg);cursor:pointer}
.lang-menu button:hover,.lang-menu button:focus-visible{background:var(--chip);outline:0}
.lang-menu button[aria-pressed="true"]{color:var(--link)}
.lang-menu button[aria-pressed="true"]::after{content:"✓";font-weight:900}
@media (max-width:940px){.lang-btn{min-height:44px}.lang-menu{position:static;margin-top:8px;box-shadow:none;min-width:0}}
/* Filtros: botones para categorías, menú desplegable para municipios (mismo patrón en Descubre y Directorio) */
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.filter-bar{min-width:0;max-width:100%}
.dir-filters{display:grid;grid-template-columns:minmax(0,1fr)}
.filter-bar .chips{flex:1 1 auto;min-width:0}
.dd{position:relative;flex:none}
.dd-btn{font:inherit;font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--bg);color:var(--fg);cursor:pointer;white-space:nowrap;max-width:100%}
.dd-btn .dd-k{color:var(--muted);font-weight:600}
.dd-btn.on{border-color:var(--fg)}
.dd-btn:hover,.dd-btn[aria-expanded="true"]{background:var(--chip)}
.dd-btn .caret{flex:none;transition:transform .2s}.dd-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.dd-menu{position:absolute;right:0;top:calc(100% + 8px);width:280px;max-height:min(400px,60vh);overflow:auto;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px rgba(10,20,50,.16);z-index:40}
.dd-menu[hidden]{display:none}
.dd-menu button{font:inherit;font-size:.92rem;font-weight:700;text-align:start;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--fg);cursor:pointer}
.dd-menu button small{font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}
.dd-menu button:hover,.dd-menu button:focus-visible{background:var(--chip);outline:0}
.dd-menu button[aria-checked="true"]{color:var(--link)}
.dd-menu button[aria-checked="true"] small::after{content:" ✓";color:var(--link);font-weight:900}
@media (max-width:760px){
  .filter-bar{flex-direction:column;align-items:stretch;flex-wrap:nowrap}
  .filter-bar .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-right:calc(-1 * max(16px,env(safe-area-inset-right,0px)))}
  .filter-bar .chips::-webkit-scrollbar{display:none}.filter-bar .chips .chip{flex:none}
  .dd-btn{width:100%;justify-content:space-between}.dd-menu{left:0;right:0;width:auto}
}

/* Asistente «Pregúntale a Sucre» */
.ai-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:70;display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:800;font-size:.95rem;min-height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--real-hondo,#2A46A6);color:#fff;box-shadow:0 10px 28px rgba(20,34,74,.28);cursor:pointer}
.ai-fab:hover{filter:brightness(1.08)}
.ai-fab[hidden]{display:none}
.ai-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:80;width:min(400px,calc(100vw - 32px));height:min(640px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(10,20,50,.28);overflow:hidden}
.ai-panel[hidden]{display:none}
.ai-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 18px;background:var(--real-hondo,#2A46A6);color:#fff}
.ai-head b{display:block;font-size:1.02rem}.ai-head small{display:block;font-size:.75rem;opacity:.82;margin-top:2px}
.ai-x{border:0;background:rgba(255,255,255,.14);color:#fff;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none}
.ai-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.ai-msg{max-width:88%;padding:10px 14px;border-radius:16px;font-size:.93rem;line-height:1.5;overflow-wrap:anywhere}
.ai-msg.bot{align-self:flex-start;background:var(--chip);border-bottom-left-radius:6px}
.ai-msg.me{align-self:flex-end;background:var(--fg);color:var(--bg);border-bottom-right-radius:6px;white-space:pre-wrap}
.ai-msg p{margin:0 0 6px}.ai-msg p:last-child{margin:0}
.ai-msg ul,.ai-msg ol{margin:4px 0 6px;padding-inline-start:20px}.ai-msg li{margin:2px 0}
.ai-msg a{color:var(--link);font-weight:700}
.ai-msg.note{align-self:stretch;max-width:none;background:transparent;border:1px dashed var(--line);color:var(--muted);font-size:.85rem;text-align:center}
.ai-typing{display:inline-flex;gap:4px}.ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:aiDot 1s infinite}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,60%,100%{opacity:.25}30%{opacity:1}}
.ai-opts{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:100%}
.ai-opts .chip{font-size:.84rem;padding:8px 12px;background:var(--surface);border-color:var(--link);color:var(--link)}
.ai-opts .chip:hover{background:var(--chip)}
.ai-plans{display:grid;grid-auto-flow:column;grid-auto-columns:76%;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;align-self:stretch;scrollbar-width:thin}
.ai-plan{scroll-snap-align:start;position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line)}
.ai-plan.f{border-color:var(--link);box-shadow:0 10px 24px -18px rgba(42,70,166,.6)}
.ai-plan b{font-size:1rem;font-weight:900}.ai-plan-p{font-weight:900;color:var(--link)}
.ai-plan ul{margin:0;padding-inline-start:18px;font-size:.84rem;color:var(--muted)}
.ai-plan .btn{margin-top:auto;padding:9px 12px;font-size:.84rem}
.ai-plan-tag{align-self:flex-start;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--sol);color:#14224a}
.ai-plans-more{align-self:flex-start;font-size:.84rem;font-weight:700;color:var(--link)}
.ai-sugg{display:flex;gap:8px;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none}.ai-sugg::-webkit-scrollbar{display:none}
.ai-sugg .chip{flex:none;font-size:.82rem;padding:8px 12px}
.ai-sugg[hidden]{display:none}
.ai-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.ai-form textarea{flex:1;font:inherit;font-size:16px;line-height:1.4;resize:none;max-height:120px;min-height:44px;padding:11px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:var(--fg)}
.ai-send{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--sol);color:#14224a;display:grid;place-items:center;cursor:pointer}
.ai-send:disabled{opacity:.5;cursor:default}
.ai-legal{margin:0;padding:0 14px 12px;font-size:.72rem;color:var(--muted);text-align:center}.ai-legal a{color:var(--link)}
@media (max-width:560px){.ai-panel{inset:auto 0 0 0;right:0;bottom:0;width:100%;height:min(88dvh,100dvh);border-radius:20px 20px 0 0}.ai-fab span{display:none}.ai-fab{padding:0;width:56px;justify-content:center}}
@media print{.ai-fab,.ai-panel{display:none!important}}

/* Reseñas aprobadas en las fichas */
.rv{gap:16px}
.rv-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.rv-avg{display:flex;align-items:center;gap:10px;margin-top:6px;color:var(--muted);font-size:.9rem}
.rv-avg b{font-size:1.6rem;font-weight:900;color:var(--fg);line-height:1}
.stars{color:#F5A623;letter-spacing:2px;font-size:1rem;white-space:nowrap}.stars .off{color:var(--line)}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px}
.rv-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.rv-card p{margin:0;font-size:.93rem;line-height:1.55;flex:1;overflow-wrap:anywhere}
.rv-card small{color:var(--muted);font-size:.8rem;font-weight:600}
.rv-empty{padding:18px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);font-size:.92rem}
.rv-more{justify-self:start;font:inherit;font-weight:800;color:var(--link);background:none;border:0;padding:4px 0;cursor:pointer}

/* Volver: un solo clic para regresar a donde estabas */
.backbar{padding-top:clamp(14px,2.4vw,22px);margin-bottom:-8px;display:flex;align-items:center;gap:10px}.backbar[hidden]{display:none}.share-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--link);font:inherit;font-weight:800;font-size:.86rem;cursor:pointer;flex:none}.share-btn:hover{border-color:var(--link)}.share-ok{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(max(16px,env(safe-area-inset-bottom,0px)) + 72px);z-index:80;background:var(--fg);color:var(--bg);font-size:.88rem;font-weight:800;padding:10px 18px;border-radius:999px;box-shadow:0 12px 30px -12px rgba(10,20,60,.5)}.share-ok[hidden]{display:none}@media (max-width:560px){.share-btn span{display:none}.share-btn{width:44px;padding:0;justify-content:center}}.back-link[hidden]{display:none!important}
.backbar .back-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px 0 10px;border-radius:999px;background:var(--chip);color:var(--fg);font-weight:800;font-size:.86rem;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.backbar .back-link:hover{background:var(--line)}
.backbar .back-link svg{flex:none}
body.has-back .page-head{padding-top:clamp(18px,3vw,36px)}
body.has-back .exp-hero,body.has-back .sello-hero{margin-top:14px}
/* Contenido propio de Historia y Cultura dentro de la experiencia */
.exp-intro{display:grid;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.exp-intro .split{gap:clamp(20px,4vw,48px)}
.exp-intro .ph[style*="4/5"]{aspect-ratio:4/3!important}
/* Este mes en Sucre: franja compacta en una sola fila */
.month{grid-template-columns:1fr!important;gap:12px!important;padding:16px clamp(16px,2.6vw,24px)!important}
.month-h{display:flex!important;align-items:baseline;gap:10px;flex-wrap:wrap}
.month-h b{font-size:1.05rem!important}
.month-list{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);grid-template-columns:none!important;overflow-x:auto;scrollbar-width:none;gap:10px;padding-bottom:2px}
.month-list::-webkit-scrollbar{display:none}
.month-item{padding:10px 12px!important;align-content:start;gap:1px!important}
.month-item .season{font-size:.66rem;padding:3px 8px;margin-bottom:4px!important;justify-self:start}
.month-item b{font-size:.9rem!important;line-height:1.3}
.month-item small{font-size:.76rem!important}
@media (max-width:700px){.month-list{grid-auto-columns:minmax(200px,72%);margin-right:calc(-1 * clamp(16px,2.6vw,24px))}}

/* Historia: línea de tiempo compacta en una fila */
.intro-h{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.tl-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.tl-item{height:100%;display:flex;flex-direction:column;gap:4px;padding:14px 14px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-top:3px solid #b9875a;text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.tl-item:hover{border-color:#b9875a;transform:translateY(-2px)}
.tl-item .yr{font-size:1.35rem;font-weight:900;color:#b9875a;line-height:1;letter-spacing:-.02em}
.tl-item b{font-size:.92rem;line-height:1.25}
.tl-item small{font-size:.8rem;line-height:1.45;color:var(--muted);flex:1}
.tl-go{font-size:.76rem;font-weight:800;color:var(--link);margin-top:2px}
@media (max-width:1100px){.tl-row{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(200px,38%);overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.tl-row::-webkit-scrollbar{display:none}}
@media (max-width:560px){.tl-row{grid-auto-columns:minmax(200px,74%)}}
.src-note{font-size:.76rem!important}
.voice p{flex:1}
/* Descubre: lugares bajo el mapa, sincronizados con los filtros */
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.pl-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.pl-card:hover{border-color:var(--c);transform:translateY(-2px)}
.pl-card .ph{aspect-ratio:16/9;border-radius:0}
.pl-b{display:grid;gap:3px;padding:12px 14px 14px;border-top:3px solid var(--c)}
.pl-cat{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.badge[style]{filter:brightness(.82)}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pl-cat,:root:not([data-theme="light"]) .badge[style]{filter:brightness(1.75)}}:root[data-theme="dark"] .pl-cat,:root[data-theme="dark"] .badge[style]{filter:brightness(1.75)}
.pl-b b{font-size:.95rem;line-height:1.3}.pl-b small{font-size:.8rem;color:var(--muted)}
/* Este mes en Sucre: color por tipo de experiencia */
.month-item{background:var(--surface)!important;border-left:4px solid var(--c,var(--azul))!important}
.month-item:hover{border-color:var(--c,var(--azul))!important}
.month-item .season{background:color-mix(in srgb,var(--c,var(--azul)) 14%,transparent)!important;color:var(--fg)!important}
.month-item .season.on{background:#FFBA4D!important;color:#3d2a00!important}
.month-item .season.soon{background:color-mix(in srgb,#FF264A 14%,transparent)!important}
.month-h .eyebrow{color:var(--link)}

/* Antonio José de Sucre destacado en Historia */
.hero-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border-radius:20px;overflow:hidden;background:var(--real-hondo,#2A46A6);color:#fff}
.hero-photo{border-radius:0;min-height:100%;aspect-ratio:auto}
.hero-body{display:grid;gap:12px;align-content:start;padding:clamp(22px,3.4vw,36px)}
.hero-body .eyebrow{color:var(--sol)}
.hero-body h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:900;letter-spacing:-.02em;line-height:1.1}
.hero-lead{color:rgba(255,255,255,.86);font-size:.98rem}
.hero-facts{list-style:none;margin:2px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hero-facts li{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.hero-facts b{font-size:1.15rem;font-weight:900;color:var(--sol);line-height:1}
.hero-facts span{font-size:.82rem;color:rgba(255,255,255,.88);line-height:1.35}
.hero-body blockquote{margin:0;padding-left:12px;border-left:3px solid var(--sol);font-size:.85rem;font-style:italic;color:rgba(255,255,255,.8)}
.hero-body .btn{justify-self:start}
@media (max-width:760px){.hero-card{grid-template-columns:1fr}.hero-photo{aspect-ratio:16/9;min-height:0}}

/* ===== Paleta aplicada en todo el portal =====
   Regla para no cansar la vista: el color va en bordes, números, íconos y etiquetas;
   los fondos se quedan claros (tintes de 10-14 %) y el texto largo siempre en azul oscuro. */
:root{--c1:#0078BC;--c1i:#0078BC;--c2:#009F86;--c2i:#00806b;--c3:#FFBA4D;--c3i:#9a6100;--c4:#FF264A;--c4i:#c8102e;--c5:#42ACFF;--c5i:#0a6fbf;--c6:#FF894D;--c6i:#b84a12}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--c1i:#42ACFF;--c3i:#FFBA4D;--c4i:#ff6b83;--c2i:#4FC887;--c5i:#7cc4ff;--c6i:#ffa577}}
:root[data-theme="dark"]{--c1i:#42ACFF;--c3i:#FFBA4D;--c4i:#ff6b83;--c2i:#4FC887;--c5i:#7cc4ff;--c6i:#ffa577}
.pal>*:nth-child(6n+1),.steps>.step:nth-child(6n+1),.isecs>.isec:nth-child(6n+1),.inv-cards>.card:nth-child(6n+1),.info-grid>.info:nth-child(6n+1),.dist>.dist-row:nth-child(6n+1),.facts>.fact-card:nth-child(6n+1),.howco>div:nth-child(6n+1),.allies>.ally:nth-child(6n+1),.routes>.route:nth-child(6n+1),.shop-row:nth-child(6n+1),.list>li:nth-child(6n+1){--acc:var(--c1);--ink:var(--c1i)}
.pal>*:nth-child(6n+2),.steps>.step:nth-child(6n+2),.isecs>.isec:nth-child(6n+2),.inv-cards>.card:nth-child(6n+2),.info-grid>.info:nth-child(6n+2),.dist>.dist-row:nth-child(6n+2),.facts>.fact-card:nth-child(6n+2),.howco>div:nth-child(6n+2),.allies>.ally:nth-child(6n+2),.routes>.route:nth-child(6n+2),.shop-row:nth-child(6n+2),.list>li:nth-child(6n+2){--acc:var(--c2);--ink:var(--c2i)}
.pal>*:nth-child(6n+3),.steps>.step:nth-child(6n+3),.isecs>.isec:nth-child(6n+3),.inv-cards>.card:nth-child(6n+3),.info-grid>.info:nth-child(6n+3),.dist>.dist-row:nth-child(6n+3),.facts>.fact-card:nth-child(6n+3),.howco>div:nth-child(6n+3),.allies>.ally:nth-child(6n+3),.routes>.route:nth-child(6n+3),.shop-row:nth-child(6n+3),.list>li:nth-child(6n+3){--acc:var(--c3);--ink:var(--c3i)}
.pal>*:nth-child(6n+4),.steps>.step:nth-child(6n+4),.isecs>.isec:nth-child(6n+4),.inv-cards>.card:nth-child(6n+4),.info-grid>.info:nth-child(6n+4),.dist>.dist-row:nth-child(6n+4),.facts>.fact-card:nth-child(6n+4),.howco>div:nth-child(6n+4),.allies>.ally:nth-child(6n+4),.routes>.route:nth-child(6n+4),.shop-row:nth-child(6n+4),.list>li:nth-child(6n+4){--acc:var(--c4);--ink:var(--c4i)}
.pal>*:nth-child(6n+5),.steps>.step:nth-child(6n+5),.isecs>.isec:nth-child(6n+5),.inv-cards>.card:nth-child(6n+5),.info-grid>.info:nth-child(6n+5),.dist>.dist-row:nth-child(6n+5),.facts>.fact-card:nth-child(6n+5),.howco>div:nth-child(6n+5),.allies>.ally:nth-child(6n+5),.routes>.route:nth-child(6n+5),.shop-row:nth-child(6n+5),.list>li:nth-child(6n+5){--acc:var(--c5);--ink:var(--c5i)}
.pal>*:nth-child(6n+6),.steps>.step:nth-child(6n+6),.isecs>.isec:nth-child(6n+6),.inv-cards>.card:nth-child(6n+6),.info-grid>.info:nth-child(6n+6),.dist>.dist-row:nth-child(6n+6),.facts>.fact-card:nth-child(6n+6),.howco>div:nth-child(6n+6),.allies>.ally:nth-child(6n+6),.routes>.route:nth-child(6n+6),.shop-row:nth-child(6n+6),.list>li:nth-child(6n+6){--acc:var(--c6);--ink:var(--c6i)}
/* pasos numerados */
.step{border-top:4px solid var(--acc)}
.step::before{background:var(--acc)!important;color:#fff}
.steps>.step:nth-child(6n+3)::before{color:#3d2a00}
/* sectores de inversión e instituciones */
.isec{border-top-color:var(--acc)!important}.isec .k{color:var(--ink)!important}
/* antes de viajar */
/* por qué Sucre */
.fact-card{border-top:3px solid var(--acc)}
.fact-card strong{color:var(--ink)!important}
.fact-card:hover{border-color:var(--acc)!important}
/* cómo funciona, aliados, paquetes */
.route{border-left:4px solid var(--acc)}
.route-h b{color:var(--ink)!important}
/* listas con viñetas */
/* tienda: cada fila con su color */
.shop-row-h h2{display:flex;align-items:center;gap:10px}
/* planes */
.founders{margin:0;padding:14px 18px;border-radius:14px;background:var(--chip);font-size:.95rem;line-height:1.5}
.founders b{color:var(--link);margin-right:6px}
.plan.featured .eyebrow{color:var(--link)}
.plan.featured{transform:translateY(-8px)}
@media (max-width:900px){.plan.featured{transform:none;order:-1}}
.free-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border:1.5px dashed var(--line);border-radius:16px;font-size:.95rem}
.free-row span{color:var(--muted)}
.cmp-table td,.cmp-table thead th{text-align:center}
.cmp-table .hl{background:rgba(0,120,188,.06)}
.cmp-table thead th.hl{color:var(--link)}
@media (max-width:640px){
  .cmp-table tr{grid-template-columns:repeat(3,1fr)!important}
  .cmp-table td,.cmp-table td:last-child{grid-column:auto!important;text-align:left}
  .cmp-table td::before{content:attr(data-l);display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .cmp-table .hl{background:none}
}
.svc-table td{text-align:right;white-space:nowrap}.svc-table thead th:not(:first-child){text-align:right}
.svc-table .hl{background:rgba(0,120,188,.06)}
@media (max-width:640px){.svc-table td{text-align:left;white-space:normal}.svc-table .hl{background:none}}
.conds{border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;background:var(--surface)}
.conds summary{cursor:pointer;font-weight:800;color:var(--link);list-style:none;display:flex;justify-content:space-between;align-items:center}
.conds summary::-webkit-details-marker{display:none}
.conds summary::after{content:"+";font-size:1.2rem;font-weight:700}.conds[open] summary::after{content:"–"}
.conds .fine{margin-top:12px}
.proto-foot{opacity:.75}
.mk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:820px){.mk-stats{grid-template-columns:1fr 1fr}}
.mk-stats>div{padding:18px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);display:grid;gap:4px}
.mk-stats b{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:var(--link);letter-spacing:-.02em}.mk-stats span{color:var(--muted);font-size:.9rem}
.pf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
@media (max-width:1000px){.pf-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.pf-grid{grid-template-columns:repeat(2,1fr)}}
.pf-tile{margin:0;aspect-ratio:9/16;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--c),#14224a);display:grid;place-items:center}
.pf-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px;color:#fff;background:linear-gradient(0deg,rgba(10,18,40,.75),transparent);display:grid;gap:2px}
.pf-tile small{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}.pf-tile b{font-size:.92rem;line-height:1.25}
.rv-reply{margin-top:4px;padding:10px 12px;border-left:3px solid var(--sol);border-radius:0 10px 10px 0;background:var(--bg);display:grid;gap:2px}
.rv-reply b{font-size:.78rem;color:var(--link)}.rv-reply p{margin:0;font-size:.9rem}
.pn-reply-form{display:grid;gap:8px}.pn-reply-form textarea{font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);resize:vertical}
.pn-reply-act{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pn-reply-act .pn-more{margin:0}
.pn-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.hes-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:center}
.hes-head-t{display:grid;gap:14px}
.hes-big-seal{width:clamp(150px,18vw,210px);height:auto;filter:drop-shadow(0 18px 30px rgba(20,34,74,.25))}
@media (max-width:760px){.hes-head{grid-template-columns:1fr}.hes-seal-wrap{order:-1}.hes-big-seal{width:110px}}
.hes-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:10px 28px;margin-top:4px}
@media (max-width:520px){.hes-stats{gap:8px 18px}.hes-stats b{font-size:1.5rem!important}.hes-stats span{font-size:.74rem!important}}
.hes-stats div{display:grid}.hes-stats b{font-size:1.9rem;font-weight:900;color:var(--link);line-height:1}.hes-stats span{font-size:.82rem;color:var(--muted);font-weight:700}
.hes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media (max-width:1100px){.hes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.hes-grid{gap:10px}.hes-b p{display:none}.hes-b b{font-size:.95rem}.hes-b .hes-ig{display:none}.hes-b{padding-bottom:14px}.hes-tag{font-size:0!important;padding:4px!important}.hes-big-seal{width:110px!important;height:110px!important}}@media (max-width:330px){.hes-grid{grid-template-columns:1fr}}
.hes-card{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .2s ease,box-shadow .2s ease}
.hes-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(20,34,74,.45)}
.hes-ph{position:relative;display:block;padding:0;border:0;background:#fff;aspect-ratio:16/9;overflow:hidden}
.hes-ph img{width:100%;height:100%;object-fit:cover;object-position:center 70%;display:block;transition:transform .4s ease}
.hes-ph img.hes-prod{object-position:center 30%}
.hes-card:hover .hes-ph img{transform:scale(1.05)}
.hes-tag{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:#2A46A6;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.04em;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.hes-tag-seal{width:22px;height:22px}
.hes-b{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.hes-sec{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--link)}
.hes-b b{font-size:1.05rem;line-height:1.2}.hes-b p{margin:0;font-size:.9rem;color:var(--muted)}.hes-b small{font-size:.8rem;color:var(--fg);font-weight:600}
.hes-act{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;border-top:1px solid var(--line)}
.hes-open{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:800;font-size:.88rem;color:var(--link)}
.hes-ig{display:inline-flex;align-items:center;gap:5px;font-size:.84rem;font-weight:700;color:var(--muted);text-decoration:none;overflow-wrap:anywhere}.hes-ig:hover{color:var(--link)}
.hes-buy{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:20px 32px;align-items:center;padding:clamp(22px,3vw,32px);border-radius:20px;background:var(--real-hondo);color:#fff}
.hes-buy p{margin:6px 0 0;color:rgba(255,255,255,.85)}.hes-buy .h3x{color:#fff}
.hes-buy-a{display:grid;gap:8px}
@media (max-width:820px){.hes-buy{grid-template-columns:1fr}}
.hes-mini-seal svg{width:58px;height:58px;flex:none;display:block}
.hes-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(20,34,74,.6);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.hes-nav.prev{left:8px}.hes-nav.next{right:8px}
.app-install{font:inherit;cursor:pointer}
footer .app-install{margin-left:14px;background:none;border:0;color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:inherit}
.app-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border-radius:var(--r);background:var(--real-hondo);color:#fff}
.app-card div{display:grid;gap:4px;max-width:60ch}.app-card b{font-size:1.05rem}.app-card span{font-size:.92rem;color:rgba(255,255,255,.85)}
.ios-tip{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;width:min(420px,calc(100vw - 32px));padding:16px 18px;border-radius:16px;background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:0 20px 50px rgba(10,20,50,.3);display:grid;gap:8px;font-size:.92rem}
.ios-tip button{justify-self:end;font:inherit;font-weight:800;color:var(--link);background:none;border:0;cursor:pointer}
.pn-kpi-btn{font:inherit;text-align:left;cursor:pointer;color:inherit;transition:border-color .2s ease,transform .2s ease}
.pn-kpi-btn:not([disabled]):hover{border-color:var(--link);transform:translateY(-2px)}
.pn-kpi-a{text-decoration:none;display:grid;gap:4px}
.pn-kpi-btn u{color:var(--link);font-weight:800;text-decoration:none}
.pn-more{align-self:flex-start;margin-top:auto;font:inherit;font-weight:800;font-size:.9rem;color:var(--link);background:none;border:0;padding:6px 0;cursor:pointer}
.pn-warn{margin:0;padding:10px 12px;border-radius:12px;background:#fff4dc;color:#7a4d00;font-size:.88rem;font-weight:600}
.pn-table{width:100%;border-collapse:collapse;font-size:.9rem}
.pn-table th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1.5px solid var(--line)}
.pn-table td{padding:9px 8px;border-bottom:1px solid var(--line)}.pn-table .n{text-align:right;font-variant-numeric:tabular-nums}
.pn-table tfoot td{font-weight:800;border-bottom:0}
@media (max-width:560px){.pn-table th:nth-child(3),.pn-table td:nth-child(3){display:none}}
.pn-rv-sum{display:grid;grid-template-columns:auto 1fr;gap:16px 24px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--bg)}
@media (max-width:520px){.pn-rv-sum{grid-template-columns:1fr}}
.pn-rv-avg{display:grid;justify-items:start;gap:2px}.pn-rv-avg b{font-size:2.2rem;font-weight:900;line-height:1}.pn-rv-avg span{font-size:.82rem;color:var(--muted)}
.pn-rv-avg .stars{color:#F5A623}.pn-rv-avg .stars .off{color:var(--line)}
.pn-dist{display:grid;gap:5px}.pn-dist div{display:grid;grid-template-columns:34px 1fr 24px;gap:8px;align-items:center;font-size:.8rem;color:var(--muted)}
.pn-dist i{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.pn-dist i b{display:block;height:100%;background:#F5A623;border-radius:99px}
.pn-dist small{text-align:right;font-variant-numeric:tabular-nums}
.biz.flash{animation:bizflash 2.4s ease}@keyframes bizflash{0%,60%{box-shadow:0 0 0 4px var(--sol)}100%{box-shadow:0 0 0 0 transparent}}
#pn-print{display:none}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  body>*:not(#pn-print){display:none!important}
  #pn-print{display:block!important}
}
.plq{page:placa;width:148mm;height:210mm;overflow:hidden;position:relative;box-sizing:border-box;padding:16mm 14mm 0;background:#2A46A6;color:#fff;font-family:"Montserrat",Arial,sans-serif;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3.5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.plq *{box-sizing:border-box}
.plq-rings{position:absolute;right:-40mm;top:-40mm;width:120mm;height:120mm;border-radius:50%;box-shadow:0 0 0 1.5mm rgba(255,255,255,.06),0 0 0 9mm rgba(255,255,255,0),0 0 0 10.5mm rgba(255,255,255,.06),0 0 0 18mm rgba(255,255,255,0),0 0 0 19.5mm rgba(255,255,255,.05)}
.plq-seal{position:relative;width:30mm;height:30mm;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 30%,#f8e7b4 0%,#e6c677 32%,#cfa552 62%,#b88c3d 100%);box-shadow:inset 0 0 0 1.2mm rgba(255,255,255,.18),inset 0 0 0 1.5mm rgba(120,80,20,.25)}
.plq-seal img{width:13mm;height:auto}
.plq-k{position:relative;font-size:9pt;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#FFBA4D}
.plq h1{position:relative;margin:0;font-size:22pt;font-weight:900;line-height:1.08;letter-spacing:-.02em;max-width:118mm}
.plq-sub{position:relative;margin:0;font-size:9.5pt;color:#DCE3F7}
.plq-qr{position:relative;margin-top:2mm;padding:5mm 5mm 3mm;border-radius:5mm;background:#fff;color:#14224A;display:grid;justify-items:center;gap:2mm}
.plq-qr svg{width:46mm;height:46mm;display:block}
.plq-qr span{font-size:8.5pt;font-weight:800;letter-spacing:.04em}
.plq-code{position:relative;margin:0;font-size:9.5pt;color:#DCE3F7}.plq-code b{color:#fff;letter-spacing:.06em}
.plq-foot{position:relative;margin-top:auto;width:calc(100% + 28mm);padding:5mm 14mm;background:#fff;display:flex;justify-content:space-between;align-items:center}
.plq-foot img{height:11mm;width:auto}.plq-foot span{font-size:9pt;font-weight:800;color:#2A46A6}
.plq-stripe{width:calc(100% + 28mm);height:4mm;background:linear-gradient(90deg,#0078BC 0 25%,#4FC887 25% 50%,#FFBA4D 50% 75%,#BE3658 75% 100%)}
@page placa{size:148mm 210mm;margin:0}
.rp{page:reporte}@page reporte{size:A4;margin:0}
.rp{width:210mm;height:297mm;overflow:hidden;padding:14mm 14mm 0;box-sizing:border-box;font-family:"Montserrat",Arial,sans-serif;color:#14224A;background:#FDFDFB;display:flex;flex-direction:column;gap:5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rp *{box-sizing:border-box}
.rp-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:4mm;border-bottom:2px solid #DBE4F1}
.rp-top img{height:13mm;width:auto}.rp-top div{text-align:right;display:grid}
.rp-top b{font-size:13pt;font-weight:800;color:#2A46A6}
.rp-k{font-size:7.5pt;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#0078BC}
.rp-hero{display:grid;gap:2mm;padding:6mm 7mm;border-radius:4mm;background:#2A46A6;color:#fff}
.rp-hero .rp-k{color:#FFBA4D}.rp-hero h1{margin:0;font-size:22pt;font-weight:900;letter-spacing:-.02em;line-height:1.05}
.rp-seal{display:inline-flex;align-items:center;gap:2mm;font-size:8.5pt;font-weight:700;color:#DCE3F7}.rp-seal img{width:6mm;height:auto}
.rp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm}
.rp-kpis div{display:grid;gap:1mm;padding:4mm;border-radius:3mm;background:#F2F6FC;break-inside:avoid}
.rp-kpis span{font-size:7.5pt;font-weight:700;color:#56658A}.rp-kpis b{font-size:19pt;font-weight:900;color:#2A46A6;line-height:1}.rp-kpis small{font-size:7pt;color:#1f8a52;font-weight:700}
.rp-row{display:grid;grid-template-columns:1.4fr 1fr;gap:3mm}
.rp-card{padding:4mm 5mm;border:1.5px solid #DBE4F1;border-radius:3mm;background:#fff;break-inside:avoid}
.rp-card h2{margin:0 0 3mm;font-size:10pt;font-weight:800;color:#14224A}
.rp-bars{display:grid;grid-template-columns:repeat(6,1fr);gap:2.5mm;height:34mm;align-items:end}
.rp-bars div{display:grid;grid-template-rows:1fr auto auto;height:100%;justify-items:center;gap:.6mm}
.rp-bars i{align-self:end;width:100%;border-radius:1.5mm 1.5mm .5mm .5mm;background:#0078BC}
.rp-bars b{font-size:7.5pt}.rp-bars small{font-size:7pt;color:#56658A}
.rp-card ul{list-style:none;margin:0;padding:0;display:grid;gap:2mm}
.rp-card li{display:flex;justify-content:space-between;gap:3mm;font-size:8.5pt;padding-bottom:2mm;border-bottom:1px solid #EEF2F8}.rp-card li:last-child{border:0;padding:0}
.rp-card li b.rp-ok{color:#1f8a52}
.rp-rvs{display:grid;grid-template-columns:1fr 1fr;gap:3mm}
.rp-rvs div{display:grid;gap:1mm;padding:3mm;border-radius:2.5mm;background:#F2F6FC}
.rp-st{color:#F5A623;font-size:9pt;letter-spacing:.05em}.rp-st i{color:#DBE4F1;font-style:normal}
.rp-rvs p{margin:0;font-size:8.5pt;line-height:1.4}.rp-rvs small{font-size:7pt;color:#56658A}
.rp table{width:100%;border-collapse:collapse;font-size:8.5pt}
.rp th{text-align:left;font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:#56658A;padding:1.5mm 2mm;border-bottom:1.5px solid #DBE4F1}
.rp td{padding:2mm;border-bottom:1px solid #EEF2F8}.rp .n{text-align:right}.rp tfoot td{font-weight:800;border:0}
.rp-muted{margin:0;font-size:8.5pt;color:#56658A}
.rp-foot{margin-top:auto;background:none;color:inherit;margin-left:-14mm;margin-right:-14mm;padding:0 14mm 6mm;display:grid;gap:1.2mm}
.rp-foot p{margin:0;font-size:7.5pt;color:#56658A}.rp-foot b{color:#2A46A6}
.rp-stripe{height:3mm;margin:0 -14mm 3mm;background:linear-gradient(90deg,#0078BC 0 25%,#4FC887 25% 50%,#FFBA4D 50% 75%,#BE3658 75% 100%)}
.pn-gate{display:grid;place-items:center}
#eq-login[hidden],#eq-dash[hidden],#eq-lead[hidden],#pn-login[hidden],#pn-real[hidden],#pn-demo[hidden],.pn-form[hidden],.pn-cam[hidden],#pn-lead[hidden]{display:none!important}
.pn-seal div b{display:block}
.pn-login{width:100%;max-width:560px;display:grid;gap:16px;padding:clamp(20px,3vw,28px);border-radius:20px;background:var(--surface);border:1.5px solid var(--line)}
.pn-ways{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.pn-ways{grid-template-columns:1fr}}
.pn-way{font:inherit;display:grid;justify-items:start;gap:6px;text-align:left;padding:18px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;transition:border-color .2s ease}
.pn-way svg{color:var(--link)}.pn-way b{font-size:1rem}.pn-way small{color:var(--muted);font-size:.82rem}
.pn-way:hover,.pn-way[aria-pressed="true"]{border-color:var(--link)}
.pn-cam{position:relative;border-radius:16px;overflow:hidden;background:#0b1430;aspect-ratio:4/3}
.pn-cam video{width:100%;height:100%;object-fit:cover;display:block}
.pn-cam-frame{position:absolute;inset:18% 24%;border:3px solid var(--sol);border-radius:16px;box-shadow:0 0 0 999px rgba(11,20,48,.35)}
.pn-cam-x{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);color:#fff;background:rgba(11,20,48,.5)}
.pn-form{display:grid;gap:12px}
.pn-form label:not(.consent){display:grid;gap:6px;font-weight:700;font-size:.9rem}
.pn-form input:not([type=checkbox]){font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);letter-spacing:.06em}
.pn-form .btn{justify-self:stretch}
.pn-err{margin:0;min-height:1.2em;font-size:.88rem;font-weight:700;color:var(--cacao)}
.pn-help{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;font-size:.85rem;color:var(--muted)}
.pn-help a,.pn-link{color:var(--link);font-weight:700;text-decoration:none;cursor:pointer;background:none;border:0;font:inherit;font-weight:700;padding:8px 0}
.pn-demo-link{flex-basis:100%;text-align:center;margin-top:4px}
.pn-tools{display:flex;align-items:center;gap:10px}
.pn-out{font:inherit;font-size:.85rem;font-weight:800;color:#fff;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.4);border-radius:999px;padding:6px 14px;cursor:pointer;opacity:1!important}
.pn-soon{color:var(--muted);font-size:.9rem}
.pn-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-radius:16px;background:var(--real-hondo,#2A46A6);color:#fff}
.pn-head b{display:block;font-size:1.15rem}.pn-head span{font-size:.88rem;opacity:.85}
.pn-demo{font-size:.72rem!important;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--sol);color:#14224a;padding:5px 10px;border-radius:999px;opacity:1!important}
.pn-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:820px){.pn-kpis{grid-template-columns:1fr 1fr}}
.pn-kpis>div,.pn-kpis>.pn-kpi-btn{padding:16px 18px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);display:grid;gap:4px}
.pn-kpis span{font-size:.82rem;color:var(--muted);font-weight:700}.pn-kpis b{font-size:1.9rem;font-weight:900;letter-spacing:-.02em}.pn-kpis small{font-size:.8rem;color:var(--muted)}
.pn-kpis .up{color:#1f8a52;font-weight:700}
.pn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.pn-grid{grid-template-columns:1fr}}
.pn-card{padding:18px 20px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);display:flex;flex-direction:column;gap:12px}
.pn-card h3{font-size:1rem;font-weight:900;margin:0}.pn-card .btn{margin-top:auto;align-self:flex-start}
.pn-chart{grid-column:span 2}@media (max-width:900px){.pn-chart{grid-column:auto}}
.bars{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;flex:1;min-height:200px}
.bars>div{display:grid;grid-template-rows:1fr auto auto;justify-items:center;gap:4px}
.bars i{display:block;width:100%;height:var(--h);align-self:end;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#42ACFF,var(--link))}
.bars b{font-size:.78rem}.bars small{font-size:.74rem;color:var(--muted)}
.pn-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pn-list li{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;border-bottom:1px solid var(--line);padding-bottom:8px}
.pn-list li:last-child{border:0;padding:0}
.pn-ok{color:#1f8a52;font-weight:800}
.pn-seal{display:flex;gap:12px;align-items:center}.pn-seal div{display:grid;gap:2px;font-size:.88rem;color:var(--muted)}.pn-seal .seal-mini{position:static;width:54px;height:54px}
.pn-seal .pn-code{color:var(--fg);font-weight:800}.pn-seal .pn-exp{font-size:calc(.88rem - 2pt)}
.pn-rv{display:grid;gap:4px;border-bottom:1px solid var(--line);padding-bottom:10px}.pn-rv:last-child{border:0;padding:0}
.pn-rv p{margin:0;font-size:.9rem}.pn-rv small{color:var(--muted);font-size:.78rem}
.locbar{display:block}
.loc-seg button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem}.loc-seg button svg{color:var(--link)}.loc-seg button[aria-pressed="true"] svg{color:#fff}.loc-chip{gap:8px}.loc-chip svg{flex:none}.locbar.compact{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.locbar.compact .loc-msg{margin:0}
.loc-ask{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.loc-ask .btn{display:inline-flex;gap:8px;align-items:center;color:var(--link)}
.loc-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.loc-pick select{font:inherit;font-size:16px;padding:9px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg)}
.loc-msg{margin:6px 0 0;font-size:.8rem;color:var(--muted)}
.loc-set{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 14px;border-radius:16px;background:var(--chip);color:var(--fg);font-size:.92rem}
.loc-set svg{color:var(--link)}.loc-change{border:0;background:none;color:var(--link);font:inherit;font-weight:800;cursor:pointer;padding:0 0 0 4px}
.pl-dist{color:var(--link);font-weight:700}.pl-near{font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:0}
.trip{display:grid;gap:18px;padding:clamp(18px,3vw,28px);border-radius:var(--r);background:var(--surface);border:1.5px solid var(--line)}
.trip-steps{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
@media (max-width:820px){.trip-steps{grid-template-columns:1fr}}
.trip-step{display:grid;gap:10px;align-content:start}.trip-step>b{font-size:1rem}
.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{font:inherit;font-weight:800;padding:11px 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--link);border-color:var(--link);color:#fff}
.trip-res{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.trip-h{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--link)}
.trip-arr{margin:0;padding:12px 14px;border-radius:12px;background:var(--chip);font-size:.94rem}
.trip-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trip-cards.one{grid-template-columns:1fr}
@media (max-width:820px){.trip-cards{grid-template-columns:1fr}}
.trip-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);text-decoration:none}
.trip-card.link:hover{border-color:var(--link)}.trip-card.hl{border-color:var(--sol);background:#fff8ea}
.trip-card p{margin:0;font-size:.9rem;color:var(--muted)}.trip-card .btn{margin-top:auto;align-self:flex-start}
.trip-card .biz-link{font-size:.9rem;margin-top:0;min-height:36px}.trip-card .proto-note{margin:0}
.trip-tips{margin:0;padding-inline-start:20px;font-size:.9rem;color:var(--muted);display:grid;gap:4px}
.plans>.plan:nth-child(1){border-top:4px solid var(--c2)}
.plans>.plan.featured{border-top:4px solid var(--c1)}
.plans>.plan:nth-child(3){border-top:4px solid var(--c3)}
.plans>.plan:nth-child(1) .price{color:var(--c2i)}
.plans>.plan:nth-child(3) .price{color:var(--c3i)}
.facts>.fact-card:nth-child(2){--acc:var(--c4);--ink:var(--c4i)}
.facts>.fact-card:nth-child(4){--acc:var(--c2);--ink:var(--c2i)}
.info svg{width:40px;height:40px;padding:8px;border-radius:12px;background:var(--chip)}
/* Reseñas en tarjetas del directorio */
.biz-rv{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;min-height:0}
.biz-rv:empty{display:none}
.biz-stars{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.85rem;background:none;border:0;padding:4px 0;cursor:pointer;color:var(--fg)}
.biz-stars b{font-weight:900}.biz-stars span{color:var(--muted);font-weight:600}
.biz-stars .stars{font-size:.85rem;letter-spacing:1px}
.biz-review{font:inherit;font-size:.82rem;font-weight:800;color:var(--link);background:none;border:0;padding:4px 0;min-height:40px;cursor:pointer}
.rv-dlg{width:min(640px,calc(100vw - 32px));max-height:min(80vh,720px);border:0;border-radius:20px;padding:0;background:var(--surface);color:var(--fg);box-shadow:0 30px 80px rgba(10,20,50,.35)}
.rv-dlg::backdrop{background:rgba(10,20,50,.45)}
.rv-dlg-in{display:grid;gap:16px;padding:22px}
.rv-x{background:var(--chip);color:var(--fg)}
.rv-dlg .rv-list{grid-template-columns:1fr}
.rv-dlg-f{display:flex;justify-content:flex-end}
.pl-more{grid-column:1/-1;justify-self:center;font:inherit;font-weight:800;color:var(--link);background:var(--chip);border:0;border-radius:999px;padding:12px 22px;cursor:pointer}
.biz .stars{color:#F5A623!important;font-size:.85rem}.biz .stars .off{color:var(--line)!important}
.pl-count{display:inline-block;vertical-align:middle;font-size:.8rem;font-weight:800;letter-spacing:0;padding:4px 10px;border-radius:999px;background:var(--chip);color:var(--link);margin-left:6px}
/* Estrellas en el chat */
.ai-rate{display:grid;gap:10px;max-width:100%!important;align-self:stretch!important}
.ai-rate.done{align-self:flex-start!important}
.ai-stars{display:flex;align-items:center;gap:2px}
.ai-stars button{font-size:1.9rem;line-height:1;width:44px;height:44px;border:0;background:none;color:var(--line);cursor:pointer;padding:0;transition:transform .12s,color .12s}
.ai-stars button.on{color:#F5A623}
.ai-stars button:hover{transform:scale(1.12)}
.ai-stars-l{margin-left:8px;font-size:.85rem;font-weight:800;color:var(--muted)}
.ai-rate textarea,.ai-rate input{font:inherit;font-size:16px;width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);resize:vertical}
.ai-rate-send{justify-self:start}
.ai-rate-send:disabled{opacity:.45;cursor:default}

/* Directorio: tarjetas simétricas; el Sello Sucre destaca sin romper la grilla */
#dir-grid.biz-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}
#dir-grid .biz{display:grid;grid-template-rows:auto auto auto auto 30px 1fr;gap:6px;min-height:0;padding:18px 18px 8px}
#dir-grid .biz-top{flex-wrap:nowrap;min-height:26px}
#dir-grid .biz-kind{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#dir-grid .biz > b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}
#dir-grid .biz-where{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#dir-grid .biz-d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;min-height:2.9em}
#dir-grid .biz-rv:empty{display:block}
#dir-grid .biz-rv{flex-wrap:nowrap;overflow:hidden}
#dir-grid .biz-link{align-self:end;margin-top:4px;width:100%;border-top:1px solid var(--line);padding-top:4px}
#dir-grid .biz-join{display:flex;grid-template-rows:none;padding:18px}
.biz.biz-sello{border:1.5px solid #FFBA4D;background:linear-gradient(180deg,color-mix(in srgb,#FFBA4D 12%,var(--surface)) 0,var(--surface) 70%);box-shadow:0 10px 26px -18px rgba(160,100,0,.55)}
.biz.biz-sello .biz-link{border-top-color:color-mix(in srgb,#FFBA4D 45%,var(--line))}
.badge.sello{font-size:.66rem;padding:4px 9px}
#dir-grid .biz-top .badge{flex:none}#dir-grid .biz-kind{flex:1 1 0}
#dir-grid .biz{grid-template-columns:minmax(0,1fr)}#dir-grid .biz>*{min-width:0}
