{"id":120794,"date":"2026-01-22T10:37:37","date_gmt":"2026-01-22T08:37:37","guid":{"rendered":"https:\/\/cambrabcn.org\/insitu\/"},"modified":"2026-02-23T18:13:06","modified_gmt":"2026-02-23T16:13:06","slug":"insitu","status":"publish","type":"page","link":"https:\/\/cambrabcn.org\/es\/insitu\/","title":{"rendered":"InSitu"},"content":{"rendered":"\n<div class=\"wp-block-cover hero-insitu animation alignfull\"><img data-dominant-color=\"302a23\" data-has-transparency=\"false\" style=\"--dominant-color: #302a23;\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" class=\"wp-block-cover__image-background wp-image-117530 size-large not-transparent\" alt=\"\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg\" data-object-fit=\"cover\" srcset=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg 1024w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-300x225.jpg 300w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-768x576.jpg 768w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1536x1152.jpg 1536w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-600x450.jpg 600w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu.jpg 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-cambra-fg-background-color has-background-dim-40 has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container is-layout-constrained wp-block-cover-is-layout-constrained\">\n<figure class=\"wp-block-image size-large logo-insitu reveal\"><img decoding=\"async\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/loho-insitu-white.svg\" alt=\"\" class=\"wp-image-116111\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center reveal has-cambra-fg-alt-color has-text-color has-link-color wp-elements-caabb63b5716a9dfcb916a799620d61e\">Un espacio donde las conversaciones crean oportunidades<\/h1>\n\n\n\n<div class=\"wp-block-group reveal is-layout-constrained wp-block-group-is-layout-constrained\">\n<style>\n  \/* Men\u00fa horizontal *\/\n  .menu-insitu{\n    display: flex;\n    gap: 2rem;\n    align-items: center;\n    justify-content: center; \/* cambia a flex-start si lo quieres a la izquierda *\/\n    list-style: none;\n    margin: 0;\n    padding: 0;\n\n  }\n\n  .menu-insitu a{\n    position: relative;\n    display: inline-block;\n    text-decoration: none;\n    color: #fff;\n    font-size: 18px;          \/* ajusta *\/\n    letter-spacing: 0.02em;\n    padding: 0.25rem 0;\n    line-height: 1;\n    opacity: 0.92;\n    transition: opacity 220ms ease, transform 220ms ease;\nfont-weight: 300;\n  }\n\n  \/* Subrayado base *\/\n  .menu-insitu a::after{\n    content: \"\";\n    position: absolute;\n    left: 0;\n    bottom: -6px;\n    width: 100%;\n    height: 1px;\n    background: currentColor;\n\n    \/* Efecto: entra desde el centro (elegante\/minimal) *\/\n    transform: scaleX(0.35);\n    transform-origin: 50% 50%;\n    opacity: 0.35;\n    transition: transform 260ms cubic-bezier(.22,.61,.36,1), opacity 260ms ease;\n  }\n\n  \/* Hover\/focus: subrayado se \u201cexpande\u201d y gana presencia *\/\n  .menu-insitu a:hover,\n  .menu-insitu a:focus-visible{\n    opacity: 1;\n    transform: translateY(-1px);\n  }\n\n  .menu-insitu a:hover::after,\n  .menu-insitu a:focus-visible::after{\n    transform: scaleX(1);\n    opacity: 1;\n  }\n\n  \/* Activo (si quieres marcar la secci\u00f3n actual, a\u00f1ade class=\"is-active\" al <a>) *\/\n  .menu-insitu a.is-active{\n    opacity: 1;\n  }\n  .menu-insitu a.is-active::after{\n    transform: scaleX(1);\n    opacity: 1;\n  }\n\n  \/* Responsive *\/\n@media (max-width: 768px){\n  .menu-insitu{\n    flex-direction: column;   \n    align-items: center;      \n    justify-content: center;  \n    gap: 1rem;\n    text-align: center;\n  }\n\n  .menu-insitu a{\n    font-size: 15px;\n  }\n}\n<\/style>\n\n<nav aria-label=\"InSitu reveal\">\n  <ul class=\"menu-insitu\">\n    <li><a href=\"#sobre-insitu\">Sobre InSitu<\/a><\/li>\n    <li><a href=\"#espais\">Espacios<\/a><\/li>\n    <li><a href=\"#model\">Modelo<\/a><\/li>\n    <li><a href=\"#avantages\">Ventajas<\/a><\/li>\n    <li><a href=\"#informacio\">Informaci\u00f3n<\/a><\/li>\n  <\/ul>\n<\/nav>\n<\/div>\n\n\n\n<style>\r\n\r\n\r\n.logo-insitu{\r\n  display: block;\r\n  max-width: 200px;\r\n  height: auto;\r\n}\r\n.hero-insitu .logo-insitu img {\r\n  height: 200px;\r\n}\r\n.hero-insitu{ \r\n    min-height: calc(80vh - 135px);\r\n  display: flex;\r\n  align-items: left;     \r\n  justify-content: center;  \r\n  text-align: left;\r\nflex-direction: column;\r\ngap:1rem;\r\nposition: relative; \r\n}\r\n.hero-insitu h1{  color:#ffffff; font-size:26px; font-weight:400;}\r\n\r\n.hero-insitu .wp-block-group.reveal{\r\n  position: relative;   \/* NO oculta *\/\r\n  z-index: 2;\r\n}\r\n\r\n.hero-insitu {\r\n  position: relative;\r\n}\r\n\r\n.wp-block-cover.hero-insitu{\r\n  overflow: hidden;\r\n}\r\n\r\n.wp-block-cover.hero-insitu > .wp-block-cover__image-background{\r\n  position: absolute;\r\n  inset: -6%;                 \r\n  width: 112%;\r\n  height: 112%;\r\n  object-fit: cover;\r\n  transform-origin: center;\r\n  will-change: transform;\r\n  transform: translate3d(-8%, 0, 0) scale(1.14);\r\n\r\n  animation: heroPanPingPong 26s ease-in-out infinite alternate;\r\n}\r\n\r\n@keyframes heroPanPingPong{\r\n  from{\r\n    transform: translate3d(-8%, 0, 0) scale(1.14); \/* izquierda *\/\r\n  }\r\n  to{\r\n    transform: translate3d(8%, 0, 0) scale(1.14);  \/* derecha *\/\r\n  }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n  .wp-block-cover.hero-insitu > .wp-block-cover__image-background{\r\n    animation: none !important;\r\n    transform: translate3d(0,0,0) scale(1.08);\r\n  }\r\n}\r\n\r\n@media (max-width: 1024px) {\r\n  .logo-insitu {\r\n    max-width: 160px;\r\n  }\r\n\r\n  .hero-insitu .logo-insitu img {\r\n    height: 160px;\r\n  }\r\n\r\n  .hero-insitu h1 {\r\n    font-size: 22px;\r\n  }\r\n}\r\n\r\n@media (max-width: 768px) {\r\n.hero-insitu{ \r\n    min-height: calc(90vh - 135px);\r\n}\r\n  .logo-insitu {\r\n    max-width: 120px;\r\n  }\r\n\r\n  .hero-insitu .logo-insitu img {\r\n    height: 120px;\r\n  }\r\n\r\n  .hero-insitu h1 {\r\n    font-size: 18px;\r\n    line-height: 1.3;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .logo-insitu {\r\n    max-width: 100px;\r\n  }\r\n\r\n  .hero-insitu .logo-insitu img {\r\n    height: 100px;\r\n  }\r\n\r\n  .hero-insitu h1 {\r\n    font-size: 20px;\r\n  }\r\n}\r\n\r\n<\/style>\n<\/div><\/div>\n\n\n\n<div id=\"sobre-insitu\" class=\"wp-block-group copy-insitu is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-text-align-left\"><strong>InSitu<\/strong> es el punto de encuentro del <strong>Club Cambra<\/strong>: un entorno pensado para empresarios y empresarias que entienden el valor del tiempo compartido, de las conexiones aut\u00e9nticas y del networking hecho con calma.<br><br><div>Situado en la sede de la <strong>Cambra de Comer\u00e7 de Barcelona<\/strong>, en la Avenida Diagonal 452, InSitu ofrece un ambiente tranquilo y acogedor que invita al encuentro y a la conexi\u00f3n profesional.<\/div><\/h2>\n\n\n\n<style>\r\n  .copy-insitu{\r\n    min-height: calc(50vh - 135px);\r\n    display: flex;\r\n    align-items: flex-start;\r\n    justify-content: center;\r\n    text-align: left;\r\n    flex-direction: column;\r\n    gap: 1rem;\r\n    position: relative;\r\n  }\r\n\r\n  .copy-insitu h2{\r\n    font-size: 26px;\r\n    line-height: 1.2;\r\n    margin: 0;\r\n    color: #111111;\r\nfont-weight:300;\r\n  }\r\n\r\n.copy-insitu h2 strong {\r\n  font-weight: 600;\r\n}\r\n\r\n.copy-insitu h2 strong .char {\r\n  font-weight: 600;\r\n}\r\n\r\n  \/* Estructura tipo ejemplo *\/\r\n  .copy-insitu h2 .word{\r\n    white-space: nowrap;\r\n    display: inline-block;\r\n  }\r\n\r\n  .copy-insitu h2 .char{\r\n    display: inline-block; \/* estable para animar opacity *\/\r\n    opacity: 0.20;         \/* base *\/\r\n    will-change: opacity;\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce){\r\n    .copy-insitu h2 .char{ opacity: 1 !important; }\r\n  }\r\n\/* Responsive *\/\r\n\r\n@media (max-width: 1024px){\r\n  .copy-insitu{\r\n    gap: 1.25rem;\r\n    padding: 1.25rem 1.25rem;\r\n    min-height: auto;\r\n  }\r\n\r\n  .copy-insitu h2{\r\n    font-size: 22px;\r\n    line-height: 1.3;\r\n  }\r\n}\r\n\r\n@media (max-width: 768px){\r\n  .copy-insitu{\r\n    gap: 1.5rem;            \/* m\u00e1s espaciado entre elementos *\/\r\n    padding: 1.75rem 1.25rem;\r\n    min-height: auto;\r\n  }\r\n\r\n  .copy-insitu h2{\r\n    font-size: 22px;        \/* m\u00e1s peque\u00f1o en m\u00f3vil *\/\r\n    line-height: 1.45;\r\n    max-width: 32ch;        \/* mejora legibilidad + \u201caire\u201d visual *\/\r\n  }\r\n\r\n  .copy-insitu h2 br{\r\n    line-height: 1.6;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px){\r\n  .copy-insitu{\r\n    gap: 1.75rem;\r\n    padding: 2rem 1.1rem;\r\n  }\r\n\r\n  .copy-insitu h2{\r\n    font-size: 20px;\r\n    line-height: 1.4;\r\n    max-width: 30ch;\r\n  }\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  const section = document.querySelector('.copy-insitu');\r\n  if (!section) return;\r\n\r\n  const h2 = section.querySelector('h2');\r\n  if (!h2) return;\r\n\r\n  if (h2.dataset.wordCharRevealInit === \"1\") return;\r\n  h2.dataset.wordCharRevealInit = \"1\";\r\n\r\n  const reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n  if (reduceMotion) return;\r\n\r\n  \/\/ Ajustes\r\n  const speed = 1;\r\n  const startRevealPx = 200;\r\n  const endPaddingPx = 350;\r\n\r\n  const baseOpacity = 0.10;\r\n  const fullOpacity = 1.00;\r\n  const trailChars = 5;\r\n\r\n  let chars = [];\r\n  let active = false;\r\n  let ticking = false;\r\n\r\n  function clamp01(x){ return Math.max(0, Math.min(1, x)); }\r\n  function lerp(a,b,t){ return a + (b-a)*t; }\r\n\r\n  \/\/ ---- NUEVO: helpers para preservar markup ----\r\n\r\n  \/\/ Normaliza espacios: convierte runs de whitespace en \" \" pero\r\n  \/\/ respeta que <br> corte l\u00ednea (no lo convierte a espacio).\r\n  function normalizeText(s){\r\n    return s.replace(\/\\s+\/g, \" \");\r\n  }\r\n\r\n  function wrapTextNode(textNode){\r\n    const text = normalizeText(textNode.nodeValue || \"\");\r\n    if (!text) return document.createTextNode(\"\");\r\n\r\n    const frag = document.createDocumentFragment();\r\n\r\n    \/\/ Partimos en tokens que incluyen espacios para conservar separaci\u00f3n\r\n    \/\/ Ej: \"Hola  mundo\" -> [\"Hola\", \" \", \"mundo\"]\r\n    const tokens = text.split(\/(\\s+)\/);\r\n\r\n    tokens.forEach(token => {\r\n      if (!token) return;\r\n\r\n      \/\/ Si es whitespace, lo dejamos como texto normal\r\n      if (\/^\\s+$\/.test(token)){\r\n        frag.appendChild(document.createTextNode(\" \"));\r\n        return;\r\n      }\r\n\r\n      \/\/ Si es palabra\/segmento, lo envolvemos\r\n      const w = document.createElement(\"span\");\r\n      w.className = \"word\";\r\n      w.setAttribute(\"aria-hidden\", \"true\");\r\n\r\n      for (let i = 0; i < token.length; i++){\r\n        const c = document.createElement(\"span\");\r\n        c.className = \"char\";\r\n        c.setAttribute(\"aria-hidden\", \"true\");\r\n        c.textContent = token[i];\r\n        c.style.opacity = baseOpacity;\r\n        w.appendChild(c);\r\n        chars.push(c);\r\n      }\r\n\r\n      frag.appendChild(w);\r\n    });\r\n\r\n    return frag;\r\n  }\r\n\r\n  function transformNode(node){\r\n    \/\/ Texto -> wrap chars\r\n    if (node.nodeType === Node.TEXT_NODE){\r\n      return wrapTextNode(node);\r\n    }\r\n\r\n    \/\/ Elemento\r\n    if (node.nodeType === Node.ELEMENT_NODE){\r\n      const tag = node.tagName.toLowerCase();\r\n\r\n\r\n      if (tag === \"br\"){\r\n        return document.createElement(\"br\");\r\n      }\r\n\r\n\r\n      const el = node.cloneNode(false);\r\n\r\n\r\n      for (const child of Array.from(node.childNodes)){\r\n        el.appendChild(transformNode(child));\r\n      }\r\n      return el;\r\n    }\r\n\r\n\r\n    return document.createTextNode(\"\");\r\n  }\r\n\r\n  function buildWordsAndChars(){\r\n    chars = [];\r\n\r\n\r\n    const originalNodes = Array.from(h2.childNodes);\r\n\r\n\r\n    const ariaText = (h2.innerText || h2.textContent || \"\").replace(\/\\s+\/g, \" \").trim();\r\n    if (ariaText) h2.setAttribute(\"aria-label\", ariaText);\r\n\r\n\r\n    h2.innerHTML = \"\";\r\n    const frag = document.createDocumentFragment();\r\n    originalNodes.forEach(n => frag.appendChild(transformNode(n)));\r\n    h2.appendChild(frag);\r\n\r\n    applyProgress(0);\r\n  }\r\n\r\n\r\n  function getProgress(){\r\n    const rect = h2.getBoundingClientRect();\r\n    const vh = window.innerHeight || document.documentElement.clientHeight;\r\n\r\n    const startTop = vh - startRevealPx;\r\n    const endBottom = vh - endPaddingPx;\r\n\r\n    const denom = (startTop - (endBottom - rect.height));\r\n    if (denom <= 0) return 0;\r\n\r\n    const travelled = startTop - rect.top;\r\n    const raw = travelled \/ denom;\r\n\r\n    const p = clamp01(raw);\r\n    return Math.min(1, p * speed);\r\n  }\r\n\r\n  function applyProgress(p){\r\n    if (!chars.length) return;\r\n\r\n    const n = chars.length;\r\n    const head = p * (n + trailChars);\r\n\r\n    for (let i = 0; i < n; i++){\r\n      const t = (head - i) \/ trailChars;\r\n      const tt = clamp01(t);\r\n      const o = lerp(baseOpacity, fullOpacity, tt);\r\n      chars[i].style.opacity = o.toFixed(3);\r\n    }\r\n  }\r\n\r\n  function update(){\r\n    ticking = false;\r\n    if (!active) return;\r\n    applyProgress(getProgress());\r\n  }\r\n\r\n  function onScroll(){\r\n    if (!ticking){\r\n      ticking = true;\r\n      requestAnimationFrame(update);\r\n    }\r\n  }\r\n\r\n  const io = new IntersectionObserver((entries) => {\r\n    entries.forEach(entry => {\r\n      active = entry.isIntersecting;\r\n      if (active){\r\n        applyProgress(0);\r\n        window.addEventListener(\"scroll\", onScroll, { passive: true });\r\n        window.addEventListener(\"resize\", onScroll, { passive: true });\r\n        onScroll();\r\n      } else {\r\n        window.removeEventListener(\"scroll\", onScroll);\r\n      }\r\n    });\r\n  }, { threshold: 0.01 });\r\n\r\n  io.observe(section);\r\n\r\n  if (document.fonts && document.fonts.ready){\r\n    document.fonts.ready.then(() => { buildWordsAndChars(); onScroll(); })\r\n      .catch(() => { buildWordsAndChars(); onScroll(); });\r\n  } else {\r\n    buildWordsAndChars();\r\n    onScroll();\r\n  }\r\n})();\r\n<\/script>\n<\/div>\n\n\n\n<div id=\"espais\" class=\"wp-block-group animation is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading has-text-align-left landing-header reveal\">Un espacio \u00fanico en el centro de Barcelona<\/h2>\n\n\n\n<section class=\"gallery\" aria-label=\"Galer\u00eda horizontal slider\">\n  <div class=\"gallery__container\">\n    <button class=\"gallery__nav gallery__nav--prev\" type=\"button\" aria-label=\"Anterior\">\n      <svg class=\"gallery__icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M15.5 5.5L9 12l6.5 6.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n      <\/svg>\n    <\/button>\n\n    <div class=\"gallery__viewport\" tabindex=\"0\" aria-roledescription=\"carousel\">\n      <div class=\"gallery__track\">\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-galeria-cambrabcn-c.jpg\" alt=\"Espacio comedor\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Zona lounge con sof\u00e1s y butacas<\/figcaption>\n        <\/figure>\n\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-barra-trobades.jpg\" alt=\"Terrassa exterior amb llum natural\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Barra y \u00e1rea para encuentros informales<\/figcaption>\n        <\/figure>\n\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-galeria-cambrabcn-d.jpg\" alt=\"Barra y \u00e1rea para encuentros informales\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Espacio comedor<\/figcaption>\n        <\/figure>\n\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-galeria-cambrabcn-b.jpg\" alt=\"Terraza exterior con luz natural\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Terraza exterior con luz natural<\/figcaption>\n        <\/figure>\n\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-terrassa-exterior.jpg\" alt=\"Terraza exterior con luz natural\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Terraza exterior<\/figcaption>\n        <\/figure>\n\n        <figure class=\"gallery__slide\">\n          <img class=\"gallery__image\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-servei-restauracio.jpg\" alt=\"Espai menjador\" loading=\"lazy\" decoding=\"async\"\/>\n          <figcaption class=\"gallery__caption\">Servicio de restauraci\u00f3n<\/figcaption>\n        <\/figure>\n      <\/div>\n    <\/div>\n\n    <button class=\"gallery__nav gallery__nav--next\" type=\"button\" aria-label=\"Siguiente\">\n      <svg class=\"gallery__icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\">\n        <path d=\"M8.5 5.5L15 12l-6.5 6.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n      <\/svg>\n    <\/button>\n  <\/div>\n<\/section>\n\n<style>\n  :root{\n    --hz-gap: clamp(22px, 1.4vw, 32px);\n    --hz-radius: 30px;\n    --hz-max: 1900px;\n\n    --hz-nav: 40px;\n    --hz-nav-offset: calc(var(--hz-nav) \/ -2); \/* mitad fuera *\/\n  }\n\n  .gallery{\n    width: 100%;\n    margin-left: calc(50% - 50vw);\n    background: #fff;\n    position: relative;\n  }\n\n  \/* Sin padding: carril a m\u00e1ximo ancho *\/\n  .gallery__container{\n    max-width: var(--hz-max);\n    margin: 0 auto;\n    position: relative;\n  }\n\n  .gallery__viewport{\n    overflow: hidden;\n    outline: none;\n  }\n\n  .gallery__track{\n    display: flex;\n    gap: var(--hz-gap);\n    will-change: transform;\n    transform: translate3d(0,0,0);\n  }\n\n  \/* 3 visibles *\/\n  .gallery__slide{\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n    flex: 0 0 calc((100% - (var(--hz-gap) * 2)) \/ 3);\n  }\n\n  .gallery__image{\n    width: 100%;\n    height: clamp(420px, 56vh, 520px);\n    object-fit: cover;\n    object-position: center;\n    border-radius: var(--hz-radius);\n    display: block;\n    filter: none !important;\n    -webkit-filter: none !important;\n    box-shadow: none !important;\n  }\n\n  .gallery__caption{\n    text-align: left;\n    font-size: clamp(14px, 1.5vw, 18px);\n    line-height: 1.2;\n    color: #111;\n  }\n\n  \/* Botones sobre la imagen y sobresaliendo mitad fuera *\/\n  .gallery__nav{\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: var(--hz-nav);\n    height: var(--hz-nav);\n    border-radius: 999px;\n    border: 0;\n    background: #000;\n    color: #fff;              \/* el SVG hereda currentColor *\/\n    display: grid;\n    place-items: center;\n    cursor: pointer;\n    z-index: 5;\n    user-select: none;\n    -webkit-tap-highlight-color: transparent;\n    transition: transform .18s ease, opacity .18s ease;\n    box-shadow: 0 10px 30px rgba(0,0,0,.18);\n  }\n  .gallery__nav--prev{ left: var(--hz-nav-offset); }\n  .gallery__nav--next{ right: var(--hz-nav-offset); }\n\n  .gallery__icon{\n    width: 22px;\n    height: 22px;\n    display: block;\n  }\n\n  .gallery__nav:hover{ transform: translateY(-50%) scale(1.05); }\n  .gallery__nav:active{ transform: translateY(-50%) scale(0.98); }\n  .gallery__nav[disabled]{ opacity: .35; cursor: default; }\n\n  \/* Responsive *\/\n  @media (max-width: 980px){\n    .gallery__slide{ flex-basis: calc((100% - (var(--hz-gap) * 1)) \/ 2); } \/* 2 visibles *\/\n    .gallery__image{ height: clamp(320px, 52vh, 480px); }\n  }\n\n  @media (max-width: 640px){\n    .gallery__slide{ flex-basis: 100%; } \/* 1 visible *\/\n    .gallery__image{ height: clamp(300px, 48vh, 440px); }\n\n    \/* en m\u00f3vil reduce un poco el bot\u00f3n para no tapar tanto *\/\n    :root{ --hz-nav: 46px; }\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    .gallery__nav{ transition: none; }\n  }\n\n\n  @media (max-width: 640px){\n    .gallery__nav--prev{ left: 8px; }\n    .gallery__nav--next{ right: 8px; }\n  .gallery__caption{\n    text-align: center;\n  }\n  }\n<\/style>\n\n<script>\n(() => {\n  const root = document.querySelector('.gallery');\n  if(!root) return;\n\n  const viewport = root.querySelector('.gallery__viewport');\n  const track = root.querySelector('.gallery__track');\n  const prev = root.querySelector('.gallery__nav--prev');\n  const next = root.querySelector('.gallery__nav--next');\n\n  const getGap = () => {\n    const styles = getComputedStyle(track);\n    const gap = styles.columnGap || styles.gap || '0px';\n    return parseFloat(gap) || 0;\n  };\n\n  const visibleCount = () => {\n    const w = window.innerWidth;\n    if (w <= 640) return 1;\n    if (w <= 980) return 2;\n    return 3;\n  };\n\n  const getCardStep = () => {\n    const card = track.querySelector('.gallery__slide');\n    if(!card) return 0;\n    return card.getBoundingClientRect().width + getGap();\n  };\n\n  let index = 0;\n  let currentX = 0;\n\n  const maxIndex = () => Math.max(0, track.children.length - visibleCount());\n\n  const animateTo = (x) => {\n    track.style.transition = 'transform 520ms cubic-bezier(.22,.8,.22,1)';\n    track.style.transform = `translate3d(${x}px,0,0)`;\n  };\n\n  const syncNav = () => {\n    prev.disabled = index <= 0;\n    next.disabled = index >= maxIndex();\n  };\n\n  const snapToIndex = (idx) => {\n    const step = getCardStep();\n    const m = maxIndex();\n    index = Math.max(0, Math.min(idx, m));\n    currentX = -index * step;\n    animateTo(currentX);\n    syncNav();\n  };\n\n  prev.addEventListener('click', () => { stopAuto(); snapToIndex(index - 1); startAuto(); });\n  next.addEventListener('click', () => { stopAuto(); snapToIndex(index + 1); startAuto(); });\n\n  viewport.addEventListener('keydown', (e) => {\n    if (e.key === 'ArrowLeft') { stopAuto(); snapToIndex(index - 1); startAuto(); }\n    if (e.key === 'ArrowRight') { stopAuto(); snapToIndex(index + 1); startAuto(); }\n  });\n\n  \/\/ Drag (mouse\/touch)\n  let isDown = false, startX = 0, startTranslate = 0;\n\n  const onDown = (clientX) => {\n    isDown = true;\n    startX = clientX;\n    startTranslate = currentX;\n    track.style.transition = 'none';\n    stopAuto();\n  };\n\n  const onMove = (clientX) => {\n    if(!isDown) return;\n    const dx = clientX - startX;\n    track.style.transform = `translate3d(${startTranslate + dx}px,0,0)`;\n  };\n\n  const onUp = (clientX) => {\n    if(!isDown) return;\n    isDown = false;\n\n    const step = getCardStep();\n    const dx = clientX - startX;\n    const threshold = Math.min(120, step * 0.25);\n\n    if (dx > threshold) snapToIndex(index - 1);\n    else if (dx < -threshold) snapToIndex(index + 1);\n    else snapToIndex(index);\n\n    startAuto();\n  };\n\n  viewport.addEventListener('mousedown', (e) => onDown(e.clientX));\n  window.addEventListener('mousemove', (e) => onMove(e.clientX));\n  window.addEventListener('mouseup', (e) => onUp(e.clientX));\n\n  viewport.addEventListener('touchstart', (e) => onDown(e.touches[0].clientX), {passive:true});\n  viewport.addEventListener('touchmove', (e) => onMove(e.touches[0].clientX), {passive:true});\n  viewport.addEventListener('touchend', (e) => onUp((e.changedTouches[0]||e.touches[0]).clientX), {passive:true});\n\n  \/\/ Autoplay 4s\n  let timer = null;\n  const startAuto = () => {\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n    stopAuto();\n    timer = setInterval(() => {\n      const m = maxIndex();\n      if (index >= m) snapToIndex(0);\n      else snapToIndex(index + 1);\n    }, 4000);\n  };\n  const stopAuto = () => { if (timer) { clearInterval(timer); timer = null; } };\n\n  \/\/ Pausa al hover (desktop)\n  root.addEventListener('mouseenter', stopAuto);\n  root.addEventListener('mouseleave', startAuto);\n\n  window.addEventListener('resize', () => snapToIndex(Math.min(index, maxIndex())));\n\n  \/\/ Init\n  snapToIndex(0);\n  startAuto();\n})();\n<\/script>\n\n\n\n<style>\r\n.landing-header{ font-size:30px; font-weight:600 !important;}\r\n@media (max-width: 768px){\r\n.landing-header {font-size:22px; text-align:center;}\r\n}\r\n\r\n<\/style>\n<\/div>\n\n\n\n<div id=\"model\" class=\"wp-block-group model animation has-cambra-fg-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-top-left-radius:30px;border-top-right-radius:30px;border-bottom-left-radius:30px;border-bottom-right-radius:30px\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column col-left is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<div class=\"wp-block-group is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-47759e60 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading has-text-align-left landing-header reveal has-cambra-bg-color has-text-color has-link-color wp-elements-dc3b463a11551a6b8f3de4c7e0781e62\"><strong>Nuestra manera de conectar<\/strong><\/h2>\n\n\n\n<p class=\"intro-model reveal has-cambra-bg-color has-text-color has-link-color wp-elements-bc6cb05df31862b1015a88359f7bd3b9\">InSitu tiene la voluntad de generar relaciones de confianza entre empresas que comparten visi\u00f3n, criterio y compromiso con el desarrollo econ\u00f3mico del pa\u00eds<\/p>\n\n\n\n<p class=\"intro-model reveal has-cambra-bg-color has-text-color has-link-color wp-elements-ce97e9d87a49ca4e60d732132f9975fb\">Un entorno pensado para que el encuentro sea relevante, la conversaci\u00f3n fluya con naturalidad y el tiempo se convierta en un activo de valor. Porque los grandes proyectos nacen desde la reflexi\u00f3n, la colaboraci\u00f3n y la calma.<\/p>\n\n\n\n<blockquote class=\"quote\">\n  <p>Piensa, conversa y comparte con profesionales que entienden los proyectos compartidos\u00a0como una herramienta de progreso y construcci\u00f3n de futuro.<\/p>\n  <footer>\u2014 <cite>InSitu<\/cite><\/footer>\n<\/blockquote>\n<style>\n\n.quote{\n  position: relative;\n  padding: 22px 22px 18px;\n  border: 1px solid rgba(255,255,255,.18);\n  border-radius: 18px;\n  color: #fff;\n}\n\n.quote::before{\n  content: \"\u201c\";\n  position: absolute;\n  top: -18px;\n  left: 14px;\n  font-size: 64px;\n  line-height: 1;\n  color: #fff;\n  opacity: .25;\n}\n\n.quote p{\n  margin: 0;\n  font-size: 18px;\nfont-style:italic;\n  line-height: 1.25;\n}\n\n.quote footer{\n  margin-top: 12px;\n  font-size: 14px;\n  opacity: .75;\n}\n\n.quote cite{\n  font-style: normal;\n}\n\n\n\n<\/style>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column col-right is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image size-large has-custom-border\"><img data-dominant-color=\"7c6d66\" data-has-transparency=\"false\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"876\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-1024x876.jpg\" alt=\"\" class=\"wp-image-117688 not-transparent\" style=\"--dominant-color: #7c6d66; border-top-left-radius:30px;border-top-right-radius:30px;border-bottom-left-radius:30px;border-bottom-right-radius:30px;aspect-ratio:1;object-fit:cover\" srcset=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-1024x876.jpg 1024w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-300x257.jpg 300w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-768x657.jpg 768w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-1536x1314.jpg 1536w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1-600x513.jpg 600w, https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/insitu-cambra-barcelona-model3-1.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<style>\r\n.model{ \r\n    min-height: calc(90vh - 135px);\r\n  display: flex;\r\n  align-items: left;     \r\n  justify-content: center;  \r\n  text-align: left;\r\nflex-direction: column;\r\ngap:1rem;456\r\nmax-width:1300px;\r\nposition: relative; \r\nmargin: 120px 0px 80px 0px\r\n}\r\n.model .landing-header {font-size:30px; line-height:38px; font-weight:500 !important; margin-bottom:20px !important;}\r\n.model .intro-model strong {font-weight:800;}\r\n.intro-model { font-size:18px; line-height:22px; font-weight:400; margin-bottom:20px !important;}\r\n.model .col-left, .model .col-right {padding: 30px 50px 30px 50px;}\r\n\r\n.quote-model { font-size:24px; font-weight:200; line-height:26px; font-weight:400; font-style:italic}\r\n\r\n@media (max-width: 768px){\r\n.model .landing-header {font-size:22px; line-height:28px;}\r\n.model .col-left, .model .col-right {padding: 20px 10px 20px 10px;}\r\n.model .col-left {padding-bottom:0px!important;}\r\n.intro-model { font-size:15px; line-height:22px; }\r\n}\r\n\r\n<\/style>\n<\/div>\n\n\n\n<div id=\"avantages\" class=\"wp-block-group avantatges is-layout-constrained wp-block-group-is-layout-constrained\">\n<svg class=\"avantatges-bg-svg\" viewbox=\"0 0 42.9 92.3\" aria-hidden=\"true\" focusable=\"false\">\r\n    <path d=\"M41.6,92.3c.8,0,1.3-.5,1.3-1.3V23.4C42.9,9.8,34.5,0,21.5,0,8.5,0,0,9.7,0,23.4v67.6c0,.8.5,1.3,1.3,1.3h5.2c.8,0,1.3-.5,1.3-1.3V23.4c0-9.6,5.3-16.1,13.6-16.1,8.3,0,13.6,6.5,13.6,16.1v67.6c0,.8.5,1.3,1.3,1.3h5.2Z\"><\/path>\r\n  <\/svg>\n\n\n\n<div class=\"wp-block-group avantatges animation has-cambra-bg-background-color has-background is-content-justification-right is-layout-constrained wp-container-core-group-is-layout-56ed0167 wp-block-group-is-layout-constrained\" style=\"border-top-left-radius:30px;border-top-right-radius:30px;border-bottom-left-radius:30px;border-bottom-right-radius:30px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px\">\n<div class=\"wp-block-group box-av is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-214d3d4d wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading has-text-align-left landing-header reveal has-cambra-fg-color has-text-color has-link-color wp-elements-3525adebac4d158bd1d3c7bb74ea908f\">M\u00e1s que un espacio: una comunidad empresarial<\/h2>\n\n\n\n<p class=\"intro-av reveal\">Ser socio del <strong>Club Cambra<\/strong> y acceder a InSitu te permitir\u00e1 formar parte de una comunidad empresarial que comparte valores, visi\u00f3n y relaciones de calidad.<\/p>\n\n\n\n<p class=\"intro-av reveal\">En&nbsp;InSitu, cada encuentro puede convertirse en una oportunidad:<\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-left is-layout-constrained wp-container-core-group-is-layout-e196ba4c wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group fila-av reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-6890950b wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--secondary-whitest-black);border-bottom-width:1px;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image size-large wp-container-content-d613cd94\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/check-1-svgrepo-com-1.svg\" alt=\"\" class=\"wp-image-116957\"\/><\/figure>\n\n\n\n<p>El espacio, con mobiliario de Kave Home, cuenta con un servicio de restauraci\u00f3n exclusivo a cargo de la Fundaci\u00f3 Canpadr\u00f3.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-av reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-69570828 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--secondary-whitest-black);border-bottom-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image size-large wp-container-content-d613cd94\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/check-1-svgrepo-com-1.svg\" alt=\"\" class=\"wp-image-116957\"\/><\/figure>\n\n\n\n<p>Reuniones con clientes y colaboradores en un entorno de prestigio<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-av reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-69570828 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--secondary-whitest-black);border-bottom-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image size-large wp-container-content-d613cd94\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/check-1-svgrepo-com-1.svg\" alt=\"\" class=\"wp-image-116957\"\/><\/figure>\n\n\n\n<p>Participaci\u00f3n en actividades, encuentros y eventos para socios<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-av reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-69570828 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--secondary-whitest-black);border-bottom-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image size-large wp-container-content-d613cd94\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/check-1-svgrepo-com-1.svg\" alt=\"\" class=\"wp-image-116957\"\/><\/figure>\n\n\n\n<p>Pertenencia a un n\u00facleo empresarial de referencia<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-av reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-69570828 wp-block-group-is-layout-flex\" style=\"border-bottom-color:var(--wp--preset--color--secondary-whitest-black);border-bottom-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<figure class=\"wp-block-image size-large wp-container-content-d613cd94\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/check-1-svgrepo-com-1.svg\" alt=\"\" class=\"wp-image-116957\"\/><\/figure>\n\n\n\n<p>Prioridad en la reserva y alquiler de espacios para actos corporativos<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<style>\r\n.avantatges{ \r\n    min-height: calc(80vh - 135px);\r\n  display: flex;\r\n  align-items: left;     \r\n  justify-content: center;  \r\n  text-align: left;\r\nflex-direction: column;\r\nmargin: 100px 0px 50px 0px;\r\nposition: relative;\r\n overflow: visible;   \r\n}\r\n.intro-av {font-size:18px; line-height:24px; font-weight:400; margin-bottom:20px !important;}\r\n.intro-av strong {font-weight:800;}\r\n.box-av {width:100%;}\r\n.avantatges .landing-header { font-size:30px; line-height:35px; font-weight:600 !important; margin-bottom:20px !important;}\r\n.box-av {padding:30px 80px; border: 1px solid rgba(17,  24,  39, 0.13); border-radius:30px;}\r\n.fila-av p { font-size:18px;}\r\n\r\n\/* CARD por encima *\/\r\n.box-av{\r\n  position: relative;\r\n  z-index: 2;\r\n  padding: 40px 80px 30px 80px;\r\n  border-radius: 30px;\r\n\r\n  background: rgba(255, 255, 255, 0.9);\r\n\r\n  backdrop-filter: blur(10px);\r\n  -webkit-backdrop-filter: blur(10px);\r\n\r\n  border: 1px solid rgba(17, 24, 39, 0.10);\r\n}\r\n\r\n.avantatges-bg-svg{\r\n  position: absolute;\r\n  left: 75%;\r\n  top: -10%;                     \/* sigue asomando arriba *\/\r\n  transform: translateX(-50%);\r\n  width: clamp(260px, 34vw, 520px);\r\n  height: auto;\r\n  z-index: 1;\r\n  pointer-events: none;\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 980px){\r\n  .avantatges{\r\n    width: 100%;\r\n  }\r\n  .avantatges .landing-header {\r\n    font-size: 22px;\r\n    line-height: 28px;\r\n  }\r\n\r\n  .avantatges-bg-svg{\r\n    top: 60;\r\nleft:65%;\r\n    width: clamp(300px, 70vw, 600px);\r\n  }\r\n.box-av{ padding: 20px;}\r\n.avantatges {margin:0px;}\r\n.intro-av, .fila-av p{\r\n    font-size: 15px;\r\n    line-height: 22px;\r\n  }\r\n.fila-av img {\r\n  max-width: 20px !important;\r\n  width: 20px !important;\r\n}\r\n\r\n}\r\n\r\n\r\n<\/style>\n<\/div>\n\n\n\n<div id=\"informacio\" class=\"wp-block-group animation alignfull has-cambra-fg-background-color has-background is-layout-constrained wp-block-group-is-layout-constrained\" style=\"padding-top:50px;padding-bottom:50px\">\n<div class=\"wp-block-columns box-footer is-layout-flex wp-container-core-columns-is-layout-8e5118df wp-block-columns-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:0\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image aligncenter size-large is-resized  reveal\"><img decoding=\"async\" src=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/loho-insitu-white.svg\" alt=\"\" class=\"wp-image-116111\" style=\"aspect-ratio:0.9988900882533781;object-fit:cover;width:auto;height:220px\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-container-core-column-is-layout-0ab540ad wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<h2 class=\"wp-block-heading reveal has-cambra-bg-color has-text-color has-link-color wp-elements-085357feef012bf9394751660260a2f4\"><strong>Disfruta del espacio<\/strong><\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-92b9201d wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group fila-info reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-8147516a wp-block-group-is-layout-flex\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-color:#303030;border-bottom-width:1px;border-left-style:none;border-left-width:0px;padding-bottom:var(--wp--preset--spacing--40)\">\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-e4e823cdcde9bf9af9d5316d4401c6b8 wp-container-content-962be591\"><strong>Horario<\/strong><\/p>\n\n\n\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-4bea1915006e696142eabfa0ec5e6ced\">De lunes a viernes, de 9.00 h a 18.00 h<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-info reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-8147516a wp-block-group-is-layout-flex\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-color:#303030;border-bottom-width:1px;border-left-style:none;border-left-width:0px;padding-bottom:var(--wp--preset--spacing--40)\">\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-9db0a36487f855910abe633422d946e4 wp-container-content-962be591\"><strong>Ubicaci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-1e3bfd8d4cabdf89a71551009301e9ca\">Cambra de Comer\u00e7 de Barcelona<br>Planta 10 (Av. Diagonal, 452, 08006 Barcelona)<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group fila-info reveal is-nowrap is-layout-flex wp-container-core-group-is-layout-8147516a wp-block-group-is-layout-flex\" style=\"border-top-style:none;border-top-width:0px;border-right-style:none;border-right-width:0px;border-bottom-color:#303030;border-bottom-width:1px;border-left-style:none;border-left-width:0px;padding-bottom:var(--wp--preset--spacing--40)\">\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-24efc29b9d64afb8ca9b1c568c6654ff wp-container-content-962be591\"><strong>Reserva<\/strong><\/p>\n\n\n\n<p class=\"has-cambra-bg-color has-text-color has-link-color wp-elements-d5dfc102cdccc43273ddf0fc62e98f50\"><strong>616 28 35 83<\/strong><br>Pod\u00e9is llamar o enviar un WhatsApp<\/p>\n<\/div>\n<\/div>\n\n\n\n<!--\r\n<style>\r\n    .btn-socio{\r\n      appearance: none;\r\n      border: 1px solid rgba(0,0,0,.18);\r\n      background: #fff;\r\n      color: #111;\r\n      font-weight: 600;\r\nfont-size:16px;\r\n      letter-spacing: .2px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n      padding: 12px 22px;\r\n      border-radius: 999px;\r\n      cursor: pointer;\r\n      user-select: none;\r\n      text-decoration: none;\r\n      line-height: 1;\r\nfont-family: \"Red Hat Text\", sans-serif;\r\n      transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease\r\n    }\r\n\r\n    .btn-socio:hover{\r\n      transform: translateY(-1px);\r\n      box-shadow: 0 12px 30px rgba(0,0,0,.22);\r\n    }\r\n\r\n    .btn-socio:active{\r\n      transform: translateY(0px) scale(.99);\r\n      box-shadow: 0 8px 22px rgba(0,0,0,.18);\r\n    }\r\n\r\n    .btn-socio:focus-visible{\r\n      outline: none;\r\n      box-shadow: 0 0 0 4px rgba(0,0,0,.15), 0 12px 30px rgba(0,0,0,.22);\r\n    }\r\n\r\n    .btn-socio__icon{\r\n      width: 18px;\r\n      height: 18px;\r\n      flex: 0 0 auto;\r\n    }\r\n\r\n    \/* Animaci\u00f3n: el \u201ctrazo\u201d del arrow se dibuja y adem\u00e1s hace un peque\u00f1o \u201cnudge\u201d *\/\r\n    .btn-socio__icon path{\r\n      stroke: currentColor;\r\n      stroke-width: 2.2;\r\n      stroke-linecap: round;\r\n      stroke-linejoin: round;\r\n      fill: none;\r\n\r\n      stroke-dasharray: 40;\r\n      stroke-dashoffset: 40;\r\n      animation: draw 900ms ease forwards;\r\n    }\r\n\r\n    .btn-socio:hover .btn-socio__icon{\r\n      animation: nudge 650ms ease-in-out infinite;\r\n    }\r\n\r\n    @keyframes draw{\r\n      to { stroke-dashoffset: 0; }\r\n    }\r\n\r\n    @keyframes nudge{\r\n      0%, 100% { transform: translateX(0); }\r\n      50% { transform: translateX(3px); }\r\n    }\r\n\r\n    \/* Respeta usuarios con \"reduce motion\" *\/\r\n    @media (prefers-reduced-motion: reduce){\r\n      .btn-socio__icon path{ animation: none; stroke-dashoffset: 0; }\r\n      .btn-socio:hover .btn-socio__icon{ animation: none; }\r\n      .btn-socio{ transition: none; }\r\n    }\r\n  <\/style>\r\n\r\n  <button class=\"btn-socio\" type=\"button\">\r\n    Fes-te soci del Club Cambra\r\n    <svg class=\"btn-socio__icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n      <!-- Flecha minimal -->\r\n      <path d=\"M5 12h12M13 6l6 6-6 6\"><\/path>\r\n    \r\n  \r\n&#8211;>\n<\/div>\n<\/div>\n\n\n\n<style>\r\n#informacio{  z-index:10; }\r\n#informacio h2{ font-size:30px; font-weight:400 !important;}\r\n#informacio p{ font-size:18px; line-height:24px; font-weight:400 !important;}\r\n\r\n#informacio .fila-info p {  font-size:16px !important; font-weight:400 !important;}\r\n#informacio .fila-info p strong {font-weight:800 !important;}\r\n@media (max-width: 980px){\r\n#informacio h2{ font-size:25px; text-align:center; margin:40px 0px;}\r\n#informacio .fila-info p {font-size:15px; flex-basis: 0px;}\r\n#informacio .fila-info p  strong {font-size:15px;}\r\n  .fila-info {\r\n    flex-direction: column;\r\n  }\r\n}\r\n\r\n<\/style>\n<\/div>\n\n\n\n<!--\r\nRequisitos:\r\n1) Al contenedor de la secci\u00f3n: clase \"animation\"\r\n2) A los elementos que quieras animar: clase \"reveal\"\r\n(Opcional) Si no quieres escalonado: a\u00f1ade data-no-stagger=\"1\" al contenedor (si tu bloque lo permite)\r\n-->\r\n\r\n<style>\r\n\/* ===== InSitu Reveal (SOLO dentro de .animation) ===== *\/\r\n.animation .reveal{\r\n  opacity: 0;\r\n  transform: translateY(18px);\r\n  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);\r\n  will-change: transform, opacity;\r\n}\r\n\r\n\/* Visible *\/\r\n.animation .reveal.is-visible{\r\n  opacity: 1;\r\n  transform: translateY(0);\r\n}\r\n\r\n\/* (Opcional) suavizado extra en im\u00e1genes\/botones al entrar *\/\r\n.animation .reveal.is-visible img,\r\n.animation .reveal.is-visible a,\r\n.animation .reveal.is-visible button{\r\n  transition: inherit;\r\n}\r\n\r\n\/* Accesibilidad *\/\r\n@media (prefers-reduced-motion: reduce){\r\n  .animation .reveal{\r\n    opacity: 1 !important;\r\n    transform: none !important;\r\n    transition: none !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n\/**\r\n * InSitu Reveal \u2014 para Gutenberg (en un Bloque HTML).\r\n * - Aplica a cualquier contenedor con clase .animation\r\n * - Elementos animables: .reveal\r\n * - Idempotente (no duplica)\r\n * - Stagger autom\u00e1tico por orden DOM (cap)\r\n * - Fix del \"hero arriba\" (double rAF + reflow)\r\n *\/\r\n(function(){\r\n  if (window.__INSITU_REVEAL_MULTI__) return;\r\n  window.__INSITU_REVEAL_MULTI__ = true;\r\n\r\n  function initContainer(scope){\r\n    if (!scope) return;\r\n\r\n    var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n    var items = scope.querySelectorAll('.reveal');\r\n    if (!items.length) return;\r\n\r\n    \/\/ Reduced motion: mostrar directo\r\n    if (reduce){\r\n      for (var i=0;i<items.length;i++){\r\n        items[i].style.transitionDelay = '0ms';\r\n        items[i].classList.add('is-visible');\r\n      }\r\n      return;\r\n    }\r\n\r\n    \/\/ Asegura estado inicial (por si hay re-render Gutenberg\/cach\u00e9)\r\n    for (var r=0;r<items.length;r++){\r\n      items[r].classList.remove('is-visible');\r\n      items[r].offsetHeight; \/\/ reflow\r\n    }\r\n\r\n    \/\/ Stagger por contenedor (se puede desactivar con data-no-stagger=\"1\")\r\n    var noStagger = scope.getAttribute('data-no-stagger') === '1';\r\n    function applyStagger(el, idx){\r\n      if (noStagger) { el.style.transitionDelay = '0ms'; return; }\r\n      var d = 70 + (idx * 90);   \/\/ base + incremental\r\n      if (d > 520) d = 520;      \/\/ cap\r\n      el.style.transitionDelay = d + 'ms';\r\n    }\r\n    for (var s=0;s<items.length;s++) applyStagger(items[s], s);\r\n\r\n    \/\/ Activaci\u00f3n diferida para asegurar animaci\u00f3n incluso si ya est\u00e1 en viewport\r\n    requestAnimationFrame(function(){\r\n      requestAnimationFrame(function(){\r\n        \/\/ Fallback sin IntersectionObserver: animar todo\r\n        if (!('IntersectionObserver' in window)){\r\n          for (var k=0;k<items.length;k++) items[k].classList.add('is-visible');\r\n          return;\r\n        }\r\n\r\n        var io = new IntersectionObserver(function(entries){\r\n          for (var j=0;j<entries.length;j++){\r\n            var e = entries[j];\r\n            if (!e.isIntersecting) continue;\r\n\r\n            \/\/ Solo anima elementos de ESTE contenedor\r\n            if (!scope.contains(e.target)) continue;\r\n\r\n            e.target.classList.add('is-visible');\r\n            io.unobserve(e.target);\r\n          }\r\n        }, { threshold: 0.12, rootMargin: '0px 0px -10% 0px' });\r\n\r\n        for (var m=0;m<items.length;m++) io.observe(items[m]);\r\n      });\r\n    });\r\n  }\r\n\r\n  function boot(){\r\n    var containers = document.querySelectorAll('.animation');\r\n    if (!containers.length) return;\r\n\r\n    for (var i=0;i<containers.length;i++){\r\n      var c = containers[i];\r\n\r\n      \/\/ Evita reiniciar el mismo contenedor\r\n      if (c.__insituInited) continue;\r\n      c.__insituInited = true;\r\n\r\n      initContainer(c);\r\n    }\r\n  }\r\n\r\n  \/\/ DOM ready\r\n  if (document.readyState === 'loading'){\r\n    document.addEventListener('DOMContentLoaded', boot, { once:true });\r\n  } else {\r\n    boot();\r\n  }\r\n\r\n  \/\/ Reintentos suaves por si Gutenberg\/tema hidrata tarde\r\n  setTimeout(function(){ try{ boot(); }catch(e){} }, 350);\r\n  setTimeout(function(){ try{ boot(); }catch(e){} }, 900);\r\n})();\r\n<\/script>\n\n\n\n<script>\r\n(function () {\r\n  \/\/ Limitar solo a \/insitu\r\n  if (!\/^\\\/insitu\\\/?$\/.test(location.pathname)) return;\r\n\r\n  \/\/ Desactivar en m\u00f3vil (mejor UX nativa)\r\n  if (window.matchMedia(\"(max-width: 768px)\").matches) return;\r\n\r\n  \/\/ Altura cabecera sticky\r\n  const HEADER_OFFSET = 145;   \/\/ px\r\n  const EXTRA_GAP = 10;        \/\/ px (opcional, para que no quede pegado)\r\n\r\n  const maxDuration = 900; \/\/ ms\r\n  const minDuration = 350; \/\/ ms\r\n\r\n  function easeInOut(t) {\r\n    return t < 0.5\r\n      ? 2 * t * t\r\n      : 1 - Math.pow(-2 * t + 2, 2) \/ 2;\r\n  }\r\n\r\n  function smoothScrollTo(targetY) {\r\n    const startY = window.scrollY;\r\n    const distance = targetY - startY;\r\n    const startTime = performance.now();\r\n\r\n    const duration = Math.min(\r\n      maxDuration,\r\n      Math.max(minDuration, Math.abs(distance) * 0.6)\r\n    );\r\n\r\n    function step(now) {\r\n      const elapsed = now - startTime;\r\n      const progress = Math.min(elapsed \/ duration, 1);\r\n      const eased = easeInOut(progress);\r\n\r\n      window.scrollTo(0, startY + distance * eased);\r\n\r\n      if (progress < 1) requestAnimationFrame(step);\r\n    }\r\n\r\n    requestAnimationFrame(step);\r\n  }\r\n\r\n  function scrollToId(id){\r\n    const target = document.getElementById(id);\r\n    if (!target) return;\r\n\r\n    const y = target.getBoundingClientRect().top + window.scrollY - HEADER_OFFSET - EXTRA_GAP;\r\n    smoothScrollTo(Math.max(0, y));\r\n  }\r\n\r\n  \/\/ Click en anclas\r\n  document.addEventListener(\"click\", (e) => {\r\n    const link = e.target.closest('a[href^=\"#\"]');\r\n    if (!link) return;\r\n\r\n    const id = (link.getAttribute(\"href\") || \"\").slice(1);\r\n    if (!id) return;\r\n\r\n    e.preventDefault();\r\n    scrollToId(id);\r\n\r\n    \/\/ (Opcional) actualiza la URL sin saltar\r\n    if (history && history.pushState) history.pushState(null, \"\", \"#\" + id);\r\n  });\r\n\r\n  \/\/ Si entras con #hash en la URL, ajusta tambi\u00e9n\r\n  if (location.hash && location.hash.length > 1){\r\n    const id = decodeURIComponent(location.hash.slice(1));\r\n    \/\/ Espera 1 frame para que WP termine layout\r\n    requestAnimationFrame(() => scrollToId(id));\r\n  }\r\n})();\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que entienden el valor del tiempo compartido, de las conexiones aut\u00e9nticas y del networking hecho con calma. Situado en la sede de la Cambra de Comer\u00e7 de Barcelona, en la Avenida Diagonal 452, InSitu ofrece un ambiente tranquilo y [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"class_list":["post-120794","page","type-page","status-publish","hentry"],"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>InSitu | Club Cambra | Cambra de Comer\u00e7 de Barcelona<\/title>\n<meta name=\"description\" content=\"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cambrabcn.org\/es\/insitu\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"InSitu\" \/>\n<meta property=\"og:description\" content=\"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cambrabcn.org\/es\/insitu\/\" \/>\n<meta property=\"og:site_name\" content=\"Cambra de Comer\u00e7 de Barcelona\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-23T16:13:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@cambrabcn\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/\",\"url\":\"https:\/\/cambrabcn.org\/es\/insitu\/\",\"name\":\"InSitu | Club Cambra | Cambra de Comer\u00e7 de Barcelona\",\"isPartOf\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg\",\"datePublished\":\"2026-01-22T08:37:37+00:00\",\"dateModified\":\"2026-02-23T16:13:06+00:00\",\"description\":\"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.\",\"breadcrumb\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cambrabcn.org\/es\/insitu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage\",\"url\":\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg\",\"contentUrl\":\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cambrabcn.org\/es\/insitu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cambrabcn.org\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"InSitu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cambrabcn.org\/es\/#website\",\"url\":\"https:\/\/cambrabcn.org\/es\/\",\"name\":\"Cambra de Comer\u00e7 de Barcelona\",\"description\":\"La Cambra de Tothom\",\"publisher\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/#organization\"},\"alternateName\":\"Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cambrabcn.org\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cambrabcn.org\/es\/#organization\",\"name\":\"Cambra de Comer\u00e7 de Barcelona\",\"alternateName\":\"Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona\",\"url\":\"https:\/\/cambrabcn.org\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/cambrabcn.org\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2023\/11\/logo-cambra-300x77-1.png\",\"contentUrl\":\"https:\/\/cambrabcn.org\/wp-content\/uploads\/2023\/11\/logo-cambra-300x77-1.png\",\"width\":300,\"height\":77,\"caption\":\"Cambra de Comer\u00e7 de Barcelona\"},\"image\":{\"@id\":\"https:\/\/cambrabcn.org\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/cambrabcn\",\"https:\/\/www.instagram.com\/cambrabcn\/\",\"https:\/\/www.linkedin.com\/school\/cambrabcn\",\"https:\/\/www.youtube.com\/user\/PressCambrabcn\",\"https:\/\/ca.wikipedia.org\/wiki\/Cambra_Oficial_de_Comer\u00e7,_Ind\u00fastria_i_Navegaci\u00f3_de_Barcelona\",\"http:\/\/viaf.org\/viaf\/124017095\"],\"description\":\"La Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona \u00e9s una corporaci\u00f3 de dret p\u00fablic que presta serveis a les empreses, contribuint a la regeneraci\u00f3 del teixit econ\u00f2mic i la creaci\u00f3 d\u2019ocupaci\u00f3.\",\"email\":\"cambra@cambrabcn.cat\",\"telephone\":\"+34 93 416 93 00\",\"legalName\":\"La Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona\",\"foundingDate\":\"1886-01-01\",\"vatID\":\"Q0873001B\",\"taxID\":\"Q0873001B\",\"naics\":\"813910\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"InSitu | Club Cambra | Cambra de Comer\u00e7 de Barcelona","description":"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cambrabcn.org\/es\/insitu\/","og_locale":"es_ES","og_type":"article","og_title":"InSitu","og_description":"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.","og_url":"https:\/\/cambrabcn.org\/es\/insitu\/","og_site_name":"Cambra de Comer\u00e7 de Barcelona","article_modified_time":"2026-02-23T16:13:06+00:00","og_image":[{"width":2000,"height":1500,"url":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@cambrabcn","twitter_misc":{"Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/cambrabcn.org\/es\/insitu\/","url":"https:\/\/cambrabcn.org\/es\/insitu\/","name":"InSitu | Club Cambra | Cambra de Comer\u00e7 de Barcelona","isPartOf":{"@id":"https:\/\/cambrabcn.org\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage"},"image":{"@id":"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage"},"thumbnailUrl":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg","datePublished":"2026-01-22T08:37:37+00:00","dateModified":"2026-02-23T16:13:06+00:00","description":"InSitu es el punto de encuentro del Club Cambra: un entorno pensado para empresarios y empresarias que valoran el tiempo compartido.","breadcrumb":{"@id":"https:\/\/cambrabcn.org\/es\/insitu\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cambrabcn.org\/es\/insitu\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/cambrabcn.org\/es\/insitu\/#primaryimage","url":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg","contentUrl":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2026\/01\/background-hero-insitu-1024x768.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/cambrabcn.org\/es\/insitu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cambrabcn.org\/es\/"},{"@type":"ListItem","position":2,"name":"InSitu"}]},{"@type":"WebSite","@id":"https:\/\/cambrabcn.org\/es\/#website","url":"https:\/\/cambrabcn.org\/es\/","name":"Cambra de Comer\u00e7 de Barcelona","description":"La Cambra de Tothom","publisher":{"@id":"https:\/\/cambrabcn.org\/es\/#organization"},"alternateName":"Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cambrabcn.org\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/cambrabcn.org\/es\/#organization","name":"Cambra de Comer\u00e7 de Barcelona","alternateName":"Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona","url":"https:\/\/cambrabcn.org\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/cambrabcn.org\/es\/#\/schema\/logo\/image\/","url":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2023\/11\/logo-cambra-300x77-1.png","contentUrl":"https:\/\/cambrabcn.org\/wp-content\/uploads\/2023\/11\/logo-cambra-300x77-1.png","width":300,"height":77,"caption":"Cambra de Comer\u00e7 de Barcelona"},"image":{"@id":"https:\/\/cambrabcn.org\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/cambrabcn","https:\/\/www.instagram.com\/cambrabcn\/","https:\/\/www.linkedin.com\/school\/cambrabcn","https:\/\/www.youtube.com\/user\/PressCambrabcn","https:\/\/ca.wikipedia.org\/wiki\/Cambra_Oficial_de_Comer\u00e7,_Ind\u00fastria_i_Navegaci\u00f3_de_Barcelona","http:\/\/viaf.org\/viaf\/124017095"],"description":"La Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona \u00e9s una corporaci\u00f3 de dret p\u00fablic que presta serveis a les empreses, contribuint a la regeneraci\u00f3 del teixit econ\u00f2mic i la creaci\u00f3 d\u2019ocupaci\u00f3.","email":"cambra@cambrabcn.cat","telephone":"+34 93 416 93 00","legalName":"La Cambra Oficial de Comer\u00e7, Ind\u00fastria, Serveis i Navegaci\u00f3 de Barcelona","foundingDate":"1886-01-01","vatID":"Q0873001B","taxID":"Q0873001B","naics":"813910"}]}},"mfb_rest_fields":["pp_statuses_selecting_workflow","pp_workflow_action","pp_status_selection","yoast_head","yoast_head_json"],"_links":{"self":[{"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/pages\/120794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/comments?post=120794"}],"version-history":[{"count":2,"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/pages\/120794\/revisions"}],"predecessor-version":[{"id":120812,"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/pages\/120794\/revisions\/120812"}],"wp:attachment":[{"href":"https:\/\/cambrabcn.org\/es\/wp-json\/wp\/v2\/media?parent=120794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}