{"id":494,"date":"2025-01-14T14:08:42","date_gmt":"2025-01-14T19:08:42","guid":{"rendered":"https:\/\/arquitectura.mauryarte.com\/?page_id=494"},"modified":"2025-07-21T16:39:41","modified_gmt":"2025-07-21T21:39:41","slug":"cafe-patio-bonito","status":"publish","type":"page","link":"https:\/\/arquitectura.mauryarte.com\/es\/portfolio\/cafe-patio-bonito\/","title":{"rendered":"Contemporary Caf\u00e9 Design"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"494\" class=\"elementor elementor-494\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b081d29 e-flex e-con-boxed e-con e-parent\" data-id=\"b081d29\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d9d8b0b elementor-widget elementor-widget-html\" data-id=\"d9d8b0b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<nav id=\"barra-navegacion-portfolio1\">\n    <a href=\"#seccion1-portfolio1\" class=\"punto-navegacion\"><\/a>\n    <a href=\"#seccion2-portfolio1\" class=\"punto-navegacion\"><\/a>\n    <a href=\"#seccion3-portfolio1\" class=\"punto-navegacion\"><\/a>\n    <a href=\"#seccion4-portfolio1\" class=\"punto-navegacion\"><\/a>\n    <a href=\"#seccion5-portfolio1\" class=\"punto-navegacion\"><\/a>\n    <a href=\"#seccion6-portfolio1\" class=\"punto-navegacion\"><\/a>\n<\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a047302 elementor-section-full_width elementor-section-height-min-height elementor-section-height-default elementor-section-items-middle\" data-id=\"a047302\" data-element_type=\"section\" id=\"seccion1-portfolio1\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-52d3d12\" data-id=\"52d3d12\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-507c8118 elementor-widget elementor-widget-html\" data-id=\"507c8118\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"Projects-Caf\u00e9\" class=\"projects-cafe-section\">\n  <div class=\"text-container\">\n    <!-- Subt\u00edtulo 1 -->\n    <div class=\"subtitle-1\">\n      <p class=\"new-subtitle\">\n        <span class=\"subtitle-line\">Caf\u00e9 Remodel, Medell\u00edn <span class=\"vertical-divider\">|<\/span> Client: Man&Obra<\/span>\n        <span class=\"subtitle-line second-line\">Design & Rendering: MAURYARTE<\/span>\n      <\/p>\n    <\/div>\n    \n    <!-- T\u00edtulo 1 -->\n    <div class=\"title-1\">\n      <p class=\"new-title\">ALMA CAF\u00c9<\/p>\n    <\/div>\n    \n    <!-- Subt\u00edtulo 2 -->\n    <div class=\"subtitle-2\">\n      <p class=\"new-subtitle-2\">\n        <span class=\"subtitle-line-2\">We craft spaces where light, form, and nature unite to create a timeless and unforgettable experience.\n\n<\/span>\n      <\/p>\n    <\/div>\n\n    <!-- Bot\u00f3n -->\n    <div class=\"contact-button-container\">\n      <a href=\"#seccion2-portfolio1\" class=\"contact-button\">READ MORE<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* Estilos generales de la secci\u00f3n *\/\n.projects-cafe-section {\n  padding: 50px 0;\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  transform: translateX(-50%);\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n\/* Estilos generales del contenedor *\/\n.projects-cafe-section .text-container {\n  text-align: left;\n  padding: 20px;\n  max-width: 100%;\n  color: #ffffff;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n\/* ===== SUBT\u00cdTULO 1 ===== *\/\n.projects-cafe-section .subtitle-1 .new-subtitle {\n  font-size: 0.74em;\n  font-weight: 500;\n  letter-spacing: 3px;\n  margin: 0;\n  line-height: 1.6;\n  text-transform: uppercase;\n}\n\n.projects-cafe-section .subtitle-1 .subtitle-line {\n  display: block;\n}\n\n.projects-cafe-section .subtitle-1 .second-line {\n  display: block;\n  margin-top: 4px; \/* Espacio entre l\u00edneas *\/\n}\n\n\/* Barra vertical para Subt\u00edtulo 1 *\/\n.projects-cafe-section .subtitle-1 .vertical-divider {\n  display: inline-block;\n  margin: 0 12px;\n  font-weight: 200;\n  opacity: 0.7;\n  font-size: 1.5em;\n  line-height: 0.5em;\n  vertical-align: middle;\n}\n\n\/* ===== T\u00cdTULO 1 ===== *\/\n.projects-cafe-section .title-1 .new-title {\n  font-size: 2em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 10px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n}\n\n\/* ===== SUBT\u00cdTULO 2 ===== *\/\n.projects-cafe-section .subtitle-2 .new-subtitle-2 {\n  font-size: 0.8em;\n  font-weight: 400;\n  letter-spacing: 2px;\n  margin: 0 0 30px 0;\n  line-height: 1.6;\n  text-transform: none;\n  font-style: italic;\n}\n\n\/* ===== BOT\u00d3N ===== *\/\n.projects-cafe-section .contact-button-container {\n  margin-top: 20px;\n}\n\n.projects-cafe-section .contact-button {\n  display: inline-block;\n  padding: 13px 30px;\n  font-size: 0.75em;\n  font-weight: 500;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  text-decoration: none;\n  color: #ffffff;\n  background-color: transparent;\n  border: 0.3px solid #ffffff;\n  position: relative;\n  overflow: hidden;\n  transition: color 0.5s ease;\n}\n\n\/* Efecto de llenado desde la izquierda *\/\n.projects-cafe-section .contact-button::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 0;\n  height: 100%;\n  background-color: #ffffff;\n  transition: width 0.5s ease;\n  z-index: -1;\n}\n\n\/* Al pasar el mouse, el fondo se llena desde la izquierda *\/\n.projects-cafe-section .contact-button:hover::before {\n  width: 100%;\n}\n\n\/* Al pasar el mouse, el texto cambia a negro (para contraste con el fondo blanco) *\/\n.projects-cafe-section .contact-button:hover {\n  color: #1a1a1a;\n}\n\n\/* ===== RESPONSIVE ===== *\/\n@media (max-width: 1024px) {\n  .projects-cafe-section .subtitle-1 .new-subtitle {\n    font-size: 0.8em;\n    letter-spacing: 6px;\n  }\n  .projects-cafe-section .title-1 .new-title {\n    font-size: 1.8em;\n  }\n  .projects-cafe-section .subtitle-2 .new-subtitle-2 {\n    font-size: 0.75em;\n  }\n  .projects-cafe-section .subtitle-1 .vertical-divider {\n    margin: 0 8px;\n  }\n  .projects-cafe-section .contact-button {\n    padding: 12px 25px;\n    font-size: 0.9em;\n  }\n}\n\n@media (max-width: 768px) {\n  .projects-cafe-section .text-container {\n    padding: 15px;\n  }\n  .projects-cafe-section .subtitle-1 .new-subtitle {\n    font-size: 0.7em;\n    letter-spacing: 4px;\n  }\n  .projects-cafe-section .title-1 .new-title {\n    font-size: 1.5em;\n    letter-spacing: 2px;\n  }\n  .projects-cafe-section .subtitle-2 .new-subtitle-2 {\n    font-size: 0.7em;\n  }\n  .projects-cafe-section .subtitle-1 .vertical-divider {\n    margin: 0 6px;\n    font-size: 1.2em;\n  }\n  .projects-cafe-section .contact-button {\n    padding: 10px 20px;\n    font-size: 0.85em;\n  }\n}\n\n@media (max-width: 480px) {\n  .projects-cafe-section .title-1 .new-title {\n    font-size: 1.3em;\n  }\n  .projects-cafe-section .subtitle-2 .new-subtitle-2 {\n    font-size: 0.65em;\n  }\n  .projects-cafe-section .contact-button {\n    padding: 8px 15px;\n    font-size: 0.8em;\n  }\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-3d118d3 e-flex e-con-boxed e-con e-parent\" data-id=\"3d118d3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8b8d3a8 elementor-widget elementor-widget-html\" data-id=\"8b8d3a8\" data-element_type=\"widget\" id=\"seccion2-portfolio1\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"cafe-design-brief-section\">\n  <div class=\"content-wrapper\">\n    <!-- Contenedor para la imagen a la izquierda -->\n    <div class=\"image-container\">\n      <img decoding=\"async\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp\" alt=\"Plano Caf\u00e9 Terraza\" class=\"reveal-image-cafe\">\n    <\/div>\n    <!-- Contenedor para el texto y la barra a la derecha -->\n    <div class=\"content-container\">\n      <div class=\"cafe-vertical-bar\"><\/div>\n      <div class=\"cafe-content\">\n        <!-- T\u00edtulo -->\n        <div class=\"cafe-main-title\">\n          <p class=\"cafe-title-text\">DESIGN BRIEF<\/p>\n        <\/div>\n        <!-- P\u00e1rrafos -->\n        <div class=\"cafe-paragraphs\">\n          <p class=\"cafe-paragraph\">\n            The project transforms a house in Patio Bonito, El Poblado, Medell\u00edn into a contemporary coworking caf\u00e9, blending steel, wood, exposed concrete and abundant vegetation to connect with the urban nature. Designed as a multifunctional, creative and comfortable space, it balances steel's industrial character with wood's natural warmth. Strategic greenery - including interior gardens and vertical plant walls - enhances this dialogue while creating work and lounge areas that foster interaction and wellbeing. The material palette prioritizes sustainability through recyclable and energy-efficient solutions.\n \n          <\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* Estructura base *\/\n.cafe-design-brief-section {\n  background-color: #E3E4E5; \/* Fondo blanco *\/\n  color: #000000; \/* Texto negro para contraste *\/\n  padding: 50px 0;\n  min-height: 100vh;\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  transform: translateX(-50%);\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n.content-wrapper {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 20px;\n  box-sizing: border-box;\n}\n\n\/* Contenedor de la imagen a la izquierda *\/\n.image-container {\n  width: 50%;\n  max-width: 500px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.reveal-image-cafe {\n  max-width: 100%;\n  opacity: 1;\n  -webkit-mask-image: linear-gradient(\n    135deg,\n    transparent 0%,\n    transparent 0%,\n    black 0%,\n    black 0%\n  );\n  mask-image: linear-gradient(\n    135deg,\n    transparent 0%,\n    transparent 0%,\n    black 0%,\n    black 0%\n  );\n  transition: -webkit-mask-image 1s ease-out, mask-image 1s ease-out;\n}\n\n\/* Contenedor del texto y la barra a la derecha *\/\n.content-container {\n  position: relative;\n  width: calc(50% - 100px);\n  max-width: 700px;\n  padding-left: 30px;\n  box-sizing: border-box;\n}\n\n\/* Barra vertical con animaci\u00f3n *\/\n.cafe-vertical-bar {\n  position: absolute;\n  left: 0;\n  top: 0;\n  width: 0.1px;\n  background-color: rgba(0, 0, 0, 0.2); \/* Barra en negro con opacidad para fondo blanco *\/\n  height: 0;\n  transition: height 1s ease-out;\n  transform-origin: top;\n}\n\n\/* Estilos \u00fanicos para el t\u00edtulo *\/\n.cafe-main-title .cafe-title-text {\n  font-size: 1.6em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 40px 0 20px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: center;\n}\n\n\/* Estilos \u00fanicos para los p\u00e1rrafos *\/\n.cafe-paragraphs .cafe-paragraph {\n  font-size: 0.83em;\n  font-weight: 200;\n  letter-spacing: 1.5px;\n  margin: 0 0 20px 0;\n  line-height: 1.8;\n  text-transform: none;\n  font-style: normal;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: justify; \/* Ajuste cuadrado: texto justificado *\/\n}\n\n\/* ===== RESPONSIVE ===== *\/\n@media (max-width: 1024px) {\n  .content-wrapper {\n    flex-direction: column;\n    align-items: center;\n  }\n\n  .image-container {\n    width: 70%;\n    margin-bottom: 40px;\n  }\n\n  .content-container {\n    width: 70%;\n  }\n\n  .cafe-main-title .cafe-title-text {\n    font-size: 1.8em;\n  }\n\n  .cafe-paragraphs .cafe-paragraph {\n    font-size: 0.9em;\n  }\n}\n\n@media (max-width: 768px) {\n  .content-wrapper {\n    padding: 0 15px;\n  }\n\n  .image-container {\n    width: 90%;\n    margin-bottom: 30px;\n  }\n\n  .content-container {\n    width: 90%;\n    padding-left: 20px;\n  }\n\n  .cafe-main-title .cafe-title-text {\n    font-size: 1.5em;\n    letter-spacing: 2px;\n  }\n\n  .cafe-paragraphs .cafe-paragraph {\n    font-size: 0.8em;\n  }\n\n  .cafe-vertical-bar {\n    width: 80%;\n    height: 0.1px;\n    position: relative;\n    left: 0;\n    top: 0;\n    margin: 0 auto 20px auto;\n    transition: width 1s ease-out;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  const verticalBar = document.querySelector('.cafe-vertical-bar');\n  const contentContainer = document.querySelector('.content-container');\n  const revealImage = document.querySelector('.reveal-image-cafe');\n  let isMobile = window.innerWidth <= 768;\n\n  \/\/ Funci\u00f3n para la animaci\u00f3n de la barra vertical\n  function updateBarHeight() {\n    if (!contentContainer || !verticalBar) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.7;\n    const endPoint = windowHeight * 0.3;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    } else if (topPosition > startPoint) {\n      progress = 0;\n    }\n\n    if (isMobile) {\n      verticalBar.style.width = `${progress * 80}%`;\n    } else {\n      verticalBar.style.height = `${progress * 100}%`;\n    }\n  }\n\n  \/\/ Funci\u00f3n para la animaci\u00f3n de la imagen\n  function revealImageOnScroll() {\n    if (!contentContainer || !revealImage) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.9;\n    const endPoint = windowHeight * 0.5;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    } else if (topPosition > startPoint) {\n      progress = 0;\n    }\n\n    const revealPoint = progress * 150;\n    const fadeStart = Math.max(0, revealPoint - 30);\n    const fadeEnd = revealPoint;\n\n    const mask = `linear-gradient(135deg, black ${fadeStart}%, transparent ${fadeEnd}%)`;\n    revealImage.style.webkitMaskImage = mask;\n    revealImage.style.maskImage = mask;\n  }\n\n  \/\/ Ejecutar animaciones en el evento de scroll\n  window.addEventListener('scroll', () => {\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  \/\/ Ejecutar animaciones en el evento de resize\n  window.addEventListener('resize', function () {\n    isMobile = window.innerWidth <= 768;\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  \/\/ Ejecutar animaciones al cargar la p\u00e1gina\n  updateBarHeight();\n  revealImageOnScroll();\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d9d9414 e-flex e-con-boxed e-con e-parent\" data-id=\"d9d9414\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1998605 elementor-widget__width-inherit elementor-widget elementor-widget-image\" data-id=\"1998605\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A6-Noche.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"Caf\u00e9 Patio Bonito\" data-elementor-lightbox-description=\"Hey, this 3D Render is \u00a9 Mauryarte\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NTg0LCJ1cmwiOiJodHRwczpcL1wvYXJxdWl0ZWN0dXJhLm1hdXJ5YXJ0ZS5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcL0E2LU5vY2hlLmpwZyJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/elementor\/thumbs\/A6-Noche-r00hh4ru5uikdngw03xoavg04ftlz4tc4mqb839ymg.jpg\" title=\"Caf\u00e9 Patio Bonito\" alt=\"Hey, this 3D Render is \u00a9 Mauryarte\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-98c1624 e-flex e-con-boxed e-con e-parent\" data-id=\"98c1624\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e30a29 elementor-widget elementor-widget-html\" data-id=\"2e30a29\" data-element_type=\"widget\" id=\"seccion3-portfolio1\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- SECCI\u00d3N 2 - VERSI\u00d3N MEJORADA -->\n<div class=\"cafe-design-brief-section-2\" id=\"section2\">\n  <div class=\"content-wrapper\">\n    <!-- Contenedor texto + barra (controlar posici\u00f3n con data-bar-side) -->\n    <div class=\"content-container\" data-bar-side=\"right\"> <!-- Cambiar a \"left\" para barra izquierda -->\n      <div class=\"cafe-vertical-bar\"><\/div>\n      <div class=\"cafe-content\">\n        <!-- T\u00edtulo -->\n        <div class=\"cafe-main-title\">\n          <p class=\"cafe-title-text\"><\/p>\n        <\/div>\n        <!-- P\u00e1rrafos -->\n        <div class=\"cafe-paragraphs\">\n          <p class=\"cafe-paragraph\">\n            On the first floor is the caf\u00e9, a cozy and bright space that invites you to enjoy a relaxing break. Here, the exposed concrete walls and visible steel structure create an industrial-style environment, while wood details add warmth to the space. Large windows allow natural light to flood the area, making it an ideal place to socialize or work peacefully. The vegetation, with strategically placed plants, not only decorates but also contributes to a fresh and harmonious atmosphere that connects with the outdoors.\n          <\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n    <!-- Imagen -->\n    <div class=\"image-container\">\n      <img decoding=\"async\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Cafe-Plano-2.5.webp\" alt=\"Plano Caf\u00e9 Piso 1\" class=\"reveal-image-cafe\">\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* ESTRUCTURA BASE *\/\n.cafe-design-brief-section-2 {\n  background-color: #32302f;\n  color: #858585;\n  padding: 50px 0;\n  min-height: 100vh;\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  transform: translateX(-50%);\n  overflow: visible; \/* Cambiado para permitir que la barra sea visible *\/\n  box-sizing: border-box;\n}\n\n.content-wrapper {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 20px;\n  box-sizing: border-box;\n}\n\n\/* SISTEMA DE BARRA TOGGLEABLE *\/\n.content-container[data-bar-side=\"left\"] {\n  padding-left: 50px; \/* Espacio para barra izquierda *\/\n  padding-right: 0;\n}\n\n.content-container[data-bar-side=\"left\"] .cafe-vertical-bar {\n  left: -30px; \/* Posici\u00f3n barra izquierda *\/\n  right: auto;\n}\n\n.content-container[data-bar-side=\"right\"] {\n  padding-right: 50px; \/* Espacio para barra derecha *\/\n  padding-left: 0;\n}\n\n.content-container[data-bar-side=\"right\"] .cafe-vertical-bar {\n  right: -30px; \/* Posici\u00f3n barra derecha *\/\n  left: auto;\n}\n\n\/* BARRA VERTICAL ANIMADA (com\u00fan para ambos lados) *\/\n.cafe-vertical-bar {\n  position: absolute;\n  top: 0;\n  width: 1px;\n  background-color: #858585 !important; \/* \u00a1Cambia este valor! *\/\n  opacity: 0.6 !important; \/* Forzar opacidad al 60% *\/\n  height: 0;\n  transition: height 1s ease-out;\n  transform-origin: top;\n  z-index: 2;\n}\n\n\/* ESTILOS DE TEXTO *\/\n.cafe-main-title .cafe-title-text {\n  font-size: 1.6em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 40px 0 20px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: center;\n}\n\n.cafe-paragraphs .cafe-paragraph {\n  font-size: 0.83em;\n  font-weight: 200;\n  letter-spacing: 1.5px;\n  margin: 0 0 20px 0;\n  line-height: 1.8;\n  text-transform: none;\n  font-style: normal;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: justify;\n}\n\n\/* IMAGEN *\/\n.image-container {\n  width: 50%;\n  max-width: 500px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n.reveal-image-cafe {\n  max-width: 100%;\n  opacity: 1;\n  -webkit-mask-image: linear-gradient(135deg, transparent 0%, transparent 0%, black 0%, black 0%);\n  mask-image: linear-gradient(135deg, transparent 0%, transparent 0%, black 0%, black 0%);\n  transition: -webkit-mask-image 1s ease-out, mask-image 1s ease-out;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 1024px) {\n  .content-wrapper {\n    flex-direction: column;\n    align-items: center;\n  }\n\n  .image-container {\n    width: 70%;\n    margin-top: 40px;\n  }\n\n  .content-container {\n    width: 70%;\n    padding: 0 !important; \/* Reset para m\u00f3vil *\/\n  }\n}\n\n@media (max-width: 768px) {\n  .content-wrapper {\n    padding: 0 15px;\n  }\n\n  .image-container {\n    width: 90%;\n    margin-top: 30px;\n  }\n\n  .content-container {\n    width: 90%;\n  }\n\n  .cafe-vertical-bar {\n    width: 0;\n    height: 1px;\n    position: relative;\n    left: 50% !important;\n    right: auto !important;\n    transform: translateX(-50%);\n    margin: 20px 0;\n    transition: width 1s ease-out;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Elementos \u00fanicos para la secci\u00f3n 2\n  const verticalBar = document.querySelector('#section2 .cafe-vertical-bar');\n  const contentContainer = document.querySelector('#section2 .content-container');\n  const revealImage = document.querySelector('#section2 .reveal-image-cafe');\n  let isMobile = window.innerWidth <= 768;\n\n  \/\/ Animaci\u00f3n barra vertical\n  function updateBarHeight() {\n    if (!contentContainer || !verticalBar) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.7;\n    const endPoint = windowHeight * 0.3;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    }\n\n    if (isMobile) {\n      verticalBar.style.width = `${progress * 80}%`;\n    } else {\n      verticalBar.style.height = `${progress * rect.height}px`;\n    }\n  }\n\n  \/\/ Animaci\u00f3n imagen \n  function revealImageOnScroll() {\n    if (!contentContainer || !revealImage) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.9;\n    const endPoint = windowHeight * 0.5;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    }\n\n    const revealPoint = progress * 150;\n    const fadeStart = Math.max(0, revealPoint - 30);\n    const fadeEnd = revealPoint;\n\n    const mask = `linear-gradient(135deg, black ${fadeStart}%, transparent ${fadeEnd}%)`;\n    revealImage.style.webkitMaskImage = mask;\n    revealImage.style.maskImage = mask;\n  }\n\n  \/\/ Eventos\n  window.addEventListener('scroll', () => {\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  window.addEventListener('resize', () => {\n    isMobile = window.innerWidth <= 768;\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  \/\/ Inicializaci\u00f3n\n  updateBarHeight();\n  revealImageOnScroll();\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cb4d578 e-flex e-con-boxed e-con e-parent\" data-id=\"cb4d578\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-abef6df elementor-widget elementor-widget-html\" data-id=\"abef6df\" data-element_type=\"widget\" id=\"seccion4-portfolio1\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"cafe-design-brief-section-3\" id=\"section3\">\n  <div class=\"content-wrapper\">\n    <!-- Contenedor imagen -->\n    <div class=\"image-container\">\n      <img decoding=\"async\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-Cafe-2.webp\" alt=\"Plano Caf\u00e9 Terrazas\" class=\"reveal-image-cafe\">\n    <\/div>\n    \n    <!-- Contenedor texto + barra -->\n    <div class=\"content-container\" data-bar-side=\"left\">\n      <div class=\"cafe-vertical-bar\"><\/div>\n      <div class=\"cafe-content\">\n        <div class=\"cafe-main-title\">\n          <p class=\"cafe-title-text\"><\/p>\n        <\/div>\n        <div class=\"cafe-paragraphs\">\n          <p class=\"cafe-paragraph\">\n           The caf\u00e9's terraces are open spaces that seamlessly integrate with the surroundings, designed to create a welcoming and relaxing atmosphere both day and night. With carefully planned design, natural light filters softly through the surrounding vegetation, creating shaded areas perfect for enjoying a peaceful afternoon. The combination of wooden furniture and steel details continues the industrial theme, while soft, warm artificial lighting transforms the space at night into an intimate and cozy environment - ideal for pleasant evening gatherings with friends or colleagues. Modular furniture and strategically placed plants not only enhance aesthetics but also allow visitors to enjoy the natural setting in complete comfort.\n          <\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* ===== ESTILOS ENCAPSULADOS #section3 ===== *\/\n#section3.cafe-design-brief-section-3 {\n  background-color: #E3E4E5;\n  color: #000000;\n  padding: 50px 0;\n  min-height: 100vh;\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  transform: translateX(-50%);\n  overflow: visible;\n  box-sizing: border-box;\n}\n\n#section3 .content-wrapper {\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 20px;\n  box-sizing: border-box;\n}\n\n\/* Sistema de barra encapsulado *\/\n#section3 .content-container[data-bar-side=\"left\"] {\n  padding-left: 50px;\n  padding-right: 0;\n}\n\n#section3 .content-container[data-bar-side=\"left\"] .cafe-vertical-bar {\n  left: -30px;\n  right: auto;\n}\n\n#section3 .content-container[data-bar-side=\"right\"] {\n  padding-right: 50px;\n  padding-left: 0;\n}\n\n#section3 .content-container[data-bar-side=\"right\"] .cafe-vertical-bar {\n  right: -30px;\n  left: auto;\n}\n\n\/* Barra vertical \u00fanica para esta secci\u00f3n *\/\n#section3 .cafe-vertical-bar {\n  position: absolute;\n  top: 0;\n  width: 1px;\n  background-color: rgba(0,0,0,0.4) !important;\n  height: 0;\n  transition: height 1s ease-out;\n  transform-origin: top;\n  z-index: 2;\n  opacity: 1 !important;\n}\n\n\/* Imagen *\/\n#section3 .image-container {\n  width: 50%;\n  max-width: 500px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n}\n\n#section3 .reveal-image-cafe {\n  max-width: 100%;\n  opacity: 1;\n  -webkit-mask-image: linear-gradient(135deg, transparent 0%, transparent 0%, black 0%, black 0%);\n  mask-image: linear-gradient(135deg, transparent 0%, transparent 0%, black 0%, black 0%);\n  transition: -webkit-mask-image 1s ease-out, mask-image 1s ease-out;\n}\n\n\/* Texto *\/\n#section3 .cafe-main-title .cafe-title-text {\n  font-size: 1.6em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 40px 0 20px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: center;\n}\n\n#section3 .cafe-paragraphs .cafe-paragraph {\n  font-size: 0.83em;\n  font-weight: 200;\n  letter-spacing: 1.5px;\n  margin: 0 0 20px 0;\n  line-height: 1.8;\n  text-transform: none;\n  font-style: normal;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  text-align: justify;\n}\n\n\/* Responsive encapsulado *\/\n@media (max-width: 1024px) {\n  #section3 .content-wrapper {\n    flex-direction: column;\n    align-items: center;\n  }\n\n  #section3 .image-container {\n    width: 70%;\n    margin-bottom: 40px;\n  }\n\n  #section3 .content-container {\n    width: 70%;\n    padding: 0 !important;\n  }\n}\n\n@media (max-width: 768px) {\n  #section3 .content-wrapper {\n    padding: 0 15px;\n  }\n\n  #section3 .image-container {\n    width: 90%;\n  }\n\n  #section3 .content-container {\n    width: 90%;\n  }\n\n  #section3 .cafe-vertical-bar {\n    width: 0;\n    height: 1px;\n    position: relative;\n    left: 50% !important;\n    transform: translateX(-50%);\n    margin: 20px 0;\n    transition: width 1s ease-out;\n  }\n}\n<\/style>\n\n<script>\n\/\/ JavaScript 100% encapsulado para #section3\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Selectores espec\u00edficos\n  const verticalBar = document.querySelector('#section3 .cafe-vertical-bar');\n  const contentContainer = document.querySelector('#section3 .content-container');\n  const revealImage = document.querySelector('#section3 .reveal-image-cafe');\n  let isMobile = window.innerWidth <= 768;\n\n  function updateBarHeight() {\n    if (!contentContainer || !verticalBar) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.7;\n    const endPoint = windowHeight * 0.3;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    }\n\n    if (isMobile) {\n      verticalBar.style.width = `${progress * 80}%`;\n    } else {\n      verticalBar.style.height = `${progress * rect.height}px`;\n    }\n  }\n\n  function revealImageOnScroll() {\n    if (!contentContainer || !revealImage) return;\n\n    const rect = contentContainer.getBoundingClientRect();\n    const windowHeight = window.innerHeight;\n    const startPoint = windowHeight * 0.9;\n    const endPoint = windowHeight * 0.5;\n    const topPosition = rect.top;\n    let progress = 0;\n\n    if (topPosition <= startPoint && topPosition >= endPoint) {\n      progress = (startPoint - topPosition) \/ (startPoint - endPoint);\n    } else if (topPosition < endPoint) {\n      progress = 1;\n    }\n\n    const revealPoint = progress * 150;\n    const fadeStart = Math.max(0, revealPoint - 30);\n    const fadeEnd = revealPoint;\n\n    const mask = `linear-gradient(135deg, black ${fadeStart}%, transparent ${fadeEnd}%)`;\n    revealImage.style.webkitMaskImage = mask;\n    revealImage.style.maskImage = mask;\n  }\n\n  window.addEventListener('scroll', () => {\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  window.addEventListener('resize', () => {\n    isMobile = window.innerWidth <= 768;\n    updateBarHeight();\n    revealImageOnScroll();\n  });\n\n  updateBarHeight();\n  revealImageOnScroll();\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5140c41 e-con-full e-flex e-con e-parent\" data-id=\"5140c41\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4cb28c3 elementor-widget__width-inherit elementor-widget-mobile__width-auto elementor-widget elementor-widget-image\" data-id=\"4cb28c3\" data-element_type=\"widget\" id=\"seccion5-portfolio1\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1616\" height=\"1316\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix.jpg\" class=\"attachment-full size-full wp-image-596\" alt=\"\" srcset=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix.jpg 1616w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix-300x244.jpg 300w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix-1024x834.jpg 1024w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix-768x625.jpg 768w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A4_Interactive-LightMix-1536x1251.jpg 1536w\" sizes=\"(max-width: 1616px) 100vw, 1616px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eb0bc1c e-con-full e-flex e-con e-child\" data-id=\"eb0bc1c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9ecc1bb elementor-widget__width-inherit elementor-widget-mobile__width-auto elementor-widget elementor-widget-image\" data-id=\"9ecc1bb\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1313\" height=\"627\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A11.jpg\" class=\"attachment-full size-full wp-image-597\" alt=\"\" srcset=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A11.jpg 1313w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A11-300x143.jpg 300w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A11-1024x489.jpg 1024w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A11-768x367.jpg 768w\" sizes=\"(max-width: 1313px) 100vw, 1313px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8da0e0b elementor-widget__width-inherit elementor-widget-mobile__width-auto elementor-widget elementor-widget-image\" data-id=\"8da0e0b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1313\" height=\"627\" src=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A9_Interactive-LightMix.jpg\" class=\"attachment-full size-full wp-image-602\" alt=\"\" srcset=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A9_Interactive-LightMix.jpg 1313w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A9_Interactive-LightMix-300x143.jpg 300w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A9_Interactive-LightMix-1024x489.jpg 1024w, https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/A9_Interactive-LightMix-768x367.jpg 768w\" sizes=\"(max-width: 1313px) 100vw, 1313px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-66c98fd e-flex e-con-boxed e-con e-parent\" data-id=\"66c98fd\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6054e4e elementor-widget elementor-widget-html\" data-id=\"6054e4e\" data-element_type=\"widget\" id=\"seccion6-portfolio1\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"contact-projects\" class=\"contact-projects-section\">\n  <div class=\"contact-projects-wrapper\">\n    <!-- Contenedor del texto y formulario centrado -->\n    <div class=\"contact-projects-container\">\n      <div class=\"contact-projects-horizontal-bar\"><\/div>\n      <div class=\"contact-projects-content\">\n        <!-- Informaci\u00f3n de contacto -->\n        <div class=\"contact-projects-main-title\">\n          <p class=\"contact-projects-title-text\">mauryarte studio<\/p>\n        <\/div>\n        <div class=\"contact-projects-details\">\n          <p class=\"contact-projects-paragraph\">\n        \n            Medell\u00edn, Colombia\n          <\/p>\n          <p class=\"contact-projects-paragraph\">\n            email: <a href=\"mailto:projects@mauryarte.com\">projects@mauryarte.com<\/a>\n          <\/p>\n        <\/div>\n        <!-- Formulario -->\n        <div class=\"contact-form-title\">\n          <p class=\"contact-form-title-text\">Get in Touch<\/p>\n        <\/div>\n        <form class=\"contact-form\" action=\"\/send-email.php\" method=\"POST\" data-trp-original-action=\"\/send-email.php\">\n          <div class=\"form-group\">\n            <input type=\"text\" name=\"name\" placeholder=\"Name*\" required>\n          <\/div>\n          <div class=\"form-group\">\n            <input type=\"tel\" name=\"phone\" placeholder=\"Phone Number*\" required>\n          <\/div>\n          <div class=\"form-group\">\n            <input type=\"email\" name=\"email\" placeholder=\"Email Address*\" required>\n          <\/div>\n          <div class=\"form-group\">\n            <textarea name=\"message\" placeholder=\"Message\" rows=\"4\"><\/textarea>\n          <\/div>\n          <div class=\"form-group checkbox-group\">\n            <input type=\"checkbox\" name=\"privacy\" id=\"privacy\" value=\"Yes\" required>\n            <label for=\"privacy\">I understand that my data will be stored in accordance with the privacy policy<\/label>\n          <\/div>\n          <div style=\"display: none;\">\n            <input type=\"text\" name=\"honeypot\" value=\"\">\n          <\/div>\n          <div class=\"form-group\">\n            <button type=\"submit\" class=\"submit-button\">SUBMIT<\/button>\n          <\/div>\n          <div class=\"form-message\" style=\"display: none;\"><\/div>\n        <input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n\/* Estructura base para la secci\u00f3n de contacto *\/\n.contact-projects-section {\n  background-color: #ffffff;\n  color: #000000;\n  padding: 50px 0;\n  height: auto;\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  transform: translateX(-50%);\n  overflow: hidden;\n  box-sizing: border-box;\n}\n\n.contact-projects-wrapper {\n  width: 100%;\n  max-width: 800px; \/* M\u00e1s estrecho para centrado *\/\n  margin: 0 auto;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  padding: 0 20px;\n  box-sizing: border-box;\n}\n\n\/* Contenedor del contenido centrado *\/\n.contact-projects-container {\n  position: relative;\n  width: 100%;\n  max-width: 700px;\n  box-sizing: border-box;\n  text-align: center;\n}\n\n\/* Barra horizontal *\/\n.contact-projects-horizontal-bar {\n  width: 100px;\n  height: 1px;\n  background-color: rgba(0, 0, 0, 0.2);\n  margin: 0 auto 30px auto;\n}\n\n\/* Estilos para el t\u00edtulo de la informaci\u00f3n de contacto *\/\n.contact-projects-main-title .contact-projects-title-text {\n  font-size: 1.6em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 20px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n\/* Estilos para los detalles de contacto *\/\n.contact-projects-details .contact-projects-paragraph {\n  font-size: 0.83em;\n  font-weight: 200;\n  letter-spacing: 1.5px;\n  margin: 0 0 20px 0;\n  line-height: 1.8;\n  text-transform: none;\n  font-style: normal;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.contact-projects-details a {\n  color: #000000;\n  text-decoration: none;\n}\n\n.contact-projects-details a:hover {\n  text-decoration: underline;\n}\n\n\/* Estilos para el t\u00edtulo del formulario *\/\n.contact-form-title .contact-form-title-text {\n  font-size: 1.6em;\n  font-weight: 700;\n  letter-spacing: 4px;\n  margin: 40px 0 20px 0;\n  line-height: 1.2;\n  text-transform: uppercase;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n\/* Estilos del formulario *\/\n.contact-form {\n  display: flex;\n  flex-direction: column;\n  gap: 15px;\n  max-width: 500px;\n  margin: 0 auto;\n}\n\n.form-group {\n  display: flex;\n  flex-direction: column;\n}\n\n.form-group input,\n.form-group textarea {\n  width: 100%;\n  padding: 10px;\n  font-size: 0.83em;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  border: 1px solid #1a1a1a;\n  background-color: transparent;\n  outline: none;\n  box-sizing: border-box;\n}\n\n.form-group textarea {\n  resize: vertical;\n}\n\n.form-group input::placeholder,\n.form-group textarea::placeholder {\n  color: #1a1a1a;\n  opacity: 0.7;\n}\n\n.checkbox-group {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  font-size: 0.83em;\n  font-weight: 200;\n  letter-spacing: 1.5px;\n  line-height: 1.8;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  justify-content: center;\n  text-align: left;\n}\n\n.checkbox-group input {\n  width: auto;\n}\n\n.submit-button {\n  display: inline-block;\n  padding: 15px 30px;\n  font-size: 0.83em;\n  font-weight: 600;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  text-decoration: none;\n  color: #1a1a1a;\n  background-color: transparent;\n  border: 2px solid #1a1a1a;\n  position: relative;\n  overflow: hidden;\n  transition: color 0.5s ease;\n  cursor: pointer;\n  margin-top: 20px;\n}\n\n.submit-button::before {\n  content: '';\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 0;\n  height: 100%;\n  background-color: #ffffff;\n  transition: width 0.5s ease;\n  z-index: -1;\n}\n\n.submit-button:hover::before {\n  width: 100%;\n}\n\n.submit-button:hover {\n  color: #1a1a1a;\n}\n\n.form-message {\n  margin-top: 15px;\n  font-size: 0.93em;\n  font-weight: 400;\n  letter-spacing: 1.5px;\n  line-height: 1.8;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  color: #28a785;\n  text-align: center;\n}\n\n\/* ===== RESPONSIVE ===== *\/\n@media (max-width: 768px) {\n  .contact-projects-wrapper {\n    padding: 0 15px;\n  }\n\n  .contact-projects-main-title .contact-projects-title-text,\n  .contact-form-title .contact-form-title-text {\n    font-size: 1.4em;\n    letter-spacing: 2px;\n  }\n\n  .contact-projects-details .contact-projects-paragraph,\n  .form-group input,\n  .form-group textarea,\n  .checkbox-group {\n    font-size: 0.8em;\n  }\n\n  .submit-button {\n    padding: 12px 25px;\n    font-size: 0.8em;\n  }\n\n  .contact-projects-horizontal-bar {\n    margin-bottom: 20px;\n  }\n}\n\n@media (max-width: 480px) {\n  .contact-projects-section {\n    padding: 30px 0;\n  }\n\n  .contact-projects-main-title .contact-projects-title-text,\n  .contact-form-title .contact-form-title-text {\n    font-size: 1.2em;\n  }\n\n  .checkbox-group {\n    font-size: 0.75em;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ Manejar el env\u00edo del formulario con AJAX\n  document.querySelector('.contact-form').addEventListener('submit', function (e) {\n    e.preventDefault(); \/\/ Evitar que la p\u00e1gina se recargue\n\n    const form = this;\n    const formMessage = document.querySelector('.form-message');\n    const formData = new FormData(form);\n\n    fetch(form.action, {\n      method: 'POST',\n      body: formData\n    })\n      .then(response => response.text())\n      .then(data => {\n        if (data === 'success') {\n          formMessage.style.display = 'block';\n          formMessage.textContent = 'Thank you for your message, it has been sent.';\n          form.reset(); \/\/ Limpiar el formulario\n        } else {\n          formMessage.style.display = 'block';\n          formMessage.style.color = '#dc3545'; \/\/ Rojo para errores\n          formMessage.textContent = data; \/\/ Mostrar el mensaje de error\n        }\n      })\n      .catch(error => {\n        formMessage.style.display = 'block';\n        formMessage.style.color = '#dc3545'; \/\/ Rojo para errores\n        formMessage.textContent = 'Error al enviar el formulario. Por favor, intenta de nuevo.';\n      });\n  });\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Caf\u00e9 Remodel, Medell\u00edn | Client: Man&#038;Obra Design &#038; Rendering: MAURYARTE ALMA CAF\u00c9 We craft spaces where light, form, and nature unite to create a timeless and unforgettable experience. READ MORE DESIGN BRIEF The project transforms a house in Patio Bonito, El Poblado, Medell\u00edn into a contemporary coworking caf\u00e9, blending steel, wood, exposed concrete and abundant [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":138,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-494","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Contemporary Caf\u00e9 Design - Mauryarte Arquitectura<\/title>\n<meta name=\"description\" content=\"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/arquitectura.mauryarte.com\/es\/portfolio\/cafe-patio-bonito\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contemporary Caf\u00e9 Design - Mauryarte Arquitectura\" \/>\n<meta property=\"og:description\" content=\"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/arquitectura.mauryarte.com\/es\/portfolio\/cafe-patio-bonito\/\" \/>\n<meta property=\"og:site_name\" content=\"Mauryarte Arquitectura\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-21T21:39:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/\",\"url\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/\",\"name\":\"Contemporary Caf\u00e9 Design - Mauryarte Arquitectura\",\"isPartOf\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp\",\"datePublished\":\"2025-01-14T19:08:42+00:00\",\"dateModified\":\"2025-07-21T21:39:41+00:00\",\"description\":\"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.\",\"breadcrumb\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#breadcrumb\"},\"inLanguage\":\"es-CO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CO\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage\",\"url\":\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp\",\"contentUrl\":\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\/\/arquitectura.mauryarte.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Portfolio\",\"item\":\"https:\/\/arquitectura.mauryarte.com\/portfolio\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Contemporary Caf\u00e9 Design\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#website\",\"url\":\"https:\/\/arquitectura.mauryarte.com\/\",\"name\":\"Mauryarte Arquitectura\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/arquitectura.mauryarte.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CO\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#organization\",\"name\":\"Mauryarte Arquitectura\",\"url\":\"https:\/\/arquitectura.mauryarte.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CO\",\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Logo-Mauryarte-Texto-MAURYARTE-SOLO-SANSATION.png\",\"contentUrl\":\"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Logo-Mauryarte-Texto-MAURYARTE-SOLO-SANSATION.png\",\"width\":443,\"height\":65,\"caption\":\"Mauryarte Arquitectura\"},\"image\":{\"@id\":\"https:\/\/arquitectura.mauryarte.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contemporary Caf\u00e9 Design - Mauryarte Arquitectura","description":"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.","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:\/\/arquitectura.mauryarte.com\/es\/portfolio\/cafe-patio-bonito\/","og_locale":"es_ES","og_type":"article","og_title":"Contemporary Caf\u00e9 Design - Mauryarte Arquitectura","og_description":"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.","og_url":"https:\/\/arquitectura.mauryarte.com\/es\/portfolio\/cafe-patio-bonito\/","og_site_name":"Mauryarte Arquitectura","article_modified_time":"2025-07-21T21:39:41+00:00","og_image":[{"url":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/","url":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/","name":"Contemporary Caf\u00e9 Design - Mauryarte Arquitectura","isPartOf":{"@id":"https:\/\/arquitectura.mauryarte.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage"},"image":{"@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage"},"thumbnailUrl":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp","datePublished":"2025-01-14T19:08:42+00:00","dateModified":"2025-07-21T21:39:41+00:00","description":"Discover Caf\u00e9 Patio Bonito: a Colombian caf\u00e9 reimagined with oriental aesthetics, exposed concrete, lush greenery, and refined architectural expression. Designed for social connection and mindful workspaces.","breadcrumb":{"@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#breadcrumb"},"inLanguage":"es-CO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/"]}]},{"@type":"ImageObject","inLanguage":"es-CO","@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#primaryimage","url":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp","contentUrl":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Plano-cafe-1.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/arquitectura.mauryarte.com\/portfolio\/cafe-patio-bonito\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/arquitectura.mauryarte.com\/"},{"@type":"ListItem","position":2,"name":"Portfolio","item":"https:\/\/arquitectura.mauryarte.com\/portfolio\/"},{"@type":"ListItem","position":3,"name":"Contemporary Caf\u00e9 Design"}]},{"@type":"WebSite","@id":"https:\/\/arquitectura.mauryarte.com\/#website","url":"https:\/\/arquitectura.mauryarte.com\/","name":"Mauryarte Arquitectura","description":"","publisher":{"@id":"https:\/\/arquitectura.mauryarte.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/arquitectura.mauryarte.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CO"},{"@type":"Organization","@id":"https:\/\/arquitectura.mauryarte.com\/#organization","name":"Mauryarte Arquitectura","url":"https:\/\/arquitectura.mauryarte.com\/","logo":{"@type":"ImageObject","inLanguage":"es-CO","@id":"https:\/\/arquitectura.mauryarte.com\/#\/schema\/logo\/image\/","url":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Logo-Mauryarte-Texto-MAURYARTE-SOLO-SANSATION.png","contentUrl":"https:\/\/arquitectura.mauryarte.com\/wp-content\/uploads\/Logo-Mauryarte-Texto-MAURYARTE-SOLO-SANSATION.png","width":443,"height":65,"caption":"Mauryarte Arquitectura"},"image":{"@id":"https:\/\/arquitectura.mauryarte.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/pages\/494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/comments?post=494"}],"version-history":[{"count":214,"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/pages\/494\/revisions"}],"predecessor-version":[{"id":6086,"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/pages\/494\/revisions\/6086"}],"up":[{"embeddable":true,"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/pages\/138"}],"wp:attachment":[{"href":"https:\/\/arquitectura.mauryarte.com\/es\/wp-json\/wp\/v2\/media?parent=494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}