.page-formatos [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--mc-ease-expo),transform .9s var(--mc-ease-expo)}
    .page-formatos [data-reveal].is-in{opacity:1;transform:none}
    @media(prefers-reduced-motion:reduce){.page-formatos [data-reveal]{opacity:1;transform:none;transition:none}}
    .page-formatos{overflow-x:hidden;background:var(--mc-paper)}
    .lz-wrap{max-width:var(--mc-container);margin:0 auto;padding-inline:var(--mc-gutter)}
    .lz-hero{position:relative;padding-top:calc(var(--mc-header-h) + clamp(3rem,7vh,6rem));padding-bottom:clamp(2.5rem,5vh,4rem)}
    .lz-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(var(--mc-hairline) 1.1px,transparent 1.1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 78%);mask-image:linear-gradient(180deg,#000 0%,transparent 78%);opacity:.7;pointer-events:none}
    .lz-hero__grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,5rem);align-items:end}
    .lz-hero__center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem}
    .lz-hero__center .lz-eyebrow::before{display:none}
    .lz-hero__center .lz-h1{margin-top:0}
    .lz-hero__center .lz-lede{max-width:56ch;margin-inline:auto}
    .lz-hero__center .lz-cta-row{justify-content:center;margin-top:.4rem}
    .lz-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:var(--mc-fs-overline);text-transform:uppercase;letter-spacing:.14em;color:var(--mc-magenta);font-weight:700}
    .lz-eyebrow::before{content:"";width:26px;height:2px;background:var(--mc-magenta)}
    .lz-h1{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h1);line-height:1.02;letter-spacing:-.02em;color:var(--mc-ink);margin-top:1.1rem;text-wrap:balance}
    .lz-h1 em{font-style:italic;color:var(--mc-magenta)}
    .lz-hero__right{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:.4rem}
    .lz-lede{font-size:var(--mc-fs-lead);line-height:1.5;color:var(--mc-ink-soft);max-width:40ch}
    .lz-price{display:inline-flex;align-items:baseline;gap:.7rem;align-self:flex-start;padding:.6rem 1.35rem;border-radius:var(--mc-radius-pill);background:var(--mc-paper-raised);box-shadow:var(--mc-shadow-sm)}
    .lz-price__label{font-size:var(--mc-fs-caption);text-transform:uppercase;letter-spacing:.12em;color:var(--mc-ink-mute);font-weight:700}
    .lz-price__num{font-family:var(--mc-font-display);font-weight:700;font-size:1.3rem;color:var(--mc-magenta)}
    .lz-cta-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
    .lz-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--mc-ink);text-decoration:none;padding:.9rem .4rem}
    .lz-link:hover{color:var(--mc-magenta)}
    .lz-showcase{margin-top:clamp(2.5rem,6vh,4.5rem)}
    .lz-panel{position:relative;background:var(--mc-gradient);border-radius:var(--mc-radius-lg);padding:clamp(2rem,5vw,4rem);overflow:hidden;box-shadow:var(--mc-shadow-md)}
    .lz-panel::after{content:"";position:absolute;right:-8%;top:-40%;width:55%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 62%);pointer-events:none}
    .lz-panel__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,3rem);align-items:center}
    .lz-panel__copy{color:#fff}
    .lz-panel__k{font-size:var(--mc-fs-caption);text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:#ffffffcc}
    .lz-panel__h{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h3);line-height:1.08;margin-top:.7rem;text-wrap:balance}
    .lz-panel__p{margin-top:1rem;color:#ffffffe0;line-height:1.55;max-width:38ch}
    .lz-facts{display:flex;gap:2.2rem;margin-top:1.8rem;flex-wrap:wrap}
    .lz-fact__n{font-family:var(--mc-font-display);font-weight:700;font-size:1.9rem;color:#fff;line-height:1}
    .lz-fact__l{font-size:var(--mc-fs-caption);color:#ffffffbf;margin-top:.35rem}
    .lz-mapcard{background:var(--mc-paper-raised);border-radius:var(--mc-radius-md);padding:1.1rem;box-shadow:var(--mc-shadow-lg)}
    .lz-mapcard__bar{display:flex;align-items:center;justify-content:space-between;margin:.2rem .3rem .7rem}
    .lz-mapcard__title{font-weight:700;color:var(--mc-ink);font-size:.95rem}
    .lz-mapcard__tag{font-size:var(--mc-fs-caption);color:var(--mc-magenta);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
    .lz-map{position:relative;border-radius:14px;overflow:hidden;background:var(--mc-paper-sunken);aspect-ratio:4/3}
    .lz-map svg{width:100%;height:100%;display:block}
    .lz-pulse{transform-box:fill-box;transform-origin:center;animation:lzpulse 2.4s var(--mc-ease-out) infinite}
    @keyframes lzpulse{0%{transform:scale(.6);opacity:.55}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
    @media(prefers-reduced-motion:reduce){.lz-pulse{animation:none;opacity:.25}}
    .lz-features{padding-block:clamp(3.5rem,8vh,6rem)}
    .lz-sec-head{max-width:56ch}
    .lz-kicker{font-size:var(--mc-fs-overline);text-transform:uppercase;letter-spacing:.14em;color:var(--mc-magenta);font-weight:700}
    .lz-h2{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h2);line-height:1.05;letter-spacing:-.015em;color:var(--mc-ink);margin-top:.7rem;text-wrap:balance}
    .lz-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:clamp(2rem,4vh,3rem)}
    .lz-card{background:var(--mc-paper-raised);border-radius:var(--mc-radius-lg);padding:clamp(1.5rem,2.5vw,2.2rem);box-shadow:var(--mc-shadow-sm)}
    .lz-card__h{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h3);color:var(--mc-ink);line-height:1.08}
    .lz-card__p{margin-top:.9rem;color:var(--mc-ink-soft);line-height:1.55}
    .lz-lines{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-direction:column;gap:.6rem}
    .lz-lines li{position:relative;padding:.7rem .9rem .7rem 2.2rem;background:var(--mc-paper-sunken);border-radius:12px;color:var(--mc-ink);line-height:1.4;font-size:.98rem}
    .lz-lines li::before{content:"";position:absolute;left:.95rem;top:1.05rem;width:8px;height:8px;border-radius:50%;background:var(--mc-magenta)}
    .lz-fmt{display:flex;flex-direction:column;gap:.7rem;margin-top:1.4rem}
    .lz-fmt__row{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border-radius:14px;background:var(--mc-paper-sunken)}
    .lz-fmt__ico{flex:none;width:52px;height:30px;border-radius:6px;background:var(--mc-paper);position:relative;overflow:hidden}
    .lz-fmt__ico span{position:absolute;background:var(--mc-magenta);border-radius:2px}
    .lz-fmt__name{font-weight:600;color:var(--mc-ink)}
    .lz-faq{padding-block:clamp(3rem,7vh,5rem);background:var(--mc-paper-sunken)}
    .lz-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
    .lz-faq__list{display:flex;flex-direction:column;gap:1rem}
    .lz-faq__item{background:var(--mc-paper-raised);border-radius:var(--mc-radius-md);padding:1.4rem 1.6rem;box-shadow:var(--mc-shadow-sm)}
    .lz-faq__q{font-weight:700;color:var(--mc-ink);font-size:1.1rem;line-height:1.25}
    .lz-faq__a{margin-top:.7rem;color:var(--mc-ink-soft);line-height:1.55}
    .lz-final{position:relative;background:var(--mc-paper);color:var(--mc-ink);text-align:center;padding-block:clamp(4rem,9vh,7rem);overflow:hidden}
    .lz-final::after{content:"";position:absolute;left:50%;top:-60%;width:70%;height:200%;transform:translateX(-50%);background:none;pointer-events:none}
    .lz-final h2{position:relative;font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h2);line-height:1.05;text-wrap:balance;color:var(--mc-ink)}
    .lz-final p{position:relative;margin:1.1rem auto 0;max-width:46ch;color:var(--mc-ink-soft);font-size:var(--mc-fs-lead);line-height:1.5}
    .lz-final .btn{position:relative;margin-top:2rem;background:var(--mc-magenta);color:#fff}
    .lz-final .btn:hover{background:transparent;color:var(--mc-magenta);border:1px solid var(--mc-magenta);box-shadow:none;transform:none}
    @media(max-width:860px){
      .lz-hero__grid,.lz-panel__grid,.lz-cards,.lz-faq__grid{grid-template-columns:1fr}
      .lz-hero__grid{gap:1.8rem}
      .lz-hero__right{gap:1.2rem}
    }
    /* ---- Vic flow (Recorreguts) ---- */
    .vf{position:relative;display:grid;grid-template-columns:1fr 130px 1fr;align-items:center;margin-top:clamp(2rem,4.5vh,3.5rem)}
    .vf__col{display:flex;flex-direction:column;gap:1.1rem}
    .vf__col--a{transform:translateY(-26px)}
    .vf__col--b{transform:translateY(26px)}
    .vf__chip{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-width:210px;background:var(--mc-paper-raised);border-radius:16px;padding:.8rem .8rem .8rem 1.15rem;box-shadow:var(--mc-shadow-md);font-weight:600;color:var(--mc-ink)}
    .vf__chip{align-self:flex-start}
    .vf__chip--end{align-self:flex-end}
    .vf__chip__badge{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--mc-magenta)}
    .vf__chip__badge svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .vf__card{background:var(--mc-paper-raised);border-radius:var(--mc-radius-lg);padding:clamp(1.6rem,2.6vw,2.4rem);box-shadow:var(--mc-shadow-md)}
    .vf__card__h{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h3);color:var(--mc-ink);line-height:1.06;letter-spacing:-.01em}
    .vf__card__p{margin-top:.9rem;color:var(--mc-ink-soft);line-height:1.55}
    .vf__map{margin-top:1.15rem;border-radius:14px;overflow:hidden;background:var(--mc-paper-sunken);box-shadow:inset 0 0 0 1px var(--mc-hairline)}
    .vf__map iframe{display:block;width:100%;height:280px;border:0}

    /* ===== Mapa de zona (imagen estatica · cero peticiones externas) ===== */
    .vf__map{position:relative}
    .vf__map picture{display:block}
    .vf__map__img{display:block;width:100%;height:auto;aspect-ratio:15/8;object-fit:cover;background:var(--mc-paper-sunken)}
    .vf__map__link{position:absolute;z-index:3;top:.6rem;right:.6rem;display:inline-flex;align-items:center;gap:.35rem;
      padding:.45rem .7rem;border-radius:999px;background:#fff;color:var(--mc-ink);font-size:.8rem;font-weight:600;
      text-decoration:none;box-shadow:0 2px 10px rgba(23,22,28,.18)}
    .vf__map__link:hover{background:var(--mc-magenta);color:#fff}
    .vf__map__attr{position:absolute;z-index:2;bottom:0;right:0;margin:0;padding:.12rem .4rem;font-size:.62rem;
      color:#5a5761;background:#ffffffd9;border-top-left-radius:6px}
    /* aro de zona con latido · se dimensiona por la altura para no desbordar en movil */
    .vf__map__zone{position:absolute;z-index:1;top:50%;left:50%;height:82%;width:auto;aspect-ratio:1;
      transform:translate(-50%,-50%);border-radius:50%;border:2.5px solid var(--mc-magenta);
      background:rgba(214,44,72,.09);box-shadow:0 0 0 6px rgba(214,44,72,.06);
      animation:mcZoneBeat 3.4s ease-in-out infinite}
    .vf__map__zone::after{content:"";position:absolute;inset:-3px;border-radius:50%;
      border:2px solid var(--mc-magenta);animation:mcZoneRipple 3.4s ease-out infinite}
    @keyframes mcZoneBeat{0%,100%{transform:translate(-50%,-50%) scale(1)}
      50%{transform:translate(-50%,-50%) scale(1.035)}}
    @keyframes mcZoneRipple{0%{opacity:.5;transform:scale(1)}65%{opacity:0;transform:scale(1.26)}100%{opacity:0}}
    @media(max-width:560px){.vf__map__zone{height:76%;border-width:2px}}
    @media(prefers-reduced-motion:reduce){.vf__map__zone,.vf__map__zone::after{animation:none}}
    .vf__wire{width:130px;height:240px;align-self:center;overflow:visible}
    .vf__dot{fill:var(--mc-ink)}
    .vf__flow{stroke-dasharray:5 9;animation:vfflow 1.4s linear infinite}
    @keyframes vfflow{to{stroke-dashoffset:-28}}
    @media(prefers-reduced-motion:reduce){.vf__flow{animation:none;stroke-dasharray:none;opacity:.5}}
    @media(max-width:860px){
      .vf{grid-template-columns:1fr;gap:1.1rem}
      .vf__col--a,.vf__col--b{transform:none}
      .vf__wire{display:none}
      .vf__chip{min-width:0;width:100%}
    }

    /* ---- Vic configurator (top) ---- */
    .vc{padding-top:clamp(1.5rem,3vh,2.5rem)}
    .vc__head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}
    .vc__head .lz-eyebrow::before{display:none}
    .vc__title{font-family:var(--mc-font-display);font-weight:700;font-size:var(--mc-fs-h3);line-height:1.06;letter-spacing:-.01em;color:var(--mc-ink);margin-top:.55rem;max-width:22ch;margin-inline:auto;text-wrap:balance}
    .vc__chips{justify-content:center}
    .vc__chips{display:flex;gap:.8rem;flex-wrap:wrap}
    .vc__chip{display:inline-flex;align-items:center;gap:.7rem;background:var(--mc-paper-raised);border-radius:16px;padding:.55rem .95rem;box-shadow:var(--mc-shadow-sm)}
    .vc__chip__ico{flex:none;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--mc-paper-sunken);color:var(--mc-magenta)}
    .vc__chip__ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
    .vc__chip small{display:block;font-size:var(--mc-fs-caption);color:var(--mc-ink-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:700;line-height:1;margin-bottom:.15rem}
    .vc__chip b{font-weight:600;color:var(--mc-ink);font-size:.98rem}
    .vc__stage{display:grid;grid-template-columns:.72fr 1.28fr;gap:1.25rem;margin-top:clamp(1.4rem,3vh,2.1rem);align-items:start}
    .vc__panel{background:var(--mc-paper-raised);border-radius:var(--mc-radius-lg);padding:1.4rem;box-shadow:var(--mc-shadow-md);display:flex;flex-direction:column}
    .vc__panel__top{display:flex;align-items:center;justify-content:space-between}
    .vc__panel__label{font-family:var(--mc-font-display);font-weight:700;color:var(--mc-ink);font-size:1.05rem}
    .vc__panel__hint{font-size:var(--mc-fs-caption);color:var(--mc-ink-mute);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
    .vc__panel__thumb{margin:1rem 0 .6rem;border-radius:14px;overflow:hidden;background:var(--mc-paper-sunken);aspect-ratio:16/9;position:relative}
    .vc__panel__thumb img{width:100%;height:100%;object-fit:contain;padding:.6rem;display:block}
    .vc__nav{display:flex;gap:.5rem;justify-content:center;margin-bottom:.6rem}
    .vc__nav button{width:38px;height:38px;border-radius:50%;background:var(--mc-paper);display:grid;place-items:center;cursor:pointer;color:var(--mc-ink);box-shadow:var(--mc-shadow-sm);font-size:1.1rem;line-height:1;border:0}
    .vc__nav button:hover{color:var(--mc-magenta)}
    .vc__list{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column}
    .vc__list li{display:flex;align-items:center;justify-content:space-between;padding:.9rem .15rem;color:var(--mc-ink);font-weight:500;cursor:pointer;transition:color .18s ease}
    .vc__list li:hover{color:var(--mc-magenta)}
    .vc__list li.is-active{color:var(--mc-magenta);font-weight:700}
    .vc__list li + li{border-top:1px solid var(--mc-hairline)}
    .vc__list .ar{color:var(--mc-magenta);font-weight:700}
    .vc__photo{position:relative;border-radius:var(--mc-radius-lg);overflow:hidden;background:var(--mc-paper-sunken);aspect-ratio:4/3}
    .vc__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}
    .vc__hot{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.5rem;background:var(--mc-paper-raised);border-radius:var(--mc-radius-pill);padding:.48rem .8rem;box-shadow:var(--mc-shadow-md);font-size:.88rem;font-weight:600;color:var(--mc-ink);white-space:nowrap;z-index:2;pointer-events:none}
    .vc__ping{position:relative;width:10px;height:10px;border-radius:50%;background:var(--mc-magenta);flex:none}
    .vc__ping::before{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--mc-magenta);opacity:.4;animation:vcping 2.1s var(--mc-ease-out,ease-out) infinite}
    @keyframes vcping{0%{transform:scale(.55);opacity:.5}70%{transform:scale(2.4);opacity:0}100%{opacity:0}}
    @media(prefers-reduced-motion:reduce){.vc__ping::before{animation:none;opacity:.25}}
    .vc__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.25rem}
    .vc__stat{background:var(--mc-paper-raised);border-radius:var(--mc-radius-md);padding:1.05rem 1.15rem;box-shadow:var(--mc-shadow-sm);display:flex;gap:.85rem;align-items:flex-start}
    .vc__stat__ico{flex:none;width:40px;height:40px;border-radius:10px;background:var(--mc-paper-sunken);display:grid;place-items:center;color:var(--mc-magenta)}
    .vc__stat__ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
    .vc__stat__l{font-size:var(--mc-fs-caption);color:var(--mc-ink-mute);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
    .vc__stat__v{font-weight:600;color:var(--mc-ink);margin-top:.2rem;line-height:1.25}
    @media(max-width:860px){
      .vc__stage{grid-template-columns:1fr}
      .vc__stats{grid-template-columns:1fr 1fr}
    }
    @media(max-width:520px){.vc__stats{grid-template-columns:1fr}}
    .lz-zonas{padding-block:clamp(3rem,7vh,5rem);background:var(--mc-paper-sunken)}
    .lz-zonas__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.7rem;margin-top:clamp(1.6rem,3vh,2.3rem)}
    .lz-zona-link{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.95rem 1.15rem;border-radius:var(--mc-radius-md);background:var(--mc-paper-raised);box-shadow:var(--mc-shadow-sm);color:var(--mc-ink);font-weight:600;font-size:.8rem;text-decoration:none;transition:color .18s ease,transform .18s ease,box-shadow .18s ease}
    .lz-zona-link:hover{color:var(--mc-magenta);transform:translateY(-2px);box-shadow:var(--mc-shadow-md)}
    .lz-zona-link .ar{color:var(--mc-magenta);font-weight:700;transition:transform .18s ease}
    .lz-zona-link:hover .ar{transform:translateX(3px)}
    .lz-zona-link.is-current{background:var(--mc-ink);color:#fff;pointer-events:none}
    .lz-zona-link.is-current .ar{color:#fff}
    .lz-zonas__group + .lz-zonas__group{margin-top:clamp(1.6rem,3vh,2.2rem)}
    .lz-zonas__group-title{font-family:var(--mc-font-display);font-weight:700;font-size:1.15rem;color:var(--mc-ink);margin:clamp(1.6rem,3vh,2.3rem) 0 .9rem;letter-spacing:-.01em}
    .lz-zonas__group-title span{color:var(--mc-ink-mute);font-weight:600;font-size:.85rem;margin-left:.5rem}
    .lz-zonas__pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem);margin-top:clamp(1.6rem,3vh,2.2rem)}
    .lz-zonas__pair .lz-zonas__group{margin-top:0}
    .lz-zonas__pair .lz-zonas__group-title{margin-top:0}
    @media(max-width:560px){.lz-zonas__pair{grid-template-columns:1fr}}
    

