{"id":2671,"date":"2019-08-29T13:50:25","date_gmt":"2019-08-29T13:50:25","guid":{"rendered":"https:\/\/weboffice.pt\/?page_id=2671"},"modified":"2026-05-24T13:01:29","modified_gmt":"2026-05-24T12:01:29","slug":"escritorios-em-vila-nova-de-gaia","status":"publish","type":"page","link":"https:\/\/devv.maindomain.pt\/en\/escritorios-em-vila-nova-de-gaia\/","title":{"rendered":"WebOffice Gaia"},"content":{"rendered":"\n\n<style>\n\/* === Force full-width \u2014 defeat theme container === *\/\nhtml body.page #page-container, html body.page #main-content, html body.page #content-area, html body.page #left-area, html body.page .container { \n  width: 100% !important; \n  max-width: 100% !important; \n  padding: 0 !important; \n  margin: 0 !important; \n}\nhtml body.page #sidebar { display: none !important; }\nhtml body.page article.page, html body.page .entry-content { padding: 0 !important; margin: 0 !important; }\n\n\/* === Hide WP-injected page title (main_title for private pages) === *\/\nhtml body.page h1.main_title, html body.page .entry-title, html body.page .et_post_meta_wrapper, html body.page .et_pb_title_container { display: none !important; }\n\n\/* === Body typography === *\/\nbody { font-family: \"Nunito Sans\", -apple-system, sans-serif !important; color: #1A1A1A; }\n\n\/* === HERO section overlay & text colors === *\/\n.et_pb_section_0 { position: relative !important; margin-top: 0 !important; }\n.et_pb_section_0::before { \n  content: \"\"; \n  position: absolute; \n  inset: 0; \n  background: linear-gradient(135deg, rgba(0,40,60,0.75) 0%, rgba(0,20,30,0.55) 100%); \n  z-index: 1; \n  pointer-events: none; \n}\n.et_pb_section_0 > .et_pb_row { position: relative !important; z-index: 2 !important; }\n.et_pb_section_0 .et_pb_text, .et_pb_section_0 .et_pb_text *, .et_pb_section_0 h1, .et_pb_section_0 h2 { color: #FFFFFF !important; }\n.et_pb_section_0 .et_pb_text:first-of-type, .et_pb_section_0 .et_pb_text:first-of-type * { color: #68CDEC !important; }\n\n\/* === TRUST BAR === *\/\n.wo-trust-bar { background: #F4F6F8 !important; }\n.wo-trust-bar img { filter: grayscale(1); opacity: 0.65; transition: all 0.3s ease; max-width: 140px; height: auto; }\n.wo-trust-bar img:hover { filter: grayscale(0); opacity: 1; }\n\/* Force the second row (logos row) to display columns horizontally *\/\n.wo-trust-bar .et_pb_row.et_pb_row_1, .wo-trust-bar .et_pb_row:nth-of-type(2) {\n  display: flex !important;\n  flex-direction: row !important;\n  flex-wrap: nowrap !important;\n  justify-content: space-around !important;\n  align-items: center !important;\n  gap: 24px !important;\n  max-width: 1200px !important;\n  margin: 0 auto !important;\n}\n.wo-trust-bar .et_pb_row.et_pb_row_1 .et_pb_column, .wo-trust-bar .et_pb_row:nth-of-type(2) .et_pb_column {\n  width: auto !important;\n  flex: 1 1 0 !important;\n  max-width: 20% !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n  margin: 0 !important;\n  padding: 8px !important;\n}\n@media (max-width: 768px) {\n  .wo-trust-bar .et_pb_row.et_pb_row_1, .wo-trust-bar .et_pb_row:nth-of-type(2) { flex-wrap: wrap !important; }\n  .wo-trust-bar .et_pb_row.et_pb_row_1 .et_pb_column, .wo-trust-bar .et_pb_row:nth-of-type(2) .et_pb_column { max-width: 33% !important; }\n}\n\n\/* === SERVICE CARDS === *\/\n.wo-services { background: #FFFFFF !important; }\n.wo-services .et_pb_row:nth-of-type(2) { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; max-width: 1200px !important; margin: 0 auto !important; justify-content: center !important; }\n.wo-services .et_pb_row:nth-of-type(2) .et_pb_column.wo-service-card { flex: 1 1 250px !important; max-width: calc(25% - 18px) !important; min-width: 240px !important; background: #FFFFFF !important; border: 1px solid #E5E7EB !important; border-radius: 12px !important; overflow: hidden !important; transition: transform 0.3s, box-shadow 0.3s !important; }\n.wo-services .et_pb_row:nth-of-type(2) .et_pb_column.wo-service-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); }\n.wo-services .wo-service-card .et_pb_image { margin: 0 !important; }\n.wo-services .wo-service-card .et_pb_image img { width: 100% !important; height: 200px !important; object-fit: cover !important; display: block; }\n.wo-services .wo-card-body { padding: 24px !important; }\n.wo-services .wo-card-body h3 { margin: 0 0 8px 0 !important; }\n.wo-services .wo-card-body ul { list-style: none; padding: 0; margin: 16px 0; }\n.wo-services .wo-card-body ul li { position: relative; padding-left: 24px; line-height: 2; }\n.wo-services .wo-card-body ul { list-style: none !important; }\n.wo-services .wo-card-body ul li::before { content: \"\"; position: absolute; left: 0; top: 8px; width: 16px; height: 16px; background: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5l10 -10'\/><\/svg>\") no-repeat center; background-size: contain; }\n.wo-services .wo-price-intro { margin: 0 !important; font-size: 12px !important; color: #808285 !important; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; }\n.wo-services .wo-price-value { margin: 4px 0 16px 0 !important; font-size: 32px !important; font-weight: 700 !important; color: #1A1A1A; line-height: 1; }\n.wo-services .wo-price-label { font-size: 14px !important; font-weight: 400 !important; color: #808285; }\n@media (max-width: 980px) {\n  .wo-services .et_pb_row:nth-of-type(2) .et_pb_column.wo-service-card { max-width: calc(50% - 12px) !important; }\n}\n@media (max-width: 600px) {\n  .wo-services .et_pb_row:nth-of-type(2) .et_pb_column.wo-service-card { max-width: 100% !important; }\n}\n\n\/* === LOCATIONS === *\/\n.wo-locations { background: #F4F6F8 !important; }\n.wo-locations .wo-loc-row { display: flex !important; flex-wrap: nowrap !important; align-items: stretch !important; max-width: 1200px !important; margin: 24px auto !important; background: #FFFFFF !important; border-radius: 16px !important; overflow: hidden !important; box-shadow: 0 8px 24px rgba(0,0,0,0.04) !important; }\n\/* removed row-reverse \u2014 markup order handles alternation *\/\n.wo-locations .wo-loc-row .et_pb_column { width: 50% !important; max-width: 50% !important; flex: 1 1 50% !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }\n.wo-locations .wo-loc-img { padding: 0 !important; }\n.wo-locations .wo-loc-img .et_pb_image { margin: 0 !important; height: 100% !important; }\n.wo-locations .wo-loc-img .et_pb_image img { width: 100% !important; height: 100% !important; min-height: 400px !important; object-fit: cover !important; display: block !important; }\n.wo-locations .wo-loc-info { padding: 48px !important; }\n.wo-locations .wo-loc-info h3 { margin: 8px 0 16px 0 !important; }\n.wo-locations .wo-loc-addr { color: #808285 !important; margin: 0 0 8px 0 !important; font-size: 15px; line-height: 1.5; }\n.wo-locations .wo-loc-area { color: #1A1A1A !important; margin: 0 0 20px 0 !important; font-size: 15px; line-height: 1.6; }\n.wo-locations .wo-loc-transports { padding: 16px 20px !important; margin: 16px 0 24px 0 !important; background: #F4F6F8 !important; border-radius: 10px !important; color: #1A1A1A !important; font-size: 15px !important; line-height: 2.2 !important; }\n@media (max-width: 980px) {\n  .wo-locations .wo-loc-row, .wo-locations .wo-loc-row.wo-loc-img-right { flex-direction: column !important; }\n  .wo-locations .wo-loc-row .et_pb_column { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; }\n  .wo-locations .wo-loc-img .et_pb_image img { min-height: 280px !important; }\n  .wo-locations .wo-loc-info { padding: 32px !important; }\n}\n\n\/* === PILLARS === *\/\n.wo-pillars { background: #FFFFFF !important; }\n.wo-pillars .et_pb_row:nth-of-type(2) { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; max-width: 1200px !important; margin: 0 auto !important; justify-content: center !important; }\n.wo-pillars .wo-pillar { flex: 1 1 220px !important; max-width: calc(25% - 18px) !important; min-width: 220px !important; padding: 16px !important; text-align: center; }\n.wo-pillars .wo-pillar-icon { font-size: 56px; line-height: 1; margin-bottom: 20px; display: block; }\n.wo-pillars .wo-pillar-title { font-size: 22px !important; font-weight: 700 !important; color: #1A1A1A !important; margin: 0 0 12px 0 !important; }\n.wo-pillars .wo-pillar-desc { font-size: 15px !important; color: #808285 !important; line-height: 1.6 !important; margin: 0 !important; }\n@media (max-width: 980px) {\n  .wo-pillars .wo-pillar { max-width: calc(50% - 12px) !important; }\n}\n@media (max-width: 600px) {\n  .wo-pillars .wo-pillar { max-width: 100% !important; }\n}\n\n\/* Icons via background-image data-URI *\/\n.wo-pillar-icon { width: 56px; height: 56px; margin: 0 auto 20px; background-position: center; background-repeat: no-repeat; background-size: contain; }\n.wo-icon-bolt { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M13 3l0 8l6 0l-8 10l0 -8l-6 0z'\/><\/svg>\"); }\n.wo-icon-coin { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'\/><path d='M14.5 9a3.5 4 0 1 0 0 6'\/><path d='M8.5 11h6'\/><path d='M8.5 13h6'\/><\/svg>\"); }\n.wo-icon-users { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='7' r='4'\/><path d='M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2'\/><path d='M16 3.13a4 4 0 0 1 0 7.75'\/><path d='M21 21v-2a4 4 0 0 0 -3 -3.85'\/><\/svg>\"); }\n.wo-icon-world { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'\/><path d='M3.6 9h16.8'\/><path d='M3.6 15h16.8'\/><path d='M11.5 3a17 17 0 0 0 0 18'\/><path d='M12.5 3a17 17 0 0 1 0 18'\/><\/svg>\"); }\n.wo-tr-icon { display: inline-block; width: 22px; height: 22px; vertical-align: middle; margin-right: 10px; background-position: center; background-repeat: no-repeat; background-size: contain; }\n.wo-icon-train { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='3' width='14' height='14' rx='2'\/><path d='M5 9h14'\/><path d='M8 21l1.5-3'\/><path d='M16 21l-1.5-3'\/><\/svg>\"); }\n.wo-icon-subway { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z'\/><path d='M9 18l-2 3'\/><path d='M15 18l2 3'\/><path d='M5 11h14'\/><\/svg>\"); }\n.wo-icon-parking { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='3'\/><path d='M9 17v-10h4a3 3 0 0 1 0 6h-4'\/><\/svg>\"); }\n.wo-tr-line { display: block; padding: 6px 0; color: #1A1A1A; }\n.wo-hb-check { display: inline-block; width: 20px; height: 20px; vertical-align: middle; margin-right: 10px; background: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%2368CDEC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5l10 -10'\/><\/svg>\") center \/ contain no-repeat; }\n.et_pb_section_0 .wo-hero-bullets { line-height: 1.8 !important; }\n.et_pb_section_0 .wo-hb-line { display: block; padding: 6px 0; color: #FFFFFF !important; }\n\n\n\/* === STEPS === *\/\n.wo-steps { background: #F4F6F8 !important; }\n.wo-steps .et_pb_row:nth-of-type(2) { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; max-width: 1200px !important; margin: 0 auto !important; justify-content: center !important; }\n.wo-steps .wo-step { flex: 1 1 280px !important; max-width: calc(33.33% - 16px) !important; min-width: 260px !important; background: #FFFFFF !important; border-radius: 16px !important; padding: 40px 32px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.04) !important; position: relative; }\n.wo-steps .wo-step-num { font-size: 72px !important; font-weight: 900 !important; color: #68CDEC !important; line-height: 1 !important; margin: 0 0 16px 0 !important; opacity: 0.85; letter-spacing: -2px; }\n.wo-steps .wo-step-title { font-size: 24px !important; font-weight: 700 !important; color: #1A1A1A !important; margin: 0 0 12px 0 !important; }\n.wo-steps .wo-step-desc { font-size: 15px !important; color: #808285 !important; line-height: 1.7 !important; margin: 0 !important; }\n@media (max-width: 980px) {\n  .wo-steps .wo-step { max-width: 100% !important; }\n}\n\n\/* === TESTIMONIALS === *\/\n.wo-testimonials { background: #FFFFFF !important; }\n.wo-testimonials .et_pb_row:nth-of-type(2) { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 24px !important; max-width: 1200px !important; margin: 0 auto !important; justify-content: center !important; }\n.wo-testimonials .wo-test-card { flex: 1 1 320px !important; max-width: calc(33.33% - 16px) !important; min-width: 300px !important; background: #FFFFFF !important; border: 1px solid #E5E7EB !important; border-radius: 16px !important; overflow: hidden !important; transition: transform 0.3s, box-shadow 0.3s !important; }\n.wo-testimonials .wo-test-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,0.10); }\n.wo-test-link { display: block; color: inherit; text-decoration: none !important; }\n.wo-test-thumb { position: relative; padding-top: 56.25%; background-position: center; background-size: cover; background-color: #1A1A1A; }\n.wo-test-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; background: rgba(104,205,236,0.95) url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='white'><polygon points='8,5 19,12 8,19'\/><\/svg>\") center \/ 32px 32px no-repeat; box-shadow: 0 8px 24px rgba(0,0,0,0.3); transition: transform 0.2s; }\n.wo-test-card:hover .wo-test-play { transform: translate(-50%, -50%) scale(1.1); }\n.wo-test-body { padding: 28px 24px 24px 24px; }\n.wo-test-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #68CDEC; margin-bottom: 14px; }\n.wo-test-quote { margin: 0 0 20px 0 !important; padding: 0 !important; border: 0 !important; font-size: 16px !important; line-height: 1.6 !important; color: #1A1A1A !important; font-style: normal !important; quotes: none; }\n.wo-test-quote::before, .wo-test-quote::after { content: none; }\n.wo-test-author { font-size: 14px; color: #1A1A1A; line-height: 1.5; }\n.wo-test-author strong { font-weight: 700; }\n.wo-test-company { color: #808285; }\n.wo-test-watch { display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 700; color: #68CDEC; letter-spacing: 0.5px; }\n.wo-test-watch::after { content: \"  \u2192\"; }\n@media (max-width: 980px) {\n  .wo-testimonials .wo-test-card { max-width: 100% !important; }\n}\n\n\n\/* === FINAL CTA === *\/\n.et_pb_section.wo-final-cta { background-color: #68CDEC !important; background-image: linear-gradient(135deg, #68CDEC 0%, #2D9CB8 100%) !important; color: #FFFFFF !important; position: relative; overflow: hidden; }\n.wo-final-cta::before { content: \"\"; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(255,255,255,0.10), transparent 50%), radial-gradient(circle at 10% 80%, rgba(0,0,0,0.10), transparent 50%); pointer-events: none; }\n.wo-final-cta .et_pb_row { position: relative; z-index: 2; }\n.wo-cta-content { text-align: center; }\n.wo-cta-pre { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.85); margin-bottom: 14px; }\n.wo-cta-h2 { font-size: 48px !important; font-weight: 700 !important; color: #FFFFFF !important; margin: 0 0 16px 0 !important; line-height: 1.1 !important; }\n.wo-cta-sub { font-size: 18px !important; color: rgba(255,255,255,0.92) !important; margin: 0 auto 36px !important; max-width: 720px; line-height: 1.6 !important; }\n.wo-cta-actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-bottom: 28px; }\n.wo-cta-btn { display: inline-flex; align-items: center; gap: 14px; padding: 18px 28px; border-radius: 14px; text-decoration: none !important; transition: transform 0.2s, box-shadow 0.2s; min-width: 240px; }\n.wo-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,0,0,0.18); }\n.wo-cta-btn-primary { background: #FFFFFF !important; color: #1A1A1A !important; }\n.wo-cta-btn-primary .wo-cta-icon { background-color: #68CDEC; }\n.wo-cta-btn-primary .wo-cta-line2 { color: #1A1A1A !important; }\n.wo-cta-btn-secondary { background: rgba(255,255,255,0.12) !important; color: #FFFFFF !important; border: 1px solid rgba(255,255,255,0.30) !important; backdrop-filter: blur(4px); }\n.wo-cta-btn-secondary .wo-cta-icon { background-color: rgba(255,255,255,0.20); }\n.wo-cta-btn-secondary .wo-cta-line2 { color: #FFFFFF !important; }\n.wo-cta-icon { display: inline-block; width: 44px; height: 44px; border-radius: 12px; background-position: center; background-repeat: no-repeat; background-size: 22px 22px; flex-shrink: 0; }\n.wo-icon-phone { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2'\/><\/svg>\"); }\n.wo-icon-chat { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 20l1.3 -3.9a9 8 0 1 1 3.4 2.9l-4.7 1'\/><\/svg>\"); }\n.wo-icon-mail { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'\/><path d='M3 7l9 6l9 -6'\/><\/svg>\"); }\n.wo-cta-label { text-align: left; display: flex; flex-direction: column; line-height: 1.2; }\n.wo-cta-line1 { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; opacity: 0.7; }\n.wo-cta-line2 { font-size: 16px !important; font-weight: 700; letter-spacing: -0.2px; margin-top: 4px; }\n.wo-cta-hours { font-size: 14px !important; color: rgba(255,255,255,0.75) !important; margin: 0 !important; }\n@media (max-width: 980px) {\n  .wo-cta-h2 { font-size: 32px !important; }\n  .wo-cta-btn { min-width: 100%; }\n}\n\n\n\/* === Pedro feedback v1 fixes === *\/\n\/* (1) HERO full-screen *\/\n.et_pb_section_0 { min-height: 100vh !important; display: flex !important; align-items: center !important; }\n\n\/* (2) TRUST BAR \u2014 left-align + container padding + bigger logos *\/\n.wo-trust-bar { padding-left: 5vw !important; padding-right: 5vw !important; }\n.wo-trust-bar .et_pb_row:first-of-type { max-width: 1280px !important; margin: 0 auto !important; }\n.wo-trust-bar .et_pb_row:first-of-type .et_pb_text { text-align: left !important; }\n.wo-trust-bar .et_pb_row:first-of-type .et_pb_text > * { text-align: left !important; }\n\/* (3) Bigger logos + horizontal scroll carousel *\/\n.wo-trust-bar .et_pb_row:nth-of-type(2), .wo-trust-bar .et_pb_row.et_pb_row_1 { display: block !important; max-width: 1280px !important; margin: 16px auto 0 auto !important; overflow: hidden !important; position: relative; }\n.wo-trust-bar .et_pb_row:nth-of-type(2)::before, .wo-trust-bar .et_pb_row:nth-of-type(2)::after { content: \"\"; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }\n.wo-trust-bar .et_pb_row:nth-of-type(2)::before { left: 0; background: linear-gradient(to right, #F4F6F8, transparent); }\n.wo-trust-bar .et_pb_row:nth-of-type(2)::after { right: 0; background: linear-gradient(to left, #F4F6F8, transparent); }\n.wo-trust-bar .et_pb_row:nth-of-type(2) > * { display: inline-flex !important; vertical-align: middle !important; }\n.wo-trust-bar .et_pb_row:nth-of-type(2) .et_pb_column { display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; width: 200px !important; max-width: 200px !important; padding: 0 28px !important; }\n.wo-trust-bar img { max-width: 100% !important; height: auto !important; max-height: 80px !important; object-fit: contain !important; }\n\n\/* (4) Card service Individual image \u2014 center cover *\/\n.wo-services .wo-service-card .et_pb_image img { object-position: center center !important; }\n\n\/* (6) Locations: Porto height = Gaia. Force equal aspect on both *\/\n.wo-locations .wo-loc-row .et_pb_column.wo-loc-img { aspect-ratio: 4\/3 !important; }\n.wo-locations .wo-loc-img .et_pb_image, .wo-locations .wo-loc-img .et_pb_image img { height: 100% !important; width: 100% !important; min-height: 0 !important; }\n.wo-locations .wo-loc-img .et_pb_image img { object-fit: cover !important; object-position: center !important; }\n\n\/* (8) Container padding for all wo- sections (except hero, which is full-bleed) *\/\n.wo-services, .wo-locations, .wo-pillars, .wo-steps, .wo-testimonials, .wo-final-cta { padding-left: 5vw !important; padding-right: 5vw !important; }\n.wo-trust-bar { padding-left: 5vw !important; padding-right: 5vw !important; }\n.wo-services > .et_pb_row, .wo-locations > .et_pb_row, .wo-pillars > .et_pb_row, .wo-steps > .et_pb_row, .wo-testimonials > .et_pb_row, .wo-final-cta > .et_pb_row { max-width: 1280px !important; margin-left: auto !important; margin-right: auto !important; }\n\n\/* (9) Cards locations: image edge-to-edge inside card *\/\n.wo-locations .wo-loc-row { padding: 0 !important; }\n.wo-locations .wo-loc-img { padding: 0 !important; margin: 0 !important; }\n.wo-locations .wo-loc-img .et_pb_image { padding: 0 !important; margin: 0 !important; }\n\n\n\/* === FOOTER === *\/\n.wo-footer { background: #0F1B26 !important; color: #C5D2DC !important; padding-top: 80px !important; padding-bottom: 32px !important; }\n.wo-footer * { color: #C5D2DC; }\n.wo-footer-grid { display: grid !important; grid-template-columns: 1.6fr 1fr 1fr 1.2fr 1.2fr !important; gap: 48px !important; max-width: 1280px !important; margin: 0 auto !important; padding-bottom: 56px !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }\n.wo-footer-logo { max-width: 200px !important; height: auto !important; margin-bottom: 16px !important; display: block; }\n.wo-footer-tag { font-size: 13px !important; color: #68CDEC !important; text-transform: uppercase; letter-spacing: 2px; font-weight: 600; margin: 0 0 16px 0 !important; }\n.wo-footer-desc { font-size: 14px !important; line-height: 1.7 !important; color: #95A4B0 !important; margin: 0 0 24px 0 !important; }\n.wo-footer-h { font-size: 13px !important; font-weight: 700 !important; color: #FFFFFF !important; text-transform: uppercase; letter-spacing: 2px; margin: 0 0 20px 0 !important; }\n.wo-footer ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }\n.wo-footer li { padding: 6px 0 !important; font-size: 14px; }\n.wo-footer a { color: #C5D2DC !important; text-decoration: none !important; transition: color 0.2s; }\n.wo-footer a:hover { color: #68CDEC !important; }\n.wo-footer-addr { font-style: normal !important; font-size: 13px !important; line-height: 1.7 !important; margin: 0 0 16px 0 !important; color: #95A4B0 !important; }\n.wo-footer-addr strong { color: #FFFFFF !important; display: block; margin-bottom: 4px; }\n.wo-footer-contacts li { font-size: 14px; padding: 6px 0; }\n.wo-footer-contacts a { color: #FFFFFF !important; }\n.wo-footer-label { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; color: #68CDEC; margin-bottom: 2px; font-weight: 600; }\n.wo-footer-hours { color: #95A4B0; }\n.wo-footer-social { display: flex; gap: 12px; margin-top: 8px; }\n.wo-footer-social-link { display: inline-block; width: 40px; height: 40px; border-radius: 50%; background-color: rgba(255,255,255,0.08); background-position: center; background-size: 18px 18px; background-repeat: no-repeat; transition: background-color 0.2s; }\n.wo-footer-social-link:hover { background-color: #68CDEC; }\n.wo-fs-fb { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='white'><path d='M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z'\/><\/svg>\"); }\n.wo-fs-ig { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'><rect x='3' y='3' width='18' height='18' rx='5'\/><circle cx='12' cy='12' r='4'\/><circle cx='17.5' cy='6.5' r='1' fill='white'\/><\/svg>\"); }\n.wo-fs-wa { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='white'><path d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.71.306 1.263.489 1.695.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z'\/><\/svg>\"); }\n.wo-footer-fse { max-width: 1280px; margin: 0 auto; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,0.06); text-align: center; }\n.wo-footer-fse-note { font-size: 11px !important; color: #5E6F7C !important; margin: 0 !important; letter-spacing: 1px; text-transform: uppercase; }\n.wo-footer-bottom { display: flex !important; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 1280px; margin: 24px auto 0 auto; gap: 16px; }\n.wo-footer-copy { font-size: 12px !important; color: #5E6F7C !important; margin: 0 !important; }\n.wo-footer-legal { display: flex !important; flex-wrap: wrap; gap: 24px; margin: 0 !important; }\n.wo-footer-legal li { padding: 0 !important; font-size: 12px; }\n.wo-footer-legal a { color: #95A4B0 !important; }\n@media (max-width: 1024px) {\n  .wo-footer-grid { grid-template-columns: 1fr 1fr !important; }\n}\n@media (max-width: 600px) {\n  .wo-footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }\n  .wo-footer-bottom { flex-direction: column; align-items: flex-start; }\n}\n\n\n\/* === LOCATIONS reinforced (Pedro feedback v2) === *\/\n.wo-locations .wo-loc-row { padding: 0 !important; overflow: hidden !important; }\n.wo-locations .wo-loc-row .et_pb_column { padding: 0 !important; margin: 0 !important; }\n.wo-locations .wo-loc-img, .wo-locations .wo-loc-info { padding: 0 !important; margin: 0 !important; }\n.wo-locations .wo-loc-img { aspect-ratio: 4\/3 !important; max-height: 480px !important; overflow: hidden !important; }\n.wo-locations .wo-loc-img .et_pb_image { margin: 0 !important; padding: 0 !important; height: 100% !important; width: 100% !important; display: block !important; }\n.wo-locations .wo-loc-img .et_pb_image img { width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: 480px !important; object-fit: cover !important; object-position: center !important; display: block !important; margin: 0 !important; }\n.wo-locations .wo-loc-info { padding: 40px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }\n\n\n\/* === TRUST BAR \u2014 marquee carrossel + left-aligned title === *\/\n.wo-trust-bar { background: #F4F6F8 !important; }\n.wo-trust-bar > .et_pb_row { max-width: 1280px !important; margin: 0 auto !important; }\n.wo-trust-bar .et_pb_text { text-align: left !important; }\n.wo-trust-bar .et_pb_text > * { text-align: left !important; }\n.wo-mq-wrap { overflow: hidden; width: 100%; padding: 24px 0 8px 0; position: relative; mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent); }\n.wo-mq-track { display: inline-flex; gap: 80px; align-items: center; animation: wo-marquee 32s linear infinite; will-change: transform; }\n.wo-mq-item { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 280px; padding: 0 16px; }\n.wo-mq-item img { max-height: 130px; max-width: 260px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: 0.7; transition: filter 0.3s, opacity 0.3s; }\n.wo-mq-item img:hover { filter: grayscale(0); opacity: 1; }\n.wo-mq-wrap:hover .wo-mq-track { animation-play-state: paused; }\n@keyframes wo-marquee {\n  0% { transform: translateX(0); }\n  100% { transform: translateX(-33.333%); }\n}\n@media (max-width: 600px) {\n  .wo-mq-item { min-width: 200px; padding: 0 12px; }\n  .wo-mq-item img { max-height: 90px; max-width: 180px; }\n}\n\n\n\/* === LOCATIONS fix v3 \u2014 force image fill column + bigger side breathing === *\/\nhtml body .wo-locations { padding-left: 8vw !important; padding-right: 8vw !important; }\nhtml body .wo-locations > .et_pb_row { max-width: 1100px !important; margin-left: auto !important; margin-right: auto !important; }\nhtml body .wo-locations .wo-loc-row { max-width: 1100px !important; margin: 24px auto !important; padding: 0 !important; }\nhtml body .wo-locations .wo-loc-img { padding: 0 !important; margin: 0 !important; overflow: hidden !important; }\nhtml body .wo-locations .wo-loc-img .et_pb_image { width: 100% !important; height: 100% !important; padding: 0 !important; margin: 0 !important; }\nhtml body .wo-locations .wo-loc-img .et_pb_image > a, html body .wo-locations .wo-loc-img .et_pb_image > span { width: 100% !important; height: 100% !important; display: block !important; }\nhtml body .wo-locations .wo-loc-img img,\nhtml body .wo-locations .wo-loc-img .et_pb_image img,\nhtml body .wo-locations .wo-loc-row .et_pb_column.wo-loc-img img {\n  width: 100% !important;\n  height: 100% !important;\n  min-width: 100% !important;\n  min-height: 100% !important;\n  max-width: none !important;\n  max-height: none !important;\n  object-fit: cover !important;\n  object-position: center center !important;\n  display: block !important;\n}\n\n\n\/* === Service card image: cover + center === *\/\nhtml body .wo-services .wo-service-card .et_pb_image img { width: 100% !important; height: 200px !important; object-fit: cover !important; object-position: center center !important; max-width: none !important; display: block !important; }\n\n\n\/* === LOC fix v4 \u2014 info padding restored, bigger gap === *\/\nhtml body .wo-locations .wo-loc-row { margin: 48px auto !important; padding: 0 !important; gap: 0 !important; }\n\/* Image column: edge-to-edge *\/\nhtml body .wo-locations .wo-loc-row .wo-loc-img { padding: 0 !important; margin: 0 !important; }\nhtml body .wo-locations .wo-loc-row .wo-loc-img .et_pb_image { padding: 0 !important; margin: 0 !important; }\n\/* Info column: generous internal padding *\/\nhtml body .wo-locations .wo-loc-row .wo-loc-info {\n  padding: 56px 48px !important;\n  margin: 0 !important;\n}\n@media (max-width: 768px) {\n  html body .wo-locations .wo-loc-row .wo-loc-info { padding: 32px 28px !important; }\n  html body .wo-locations .wo-loc-row { margin: 24px auto !important; }\n}\n\n\n\/* === LOC fix v5 \u2014 foto stretch full height (encostada ao fundo do card) === *\/\nhtml body .wo-locations .wo-loc-row { display: flex !important; align-items: stretch !important; }\nhtml body .wo-locations .wo-loc-row .wo-loc-img {\n  aspect-ratio: auto !important;\n  max-height: none !important;\n  height: auto !important;\n  align-self: stretch !important;\n  display: flex !important;\n}\nhtml body .wo-locations .wo-loc-row .wo-loc-img .et_pb_image {\n  width: 100% !important;\n  height: 100% !important;\n  display: block !important;\n  align-self: stretch !important;\n}\nhtml body .wo-locations .wo-loc-row .wo-loc-img .et_pb_image > * {\n  height: 100% !important;\n  width: 100% !important;\n}\nhtml body .wo-locations .wo-loc-row .wo-loc-img img {\n  width: 100% !important;\n  height: 100% !important;\n  min-height: 100% !important;\n  max-height: none !important;\n  object-fit: cover !important;\n  object-position: center center !important;\n  display: block !important;\n}\n\n\n\/* ============================================================\n   ANIMA\u00c7\u00d5ES UX \u2014 WebOffice (discreto, GPU-accelerated)\n   ============================================================ *\/\n\n\/* (0) Respeitar prefers-reduced-motion: TUDO instant *\/\n@media (prefers-reduced-motion: reduce) {\n  .wo-anim-fade-up, .wo-anim-fade-up.wo-anim-in,\n  .et_pb_section_0 .et_pb_text, .et_pb_section_0 .et_pb_code, .et_pb_section_0 .et_pb_button,\n  .wo-cta-pulse, .wo-pillar-icon, .wo-tr-icon {\n    animation: none !important;\n    transition: none !important;\n    opacity: 1 !important;\n    transform: none !important;\n  }\n}\n\n\/* (1) Reveal on scroll \u2014 fade-up suave *\/\n.wo-anim-fade-up {\n  opacity: 0;\n  transform: translateY(16px);\n  transition: opacity .6s ease-out, transform .6s ease-out;\n  will-change: opacity, transform;\n}\n.wo-anim-fade-up.wo-anim-in {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\/* (2) Hero stagger entrance \u2014 runs on page load *\/\n.et_pb_section_0 .et_pb_text,\n.et_pb_section_0 .et_pb_code,\n.et_pb_section_0 .et_pb_button {\n  opacity: 0;\n  transform: translateY(12px);\n  animation: wo-hero-enter 700ms ease-out forwards;\n}\n.et_pb_section_0 .et_pb_text:nth-of-type(1) { animation-delay: 100ms; }\n.et_pb_section_0 .et_pb_text:nth-of-type(2) { animation-delay: 250ms; }\n.et_pb_section_0 .et_pb_text:nth-of-type(3) { animation-delay: 400ms; }\n.et_pb_section_0 .et_pb_code:nth-of-type(1) { animation-delay: 550ms; }\n.et_pb_section_0 .et_pb_button:nth-of-type(1) { animation-delay: 700ms; }\n.et_pb_section_0 .et_pb_button:nth-of-type(2) { animation-delay: 850ms; }\n@keyframes wo-hero-enter {\n  from { opacity: 0; transform: translateY(12px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n\n\/* (4) CTA prim\u00e1rio pulse \u2014 bot\u00e3o \"Ver planos a partir de \u20ac25\/m\u00eas\" *\/\n.et_pb_section_0 .et_pb_button:first-of-type {\n  animation: wo-hero-enter 700ms ease-out 700ms forwards, wo-cta-pulse 2.4s ease-in-out 1.6s infinite;\n  box-shadow: 0 0 0 0 rgba(104, 205, 236, 0.55);\n}\n.et_pb_section_0 .et_pb_button:first-of-type:hover {\n  animation-play-state: paused, paused;\n}\n@keyframes wo-cta-pulse {\n  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(104, 205, 236, 0.55); }\n  50%      { transform: scale(1.03); box-shadow: 0 0 0 14px rgba(104, 205, 236, 0); }\n}\n\n\/* (5) Icon hover micro-animation *\/\n.wo-pillar { transition: transform 0.25s ease-out; }\n.wo-pillar .wo-pillar-icon { transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }\n.wo-pillar:hover .wo-pillar-icon { transform: rotate(-6deg) scale(1.12); }\n.wo-tr-icon { transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }\n.wo-tr-line:hover .wo-tr-icon { transform: scale(1.2); }\n.wo-test-card .wo-test-play { transition: transform 0.25s ease-out, box-shadow 0.25s ease-out; }\n.wo-test-card:hover .wo-test-play { transform: translate(-50%, -50%) scale(1.15); box-shadow: 0 12px 32px rgba(104,205,236,0.4); }\n\n\n\/* === Hero bullets \u2014 maior + mais respira\u00e7\u00e3o === *\/\nhtml body .et_pb_section_0 .wo-hero-bullets { line-height: 2 !important; font-size: 19px !important; }\nhtml body .et_pb_section_0 .wo-hb-line { display: block; padding: 10px 0; color: #FFFFFF !important; font-size: 19px; }\nhtml body .et_pb_section_0 .wo-hb-line strong { color: #FFFFFF !important; font-weight: 700; }\nhtml body .et_pb_section_0 .wo-hb-check { width: 24px !important; height: 24px !important; margin-right: 14px !important; vertical-align: middle; }\n@media (max-width: 768px) {\n  html body .et_pb_section_0 .wo-hero-bullets,\n  html body .et_pb_section_0 .wo-hb-line { font-size: 16px !important; }\n  html body .et_pb_section_0 .wo-hb-check { width: 20px !important; height: 20px !important; margin-right: 10px !important; }\n}\n\n\n\/* ============================================================\n   HEADER \u2014 sticky, transparent-over-hero, white-on-scroll\n   ============================================================ *\/\n.wo-header { position: fixed; top: 0; left: 0; right: 0; z-index: 999; transition: background-color .35s ease, box-shadow .35s ease, padding .25s ease, backdrop-filter .35s ease; padding: 14px 0; background: rgba(255,255,255,0.55); backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); box-shadow: inset 0 -1px 0 rgba(255,255,255,0.4); }\n\/* Shift header down when WP admin bar is present (logged-in users only) *\/\nbody.admin-bar .wo-header { top: 32px; }\n@media screen and (max-width: 782px) {\n  body.admin-bar .wo-header { top: 46px; }\n}\n.wo-header.wo-scrolled { background: rgba(255,255,255,0.75); backdrop-filter: blur(28px) saturate(190%); -webkit-backdrop-filter: blur(28px) saturate(190%); box-shadow: 0 8px 32px rgba(0,0,0,0.06); padding: 10px 0; }\n.wo-header-inner { max-width: none; width: 100%; margin: 0; padding: 0 5vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }\n.wo-logo { display: inline-flex; align-items: center; flex-shrink: 0; justify-self: start; }\n.wo-logo img { display: block; height: 60px; width: auto; max-width: 280px; transition: height .25s ease; filter: none; object-fit: contain; }\n.wo-header.wo-scrolled .wo-logo img { height: 48px; }\n\n\/* Nav *\/\n.wo-nav { display: flex; align-items: center; justify-content: center; justify-self: center; height: 100%; }\n.wo-nav-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex; gap: 4px; align-items: center; }\n.wo-nav-list > li { position: relative; padding: 0 !important; list-style: none !important; display: flex; align-items: center; align-self: center; }\n.wo-nav-list > li::before, .wo-nav-list > li::marker { content: none !important; display: none !important; }\n.wo-nav-list > li > a { display: inline-flex; align-items: center; padding: 12px 18px; color: #1A1A1A; font-family: \"Nunito Sans\", sans-serif; font-weight: 600; font-size: 17px; text-decoration: none !important; border-radius: 8px; transition: color .2s ease, background-color .2s ease; }\n.wo-nav-list > li > a:hover, .wo-nav-list > li.wo-has-sub:hover > a { color: #68CDEC !important; background-color: rgba(104,205,236,0.08); }\n.wo-caret { display: inline-block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: 8px; transition: transform .25s ease; }\n.wo-has-sub:hover .wo-caret { transform: rotate(225deg) translateY(-2px); }\n\n\/* Sub menu *\/\n.wo-sub-menu { position: absolute; top: 100%; left: 0; min-width: 240px; background: #FFFFFF; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.12); padding: 8px; margin: 8px 0 0 0; list-style: none !important; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s; }\n.wo-has-sub:hover .wo-sub-menu, .wo-has-sub:focus-within .wo-sub-menu { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }\n.wo-sub-menu li { padding: 0 !important; list-style: none !important; }\n.wo-sub-menu li::before, .wo-sub-menu li::marker { content: none !important; display: none !important; }\n.wo-sub-menu a { display: block; padding: 10px 16px; color: #1A1A1A; font-size: 14px; font-weight: 600; border-radius: 8px; text-decoration: none !important; transition: background-color .2s ease, color .2s ease; }\n.wo-sub-menu a:hover { background-color: rgba(104,205,236,0.10); color: #68CDEC; }\n\n\/* Header actions *\/\n.wo-header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; justify-self: end; }\n.wo-header-phone { display: inline-flex; align-items: center; gap: 8px; color: #1A1A1A; text-decoration: none !important; font-weight: 700; font-size: 14px; padding: 6px 12px; border-radius: 8px; transition: color .2s ease, background-color .2s ease; }\n.wo-header-phone:hover { color: #68CDEC !important; background-color: rgba(104,205,236,0.10); }\n.wo-header-phone-icon { display: inline-block; width: 18px; height: 18px; background-position: center; background-repeat: no-repeat; background-size: contain; background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2'\/><\/svg>\"); }\n.wo-header-cta { display: inline-flex; align-items: center; padding: 12px 22px; background: #68CDEC; color: #1A1A1A !important; font-weight: 700; font-size: 14px; border-radius: 100px; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }\n.wo-header-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(104,205,236,0.4); background: #2D9CB8; color: #FFFFFF !important; }\n\n\/* Mobile burger *\/\n.wo-burger { display: none; width: 44px; height: 44px; background: transparent; border: 0; cursor: pointer; padding: 0; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }\n.wo-burger span { display: block; width: 24px; height: 2px; background: #1A1A1A; border-radius: 2px; transition: transform .3s ease, opacity .2s ease; }\n.wo-burger[aria-expanded=\"true\"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }\n.wo-burger[aria-expanded=\"true\"] span:nth-child(2) { opacity: 0; }\n.wo-burger[aria-expanded=\"true\"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }\n\n\/* Mobile menu drawer *\/\n.wo-mobile-menu { display: none; }\nbody.wo-menu-open { overflow: hidden; }\n\n@media (max-width: 1024px) {\n  .wo-nav, .wo-header-phone { display: none !important; }\n  .wo-burger { display: flex; }\n  .wo-mobile-menu { display: block; position: fixed; inset: 0; background: #0F1B26; padding: 100px 32px 40px; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s; z-index: 998; overflow-y: auto; }\n  body.wo-menu-open .wo-mobile-menu { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }\n  .wo-mobile-menu ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }\n  .wo-mobile-menu li { padding: 0 !important; list-style: none !important; border-bottom: 1px solid rgba(255,255,255,0.08); }\n  .wo-mobile-menu li::before, .wo-mobile-menu li::marker { content: none !important; display: none !important; }\n  .wo-mobile-menu a { display: block; padding: 18px 0; color: #FFFFFF; font-family: \"Nunito Sans\", sans-serif; font-weight: 600; font-size: 18px; text-decoration: none !important; }\n  .wo-mobile-menu a:hover { color: #68CDEC; }\n  .wo-mobile-menu .wo-mm-cta { margin-top: 24px; border: 0; }\n  .wo-mobile-menu .wo-mm-cta a { background: #68CDEC; color: #1A1A1A !important; padding: 16px 24px; border-radius: 100px; text-align: center; }\n}\n\n\n\/* Hero gets pushed down by header (the hero already is min-height 100vh; header is fixed and overlays) *\/\n.et_pb_section_0 { padding-top: 100px !important; }\n\n\n\/* ================================================== *\/\n\/* === v50: AUDITORIA MOBILE \u2014 fixes P0 + P1 ======== *\/\n\/* ================================================== *\/\n\n\/* P0-1: Burger close button must be visible above mobile menu overlay\n   (the wp:divi\/section wrapping breaks z-index stacking context, so we\n   force the burger to position:fixed at top:0 when menu is open) *\/\nbody.wo-menu-open .wo-burger {\n  position: fixed !important;\n  top: 22px;\n  right: 24px;\n  z-index: 1001;\n}\nbody.admin-bar.wo-menu-open .wo-burger { top: 54px; }\n@media screen and (max-width: 782px) {\n  body.admin-bar.wo-menu-open .wo-burger { top: 68px; }\n}\nbody.wo-menu-open .wo-burger span { background: #FFFFFF !important; }\n\n\/* P0-2: Service cards image must fill 100% width on mobile (was ~50%) *\/\n@media (max-width: 767px) {\n  .wo-services .et_pb_row,\n  .wo-services .et_pb_row .et_pb_column,\n  .wo-services .wo-service-card {\n    width: 100% !important;\n    max-width: 100% !important;\n    flex-basis: 100% !important;\n  }\n  .wo-services .wo-service-card .et_pb_image,\n  .wo-services .wo-service-card .et_pb_image img {\n    width: 100% !important;\n    max-width: 100% !important;\n  }\n  html body .wo-services .wo-service-card .et_pb_image img {\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 100% !important;\n    height: auto !important;\n    aspect-ratio: 16 \/ 10 !important;\n    object-fit: cover !important;\n    object-position: center center !important;\n  }\n}\n\n\/* P1-1: Trust bar mobile \u2014 title centered + logos in horizontal scroll carousel *\/\n@media (max-width: 767px) {\n  .wo-trust-bar .wo-trust-title,\n  .wo-trust-bar h2,\n  .wo-trust-bar h3 {\n    text-align: center !important;\n    max-width: 100% !important;\n    width: 100% !important;\n  }\n  .wo-trust-bar .et_pb_row.et_pb_row_1,\n  .wo-trust-bar .et_pb_row:nth-of-type(2) {\n    flex-direction: row !important;\n    flex-wrap: nowrap !important;\n    overflow-x: auto !important;\n    gap: 24px !important;\n    padding: 16px 5vw !important;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n  }\n  .wo-trust-bar .et_pb_row.et_pb_row_1::-webkit-scrollbar,\n  .wo-trust-bar .et_pb_row:nth-of-type(2)::-webkit-scrollbar { display: none; }\n  .wo-trust-bar .et_pb_row.et_pb_row_1 .et_pb_column,\n  .wo-trust-bar .et_pb_row:nth-of-type(2) .et_pb_column {\n    flex: 0 0 auto !important;\n    max-width: 140px !important;\n    min-width: 100px !important;\n    width: auto !important;\n  }\n  .wo-trust-bar img { max-width: 100px !important; }\n}\n\n\/* P1-3: Hero content gets padding-right on mobile to avoid chat widget overlap *\/\n@media (max-width: 767px) {\n  .et_pb_section_0 .et_pb_row { padding-right: 60px !important; }\n}\n\n\/* ================================================== *\/\n\/* === END v50 ====================================== *\/\n\/* ================================================== *\/\n\n\n\/* ================================================== *\/\n\/* === v52: Trust bar logos maiores + menos gap ===== *\/\n\/* ================================================== *\/\n\n\/* DESKTOP: logos bigger, less wasted space *\/\n.wo-trust-bar .wo-mq-item {\n  min-width: 200px !important;\n  padding: 0 20px !important;\n}\n.wo-trust-bar img {\n  max-width: 180px !important;\n  max-height: 100px !important;\n  object-fit: contain !important;\n}\n\n\/* MOBILE: bump logos to 140px wide (was 100) and reduce item width *\/\n@media (max-width: 767px) {\n  .wo-trust-bar .wo-mq-item {\n    min-width: 160px !important;\n    padding: 0 12px !important;\n  }\n  .wo-trust-bar img {\n    max-width: 140px !important;\n    max-height: 70px !important;\n  }\n}\n\n\/* ================================================== *\/\n\n\/* ================================================== *\/\n\/* === FAQ Section ================================== *\/\n\/* ================================================== *\/\n.wo-faq { background: #FFFFFF !important; padding: 100px 5vw !important; }\n.wo-faq-inner { max-width: 1000px; margin: 0 auto; }\n.wo-faq .wo-pre-headline {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px;\n  font-weight: 700;\n  letter-spacing: 0.15em;\n  text-transform: uppercase;\n  color: #68CDEC;\n  text-align: center;\n  margin: 0 0 16px;\n}\n.wo-faq-title {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(28px, 4vw, 40px);\n  font-weight: 800;\n  color: #1A1A1A;\n  text-align: center;\n  margin: 0 0 12px !important;\n  line-height: 1.2;\n}\n.wo-faq-subtitle {\n  font-size: 17px;\n  color: #808285;\n  text-align: center;\n  margin: 0 auto 48px !important;\n  max-width: 600px;\n}\n.wo-faq-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 40px; }\n.wo-faq-item {\n  background: #F4F6F8;\n  border: 1px solid rgba(0,0,0,0.04);\n  border-radius: 12px;\n  overflow: hidden;\n  transition: background-color .25s ease, border-color .25s ease;\n}\n.wo-faq-item[open] {\n  background: #FFFFFF;\n  border-color: rgba(104,205,236,0.4);\n  box-shadow: 0 4px 16px rgba(0,0,0,0.04);\n}\n.wo-faq-item summary {\n  cursor: pointer;\n  padding: 24px 32px;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 18px;\n  font-weight: 700;\n  color: #1A1A1A;\n  list-style: none;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 16px;\n  user-select: none;\n  transition: color .2s ease;\n}\n.wo-faq-item summary::-webkit-details-marker { display: none; }\n.wo-faq-item summary::marker { content: none; display: none; }\n.wo-faq-item summary::after {\n  content: \"+\";\n  font-size: 28px;\n  font-weight: 300;\n  color: #68CDEC;\n  transition: transform .3s ease;\n  flex-shrink: 0;\n  line-height: 1;\n}\n.wo-faq-item[open] summary::after { transform: rotate(45deg); }\n.wo-faq-item summary:hover { color: #68CDEC; }\n.wo-faq-answer {\n  padding: 0 32px 24px;\n  font-size: 17px;\n  line-height: 1.7;\n  color: #4A4A4A;\n}\n.wo-faq-link-wrap { text-align: center; }\n.wo-faq-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 17px;\n  font-weight: 700;\n  color: #68CDEC;\n  text-decoration: none !important;\n  transition: gap .25s ease, color .2s ease;\n}\n.wo-faq-link:hover { gap: 16px; color: #2D9CB8; }\n\n\/* Mobile FAQ *\/\n@media (max-width: 767px) {\n  .wo-faq { padding: 60px 5vw !important; }\n  .wo-faq-item summary { padding: 20px 24px; font-size: 16px; }\n  .wo-faq-answer { padding: 0 24px 20px; font-size: 16px; }\n  .wo-faq-subtitle { margin-bottom: 32px !important; }\n  .wo-faq-list { gap: 8px; margin-bottom: 32px; }\n}\n\/* ================================================== *\/\n\n\n\/* =====================================================\n   WO HERO v70 \u2014 fix: alignment + 2-col grid + lite-video\n   ===================================================== *\/\n.wo-hero-section {\n  position: relative;\n  background-image: url(\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/1porto.jpg\") !important;\n  background-position: center center !important;\n  background-size: cover !important;\n  background-repeat: no-repeat !important;\n  background-color: #0F1B26 !important;\n  padding-left: 5vw !important;\n  padding-right: 5vw !important;\n  padding-top: 90px !important;\n  padding-bottom: 30px !important;\n  height: 100vh !important;\n  height: 100dvh !important;\n  display: grid !important;\n  place-content: center !important;\n  grid-template-columns: 1fr !important;\n  overflow: hidden;\n}\n.wo-hero-section > * { width: 100%; }\nbody.admin-bar .wo-hero-section { height: calc(100vh - 32px) !important; height: calc(100dvh - 32px) !important; }\n@media (max-width: 782px) {\n  body.admin-bar .wo-hero-section { height: calc(100vh - 46px) !important; height: calc(100dvh - 46px) !important; }\n}\n\/* Em viewports muito baixos (laptop com devtools) ou mobile, libertar height para que o conte\u00fado respire *\/\n@media (max-height: 700px), (max-width: 900px) {\n  .wo-hero-section {\n    height: auto !important;\n    min-height: 100vh !important;\n    min-height: 100dvh !important;\n  }\n}\n.wo-hero-section::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(100deg, rgba(0,20,30,0.78) 0%, rgba(0,20,30,0.55) 55%, rgba(0,20,30,0.30) 100%);\n  z-index: 1;\n  pointer-events: none;\n}\n.wo-hero-section > .et_pb_row { position: relative; z-index: 2; }\n.wo-hero-section .et_pb_row {\n  max-width: 100% !important;\n  width: 100% !important;\n  padding: 27px 0 !important;\n  margin: 0 !important;\n}\n.wo-hero-section .et_pb_column {\n  max-width: 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n}\n.wo-hero-grid {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(0, min(560px, 42%));\n  gap: 64px;\n  align-items: center;\n  max-width: 100%;\n}\n.wo-hero-text { color: #FFFFFF; max-width: 620px; }\n.wo-hero-pre {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 14px; font-weight: 700;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #68CDEC; margin: 0 0 12px;\n}\n.wo-hero-h1 {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(40px, 5.6vw, 68px);\n  line-height: 1.05; font-weight: 800;\n  color: #FFFFFF; margin: 0 0 20px;\n  letter-spacing: -0.02em;\n}\n.wo-hero-sub {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(16px, 1.5vw, 19px);\n  line-height: 1.55; font-weight: 400;\n  color: #E8EDF2; margin: 0 0 28px;\n}\n.wo-hero-sub strong { color: #FFFFFF; font-weight: 700; }\n.wo-hero-bullets-new {\n  list-style: none; padding: 0 !important;\n  margin: 0 0 32px !important;\n  display: flex; flex-direction: column; gap: 10px;\n}\n.wo-hero-bullets-new li {\n  display: flex; align-items: center; gap: 12px;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 16px; font-weight: 500;\n  color: #FFFFFF; line-height: 1.5; margin: 0;\n}\n.wo-hero-bullets-new li strong { font-weight: 700; }\n.wo-hb-check {\n  display: inline-flex; flex: 0 0 22px;\n  width: 22px; height: 22px;\n  border-radius: 50%; background: #68CDEC;\n  position: relative;\n}\n.wo-hb-check::after {\n  content: \"\"; position: absolute;\n  left: 6px; top: 4px; width: 6px; height: 11px;\n  border: solid #0F1B26;\n  border-width: 0 2.5px 2.5px 0;\n  transform: rotate(45deg);\n}\n.wo-hero-actions {\n  display: flex; flex-wrap: wrap; gap: 14px; align-items: center;\n}\n.wo-hero-btn-primary, .wo-hero-btn-ghost {\n  display: inline-flex; align-items: center; justify-content: center;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 16px; font-weight: 700;\n  padding: 16px 28px; border-radius: 999px;\n  text-decoration: none; transition: all .25s ease;\n  white-space: nowrap; line-height: 1;\n}\n.wo-hero-btn-primary { background: #68CDEC; color: #0F1B26; }\n.wo-hero-btn-primary:hover {\n  background: #FFFFFF; transform: translateY(-2px);\n  box-shadow: 0 12px 28px rgba(104, 205, 236, .35);\n}\n.wo-hero-btn-ghost {\n  background: rgba(255, 255, 255, 0.08);\n  color: #FFFFFF;\n  border: 2px solid rgba(255, 255, 255, 0.6);\n  padding: 14px 26px; font-weight: 600;\n}\n.wo-hero-btn-ghost:hover {\n  background: #FFFFFF; color: #0F1B26;\n  border-color: #FFFFFF; transform: translateY(-2px);\n}\n\/* Video \u2014 todo o elemento \u00e9 clic\u00e1vel; SVG\/imagem com pointer-events:none *\/\n.wo-hero-video {\n  position: relative; width: 100%;\n  aspect-ratio: 16 \/ 9;\n  border-radius: 16px; overflow: hidden;\n  cursor: pointer; background: #000;\n  box-shadow:\n    0 0 0 2px rgba(104, 205, 236, 0.75),                \/* inner ring brand *\/\n    0 0 0 7px rgba(104, 205, 236, 0.15),                \/* halo *\/\n    0 0 40px -2px rgba(104, 205, 236, 0.45),            \/* soft outer glow *\/\n    0 20px 50px rgba(0, 0, 0, 0.45);                    \/* drop shadow *\/\n  transition: transform .35s ease, box-shadow .35s ease;\n  isolation: isolate;\n}\n.wo-hero-video:hover {\n  transform: translateY(-3px);\n  box-shadow:\n    0 0 0 2px rgba(104, 205, 236, 1),\n    0 0 0 10px rgba(104, 205, 236, 0.25),\n    0 0 60px 0px rgba(104, 205, 236, 0.65),\n    0 28px 60px rgba(0, 0, 0, 0.55);\n}\n.wo-hero-video:focus-visible { outline: 3px solid #68CDEC; outline-offset: 4px; }\n.wo-hero-video-thumb {\n  width: 100%; height: 100%;\n  object-fit: cover; display: block;\n  transition: transform .6s ease;\n  pointer-events: none;\n}\n.wo-hero-video:hover .wo-hero-video-thumb {\n  transform: scale(1.02);\n}\n.wo-hero-video-play {\n  position: absolute; inset: 0; margin: auto;\n  width: 96px; height: 96px;\n  display: flex; align-items: center; justify-content: center;\n  z-index: 2; pointer-events: none;\n  transition: transform .25s ease;\n  filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.35));\n}\n.wo-hero-video:hover .wo-hero-video-play { transform: scale(1.08); }\n.wo-hero-video-play svg {\n  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.4));\n  pointer-events: none;\n}\n\/* play button hover effect via parent .wo-hero-video:hover .wo-hero-video-play scale (defined above) *\/\n.wo-hero-video iframe {\n  position: absolute; inset: 0; width: 100%; height: 100%;\n  border: 0; z-index: 3;\n}\n@media (max-width: 1100px) {\n  .wo-hero-grid { grid-template-columns: 1fr; gap: 40px; }\n  .wo-hero-text { max-width: 100%; }\n  .wo-hero-video { max-width: 600px; margin: 0 auto; }\n}\n@media (max-width: 640px) {\n  .wo-hero-grid { gap: 32px; }\n  .wo-hero-actions { flex-direction: column; align-items: stretch; }\n  .wo-hero-actions a { width: 100%; text-align: center; }\n  .wo-hero-bullets-new li { font-size: 15px; }\n  .wo-hero-pre { font-size: 12px; letter-spacing: 0.14em; }\n}\n\n\n\n\/* =====================================================\n   WO LOCATIONS v72 \u2014 side-by-side cards (2-col \/ 1-col mobile)\n   ===================================================== *\/\n.wo-locations-v2 .et_pb_row {\n  max-width: 1240px !important;\n  width: 100% !important;\n  padding: 0 !important;\n  margin: 0 auto !important;\n}\n.wo-locations-v2 .et_pb_column { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }\n\n.wo-loc-header { text-align: center; max-width: 720px; margin: 0 auto 56px; }\n.wo-loc-header .wo-loc-pre {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px; font-weight: 700;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #68CDEC; margin: 0 0 12px;\n}\n.wo-loc-header .wo-loc-h2 {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(32px, 4vw, 48px);\n  font-weight: 800; color: #1A1A1A;\n  margin: 0 0 16px; line-height: 1.15;\n  letter-spacing: -0.01em;\n}\n.wo-loc-header .wo-loc-sub {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 17px; line-height: 1.55;\n  color: #5A6470; margin: 0;\n}\n\n.wo-loc-grid {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 40px;\n  align-items: stretch;\n}\n\n.wo-loc-card {\n  background: #FFFFFF;\n  border-radius: 20px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.03);\n  transition: transform .35s ease, box-shadow .35s ease;\n}\n.wo-loc-card:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(104, 205, 236, 0.15);\n}\n\n.wo-loc-image {\n  position: relative;\n  aspect-ratio: 4 \/ 3;\n  overflow: hidden;\n  background: #E5E8EC;\n}\n.wo-loc-image img {\n  width: 100%; height: 100%;\n  object-fit: cover; display: block;\n  transition: transform .8s ease;\n}\n.wo-loc-card:hover .wo-loc-image img { transform: scale(1.04); }\n\n.wo-loc-body {\n  padding: 32px 32px 36px;\n  display: flex;\n  flex-direction: column;\n  flex: 1;\n}\n.wo-loc-tag {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 13px; font-weight: 700;\n  letter-spacing: 0.14em; text-transform: uppercase;\n  color: #68CDEC; margin: 0 0 8px;\n}\n.wo-loc-title {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 28px; font-weight: 800;\n  color: #1A1A1A; margin: 0 0 16px;\n  line-height: 1.2; letter-spacing: -0.01em;\n}\n.wo-loc-addr {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px; line-height: 1.6;\n  color: #5A6470; margin: 0 0 16px;\n}\n.wo-loc-desc {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px; line-height: 1.6;\n  color: #2A2F36; margin: 0 0 24px;\n}\n.wo-loc-desc strong { color: #1A1A1A; font-weight: 700; }\n\n\/* Transports list \u2014 compact with mini-icons *\/\n.wo-loc-transports {\n  list-style: none;\n  padding: 18px 20px !important;\n  margin: 0 0 28px;\n  background: #F7F9FB;\n  border-radius: 12px;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}\n.wo-loc-transports li {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 14px;\n  color: #2A2F36;\n  line-height: 1.45;\n  margin: 0;\n}\n.wo-loc-transports li strong { color: #1A1A1A; font-weight: 700; }\n.wo-loc-transports .wo-tr-time { color: #5A6470; font-weight: 500; }\n.wo-loc-meta { color: #5A6470; font-weight: 400; font-size: 13px; }\n\n.wo-tr-icon {\n  flex: 0 0 26px;\n  width: 26px; height: 26px;\n  border-radius: 50%;\n  background: #E8F7FC;\n  display: inline-block;\n  margin-top: 1px;\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: 16px 16px;\n}\n\/* SVG icons inline via background-image (N\u00c3O mask \u2014 mais robusto) *\/\n.wo-tr-icon.wo-icon-train {\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='2'\/><path d='M4 12h16'\/><circle cx='8' cy='17' r='1'\/><circle cx='16' cy='17' r='1'\/><path d='M6 22l-2 2M18 22l2 2'\/><\/svg>\");\n}\n.wo-tr-icon.wo-icon-subway {\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='3' width='16' height='16' rx='4'\/><path d='M9 11h6'\/><circle cx='9' cy='16' r='1'\/><circle cx='15' cy='16' r='1'\/><\/svg>\");\n}\n.wo-tr-icon.wo-icon-parking {\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'\/><path d='M9 17V7h4a3 3 0 0 1 0 6H9'\/><\/svg>\");\n}\n.wo-tr-icon.wo-icon-bus {\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 17V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v11l-2 2v2h-3v-2H9v2H6v-2l-2-2z'\/><path d='M4 11h16'\/><circle cx='8' cy='14.5' r='1'\/><circle cx='16' cy='14.5' r='1'\/><\/svg>\");\n}\n\n\/* CTA *\/\n.wo-loc-cta {\n  margin-top: auto;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  background: #68CDEC;\n  color: #0F1B26;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px; font-weight: 700;\n  padding: 14px 24px;\n  border-radius: 999px;\n  text-decoration: none;\n  transition: all .25s ease;\n  align-self: flex-start;\n}\n.wo-loc-cta:hover {\n  background: #0F1B26; color: #FFFFFF;\n  transform: translateY(-2px);\n  box-shadow: 0 10px 24px rgba(15, 27, 38, 0.2);\n}\n.wo-loc-cta-arrow {\n  display: inline-block;\n  transition: transform .25s ease;\n}\n.wo-loc-cta:hover .wo-loc-cta-arrow { transform: translateX(4px); }\n\n\/* Mobile \u2014 1-col *\/\n@media (max-width: 900px) {\n  .wo-loc-grid { grid-template-columns: 1fr; gap: 28px; }\n  .wo-loc-image { aspect-ratio: 16 \/ 10; }\n  .wo-loc-body { padding: 24px 24px 28px; }\n  .wo-loc-header { margin-bottom: 36px; }\n}\n\n\n\n\n\n\/* =====================================================\n   WO HEADER v77b \u2014 transparent override invertido\n   ===================================================== *\/\n\/* Logo swap (default mostra dark; transparent mode mostra white) *\/\n.wo-logo { position: relative; display: inline-block; }\n.wo-logo-img { display: block; transition: opacity .25s ease; }\n.wo-logo-light { position: absolute; top: 0; left: 0; opacity: 0; }\n.wo-logo-dark { opacity: 1; }\n\n\/* Transparent variant \u2014 override do glass default *\/\n.wo-header.wo-transparent {\n  background: transparent !important;\n  backdrop-filter: none !important;\n  -webkit-backdrop-filter: none !important;\n  box-shadow: none !important;\n  border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n}\n.wo-header.wo-transparent .wo-nav-list > li > a,\n.wo-header.wo-transparent .wo-header-phone,\n.wo-header.wo-transparent .wo-header-phone-num { color: #FFFFFF !important; }\n.wo-header.wo-transparent .wo-header-phone-icon {\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.37 1.9.72 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.35 1.85.59 2.81.72A2 2 0 0 1 22 16.92z'\/><\/svg>\") !important;\n}\n.wo-header.wo-transparent .wo-burger span { background: #FFFFFF !important; }\n.wo-header.wo-transparent .wo-caret { border-top-color: #FFFFFF !important; }\n.wo-header.wo-transparent .wo-logo-light { opacity: 1; }\n.wo-header.wo-transparent .wo-logo-dark { opacity: 0; }\n\n\n\/* Text-shadow for legibility on transparent header over varied bg *\/\n.wo-header.wo-transparent .wo-nav-list > li > a,\n.wo-header.wo-transparent .wo-header-phone,\n.wo-header.wo-transparent .wo-header-phone-num {\n  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55), 0 0 4px rgba(0, 0, 0, 0.3);\n}\n.wo-header.wo-transparent .wo-logo-light {\n  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\n}\n\/* Soft gradient under header to ensure readability even on light backgrounds *\/\n.wo-header.wo-transparent::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0) 100%);\n  z-index: -1;\n  pointer-events: none;\n}\n\n\n\/* =====================================================\n   WO CENTRO GAIA v89 \u2014 replica receita v88 do Porto\n   ===================================================== *\/\n\n\/* Force layout overrides *\/\nhtml body .wo-cg-stats-sec, html body .wo-cg-about-sec, html body .wo-cg-loc-sec,\nhtml body .wo-cg-gal-sec, html body .wo-cg-svc-sec, html body .wo-cg-cta {\n  display: block !important;\n  width: 100% !important;\n}\nhtml body [class*=\"wo-cg-\"] .et_pb_row {\n  display: block !important;\n  width: 100% !important;\n  margin: 0 auto !important;\n  padding: 0 !important;\n}\nhtml body [class*=\"wo-cg-\"] .et_pb_column {\n  display: block !important;\n  width: 100% !important;\n  max-width: 100% !important;\n  padding: 0 !important;\n  margin: 0 !important;\n  flex: none !important;\n}\n\n\/* ===== HERO DARK \u2014 receita v77 ===== *\/\n.wo-cg-hero {\n  position: relative;\n  background-position: center center !important;\n  background-size: cover !important;\n  background-repeat: no-repeat !important;\n  padding-top: 90px !important;\n  padding-bottom: 30px !important;\n  height: 100vh !important;\n  height: 100dvh !important;\n  display: grid !important;\n  place-content: center !important;\n  grid-template-columns: 1fr !important;\n  overflow: hidden;\n}\n.wo-cg-hero > * { width: 100%; }\nbody.admin-bar .wo-cg-hero {\n  height: calc(100vh - 32px) !important;\n  height: calc(100dvh - 32px) !important;\n}\n@media (max-width: 782px) {\n  body.admin-bar .wo-cg-hero {\n    height: calc(100vh - 46px) !important;\n    height: calc(100dvh - 46px) !important;\n  }\n}\n@media (max-height: 700px), (max-width: 900px) {\n  .wo-cg-hero {\n    height: auto !important;\n    min-height: 100vh !important;\n    min-height: 100dvh !important;\n  }\n}\n.wo-cg-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(100deg, rgba(0,20,30,0.85) 0%, rgba(0,20,30,0.65) 55%, rgba(0,20,30,0.45) 100%);\n  z-index: 1;\n  pointer-events: none;\n}\n.wo-cg-hero > .et_pb_row { position: relative; z-index: 2; }\n.wo-cg-hero .et_pb_row {\n  max-width: 1240px !important;\n  width: 100% !important;\n  margin: 0 auto !important;\n  padding: 0 !important;\n}\n\n.wo-cg-hero-grid { max-width: 720px; }\n.wo-cg-hero-text { color: #FFFFFF; }\n.wo-cg-pre {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 14px; font-weight: 700;\n  letter-spacing: 0.18em; text-transform: uppercase;\n  color: #68CDEC; margin: 0 0 14px;\n}\n.wo-cg-h1 {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(40px, 5.6vw, 64px);\n  line-height: 1.05; font-weight: 800;\n  color: #FFFFFF; margin: 0 0 18px;\n  letter-spacing: -0.02em;\n}\n.wo-cg-sub {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(16px, 1.5vw, 19px);\n  line-height: 1.55; color: #E8EDF2;\n  margin: 0 0 24px;\n}\n.wo-cg-sub strong { color: #FFFFFF; font-weight: 700; }\n.wo-cg-addr-row {\n  display: flex; align-items: center; gap: 10px;\n  margin: 0 0 32px;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 15px; color: #E8EDF2;\n}\n.wo-cg-actions { display: flex; flex-wrap: wrap; gap: 14px; }\n.wo-cg-btn-primary, .wo-cg-btn-ghost {\n  display: inline-flex; align-items: center; justify-content: center;\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: 16px; font-weight: 700;\n  padding: 16px 28px; border-radius: 999px;\n  text-decoration: none; transition: all .25s ease;\n  white-space: nowrap; line-height: 1;\n}\n.wo-cg-btn-primary { background: #68CDEC; color: #0F1B26; }\n.wo-cg-btn-primary:hover { background: #FFFFFF; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(104,205,236,.35); }\n.wo-cg-btn-ghost { background: rgba(255,255,255,0.08); color: #FFFFFF; border: 2px solid rgba(255,255,255,0.6); padding: 14px 26px; font-weight: 600; }\n.wo-cg-btn-ghost:hover { background: #FFFFFF; color: #0F1B26; border-color: #FFFFFF; transform: translateY(-2px); }\n\n\/* ===== STATS ===== *\/\n.wo-cg-stats {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 24px;\n  text-align: center;\n}\n@media (max-width: 900px) { .wo-cg-stats { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .wo-cg-stats { grid-template-columns: 1fr; } }\n.wo-cg-stat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 16px; }\n.wo-cg-stat-num {\n  font-family: \"Nunito Sans\", sans-serif;\n  font-size: clamp(36px, 4.5vw, 56px);\n  font-weight: 800; color: #68CDEC;\n  line-height: 1; letter-spacing: -0.02em;\n  display: inline-flex; align-items: baseline; gap: 4px;\n}\n.wo-cg-stat-num small { font-size: 0.4em; color: #5A6470; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }\n.wo-cg-stat-label { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 600; color: #2A2F36; }\n\n\/* ===== SOBRE ===== *\/\n.wo-cg-about { text-align: center; }\n.wo-cg-about-pre { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #68CDEC; margin: 0 0 14px; }\n.wo-cg-about-h2 { font-family: \"Nunito Sans\", sans-serif; font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; color: #1A1A1A; margin: 0 0 36px; line-height: 1.2; letter-spacing: -0.015em; }\n.wo-cg-about-text { text-align: left; }\n.wo-cg-about-text p { font-family: \"Nunito Sans\", sans-serif; font-size: 17px; line-height: 1.7; color: #2A2F36; margin: 0 0 20px; }\n.wo-cg-about-text p:last-child { margin-bottom: 0; }\n.wo-cg-about-text strong { color: #1A1A1A; font-weight: 700; }\n\n\/* ===== TRANSPORTES (2-col) ===== *\/\n.wo-cg-loc-header { text-align: center; margin: 0 0 56px; }\n.wo-cg-loc-pre { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #68CDEC; margin: 0 0 14px; }\n.wo-cg-loc-h2 { font-family: \"Nunito Sans\", sans-serif; font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; color: #1A1A1A; margin: 0 0 14px; line-height: 1.2; letter-spacing: -0.015em; }\n.wo-cg-loc-sub { font-family: \"Nunito Sans\", sans-serif; font-size: 17px; line-height: 1.55; color: #5A6470; margin: 0 auto; max-width: 720px; }\n.wo-cg-loc-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: stretch; }\n@media (max-width: 900px) { .wo-cg-loc-grid { grid-template-columns: 1fr; gap: 28px; } }\n.wo-cg-map { position: relative; border-radius: 16px; overflow: hidden; background: #E5E8EC; min-height: 380px; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.03); }\n.wo-cg-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(0.15); }\n.wo-cg-transports { list-style: none; padding: 24px 28px !important; margin: 0; background: #F7F9FB; border-radius: 16px; display: flex; flex-direction: column; gap: 14px; }\n.wo-cg-transports li { display: flex; align-items: flex-start; gap: 12px; font-family: \"Nunito Sans\", sans-serif; font-size: 15px; color: #2A2F36; line-height: 1.5; margin: 0; }\n.wo-cg-transports li strong { color: #1A1A1A; font-weight: 700; }\n.wo-cg-transports .wo-loc-meta { color: #5A6470; font-weight: 400; font-size: 13px; }\n.wo-cg-transports .wo-tr-icon { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: #E8F7FC; background-repeat: no-repeat; background-position: center; background-size: 16px 16px; display: inline-block; margin-top: 1px; }\n.wo-cg-transports .wo-icon-train { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='2'\/><path d='M4 12h16'\/><circle cx='8' cy='17' r='1'\/><circle cx='16' cy='17' r='1'\/><\/svg>\"); }\n.wo-cg-transports .wo-icon-subway { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='3' width='16' height='16' rx='4'\/><path d='M9 11h6'\/><circle cx='9' cy='16' r='1'\/><circle cx='15' cy='16' r='1'\/><\/svg>\"); }\n.wo-cg-transports .wo-icon-parking { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'\/><path d='M9 17V7h4a3 3 0 0 1 0 6H9'\/><\/svg>\"); }\n.wo-cg-transports .wo-icon-bus { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 17V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v11l-2 2v2h-3v-2H9v2H6v-2l-2-2z'\/><path d='M4 11h16'\/><circle cx='8' cy='14.5' r='1'\/><circle cx='16' cy='14.5' r='1'\/><\/svg>\"); }\n\n\/* ===== GALERIA (4-col + lightbox) ===== *\/\n.wo-cg-gal-header { text-align: center; margin: 0 0 48px; }\n.wo-cg-gal-pre { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #68CDEC; margin: 0 0 14px; }\n.wo-cg-gal-h2 { font-family: \"Nunito Sans\", sans-serif; font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; color: #1A1A1A; margin: 0 0 14px; line-height: 1.2; letter-spacing: -0.015em; }\n.wo-cg-gal-sub { font-family: \"Nunito Sans\", sans-serif; font-size: 17px; line-height: 1.55; color: #5A6470; margin: 0 auto; max-width: 720px; }\n.wo-cggal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }\n@media (max-width: 900px) { .wo-cggal-grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .wo-cggal-grid { grid-template-columns: 1fr; } }\n.wo-cggal-card { display: block; position: relative; aspect-ratio: 4 \/ 3; border-radius: 12px; overflow: hidden; background: #E5E8EC; cursor: zoom-in; text-decoration: none; transition: transform .35s ease, box-shadow .35s ease; box-shadow: 0 2px 12px rgba(0,0,0,0.05); }\n.wo-cggal-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,0.12), 0 0 0 1px rgba(104,205,236,0.3); }\n.wo-cggal-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }\n.wo-cggal-card:hover img { transform: scale(1.04); }\n.wo-cggal-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(15,27,38,0.45) 100%); display: flex; align-items: flex-end; justify-content: flex-end; padding: 14px; opacity: 0; transition: opacity .25s ease; pointer-events: none; }\n.wo-cggal-card:hover .wo-cggal-overlay { opacity: 1; }\n.wo-cggal-overlay svg { background: rgba(255,255,255,0.95); color: #0F1B26; width: 32px; height: 32px; padding: 6px; border-radius: 50%; }\n.wo-cggal-lb { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.92); display: none; align-items: center; justify-content: center; opacity: 0; transition: opacity .25s ease; }\n.wo-cggal-lb.is-open { display: flex; opacity: 1; }\n.wo-cggal-lb img { max-width: 90vw; max-height: 85vh; border-radius: 8px; box-shadow: 0 30px 80px rgba(0,0,0,0.6); }\n.wo-cggal-lb-close, .wo-cggal-lb-prev, .wo-cggal-lb-next { position: absolute; background: rgba(255,255,255,0.12); border: 0; color: #FFF; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 24px; transition: background .2s ease; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }\n.wo-cggal-lb-close { top: 24px; right: 24px; }\n.wo-cggal-lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }\n.wo-cggal-lb-next { right: 24px; top: 50%; transform: translateY(-50%); }\n.wo-cggal-lb-close:hover, .wo-cggal-lb-prev:hover, .wo-cggal-lb-next:hover { background: rgba(255,255,255,0.22); }\n\n\/* ===== SERVI\u00c7OS ===== *\/\n.wo-cg-svc-header { text-align: center; margin: 0 0 48px; }\n.wo-cg-svc-pre { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #68CDEC; margin: 0 0 14px; }\n.wo-cg-svc-h2 { font-family: \"Nunito Sans\", sans-serif; font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; color: #1A1A1A; margin: 0 0 14px; line-height: 1.2; letter-spacing: -0.015em; }\n.wo-cg-svc-sub { font-family: \"Nunito Sans\", sans-serif; font-size: 17px; line-height: 1.55; color: #5A6470; margin: 0 auto; max-width: 720px; }\n.wo-cg-svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }\n@media (max-width: 900px) { .wo-cg-svc-grid { grid-template-columns: repeat(2, 1fr); } }\n@media (max-width: 480px) { .wo-cg-svc-grid { grid-template-columns: 1fr; } }\n.wo-cg-svc-card { display: flex; flex-direction: column; padding: 28px 24px; background: #FFFFFF; border: 1px solid #E5E8EC; border-radius: 16px; text-decoration: none; transition: all .25s ease; }\n.wo-cg-svc-card:hover { border-color: rgba(104, 205, 236, 0.5); transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0, 0, 0, 0.06); }\n.wo-cg-svc-icon { width: 56px; height: 56px; border-radius: 16px; background-color: #E8F7FC; background-repeat: no-repeat; background-position: center; background-size: 28px 28px; margin-bottom: 18px; transition: background-color .25s ease; }\n.wo-cg-svc-card:hover .wo-cg-svc-icon { background-color: #68CDEC; }\n.wo-cg-svc-icon-virtual { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='12' rx='2'\/><path d='M3 20h18M9 16v4M15 16v4'\/><\/svg>\"); }\n.wo-cg-svc-icon-coworking { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='7' r='3'\/><circle cx='17' cy='8' r='2.5'\/><path d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M14 20c0-2 1-4 3-4s3 2 3 4'\/><\/svg>\"); }\n.wo-cg-svc-icon-individual { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='3' width='16' height='18' rx='2'\/><path d='M8 7h8M8 11h8M8 15h5'\/><\/svg>\"); }\n.wo-cg-svc-icon-lounge { background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%231A78A8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 18v-5a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v5M3 18h18M6 18v2M18 18v2M7 10V7a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v3'\/><\/svg>\"); }\n.wo-cg-svc-card h3 { font-family: \"Nunito Sans\", sans-serif; font-size: 18px; font-weight: 800; color: #1A1A1A; margin: 0 0 8px; line-height: 1.25; }\n.wo-cg-svc-card p { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; line-height: 1.5; color: #5A6470; margin: 0 0 16px; flex: 1; }\n.wo-cg-svc-price { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; color: #5A6470; }\n.wo-cg-svc-price strong { color: #1A78A8; font-size: 18px; font-weight: 800; }\n\n\/* ===== CTA FINAL ===== *\/\n.wo-cg-cta-inner { text-align: center; }\n.wo-cg-cta-pre { font-family: \"Nunito Sans\", sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #68CDEC; margin: 0 0 14px; }\n.wo-cg-cta h2 { font-family: \"Nunito Sans\", sans-serif; font-size: clamp(30px, 4vw, 44px); font-weight: 800; color: #FFFFFF; margin: 0 0 14px; line-height: 1.2; letter-spacing: -0.015em; }\n.wo-cg-cta-sub { font-family: \"Nunito Sans\", sans-serif; font-size: 17px; line-height: 1.6; color: #B0B6BC; margin: 0 0 28px; }\n.wo-cg-cta-actions { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }\n.wo-cg-cta-btn-primary { background: #68CDEC; color: #0F1B26; font-family: \"Nunito Sans\", sans-serif; font-size: 16px; font-weight: 700; padding: 16px 32px; border-radius: 999px; text-decoration: none; transition: all .25s ease; }\n.wo-cg-cta-btn-primary:hover { background: #FFFFFF; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(104,205,236,.35); }\n.wo-cg-cta-btn-ghost { background: transparent; color: #FFFFFF; border: 2px solid rgba(255,255,255,0.45); font-family: \"Nunito Sans\", sans-serif; font-size: 16px; font-weight: 600; padding: 14px 28px; border-radius: 999px; text-decoration: none; transition: all .25s ease; }\n.wo-cg-cta-btn-ghost:hover { background: rgba(255,255,255,0.12); border-color: #FFFFFF; }\n\n<\/style>\n<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section wo-cg-hero preset--module--divi-section--default\">\n<div class=\"et_pb_row_0 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-hero-grid\">\n<div class=\"wo-cg-hero-text\">\n<p class=\"wo-cg-pre\">Centro de neg\u00f3cios<\/p>\n<h1 class=\"wo-cg-h1\">WebOffice Gaia<\/h1>\n<p class=\"wo-cg-sub\">Sedia\u00e7\u00e3o, escrit\u00f3rios privados e coworking junto ao Metro C\u00e2mara de Gaia. Vistas sobre a cidade, <strong>10 anos<\/strong> de opera\u00e7\u00e3o.<\/p>\n<div class=\"wo-cg-addr-row\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#68CDEC\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>\n<span>Av. da Rep\u00fablica, n.\u00ba 755 \u00b7 5.\u00ba Andar \u00b7 4430-201 Vila Nova de Gaia<\/span>\n<\/div>\n<div class=\"wo-cg-actions\">\n<a class=\"wo-cg-btn-primary\" href=\"\/contactos\/?loc=gaia\">Visitar este espa\u00e7o<\/a>\n<a class=\"wo-cg-btn-ghost\" href=\"tel:+351225899800\">+351 225 899 800<\/a>\n<\/div>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_1 et_pb_section et_section_regular et_flex_section wo-cg-stats-sec preset--module--divi-section--default\">\n<div class=\"et_pb_row_1 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-stats\">\n<div class=\"wo-cg-stat\">\n<span class=\"wo-cg-stat-num\">150<small>m\u00b2<\/small><\/span>\n<span class=\"wo-cg-stat-label\">Espa\u00e7o \u00fatil<\/span>\n<\/div>\n<div class=\"wo-cg-stat\">\n<span class=\"wo-cg-stat-num\">2015<\/span>\n<span class=\"wo-cg-stat-label\">Ano de abertura<\/span>\n<\/div>\n<div class=\"wo-cg-stat\">\n<span class=\"wo-cg-stat-num\">3<small>min<\/small><\/span>\n<span class=\"wo-cg-stat-label\">Metro C\u00e2mara de Gaia<\/span>\n<\/div>\n<div class=\"wo-cg-stat\">\n<span class=\"wo-cg-stat-num\">24\/7<\/span>\n<span class=\"wo-cg-stat-label\">Acesso coworking<\/span>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_2 et_pb_section et_section_regular et_flex_section wo-cg-about-sec preset--module--divi-section--default\">\n<div class=\"et_pb_row_2 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-about\">\n<p class=\"wo-cg-about-pre\">Sobre o espa\u00e7o<\/p>\n<h2 class=\"wo-cg-about-h2\">No centro de Gaia, junto ao Douro e ao Metro C\u00e2mara de Gaia.<\/h2>\n<div class=\"wo-cg-about-text\">\n<p>O WebOffice Gaia abriu em 2015 para responder ao crescimento empresarial na <strong>margem sul do Douro<\/strong>. Localizado na Avenida da Rep\u00fablica \u2014 o eixo nobre da cidade \u2014 junto \u00e0s esta\u00e7\u00f5es de Metro C\u00e2mara de Gaia e General Torres.<\/p>\n<p>Em <strong>150 m\u00b2<\/strong> no 5.\u00ba andar com vistas sobre a cidade, oferecemos escrit\u00f3rios privados, salas de reuni\u00f5es equipadas e \u00e1rea de coworking flex\u00edvel. Um espa\u00e7o pensado para empresas internacionais (D7, NHR), profissionais liberais e equipas que beneficiam da proximidade ao Porto sem os pre\u00e7os do centro hist\u00f3rico.<\/p>\n<p>O acesso \u00e9 simples: <strong>3 minutos a p\u00e9<\/strong> do Metro C\u00e2mara de Gaia (Linha D), 3 minutos da Esta\u00e7\u00e3o General Torres, e liga\u00e7\u00e3o r\u00e1pida ao Porto em 10 minutos pela ponte Lu\u00eds I ou via Linha D.<\/p>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_3 et_pb_section et_section_regular et_flex_section wo-cg-loc-sec preset--module--divi-section--default\">\n<div class=\"et_pb_row_3 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_3 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-loc\">\n<div class=\"wo-cg-loc-header\">\n<p class=\"wo-cg-loc-pre\">Como chegar<\/p>\n<h2 class=\"wo-cg-loc-h2\">Centro de Gaia, com tudo \u00e0 porta.<\/h2>\n<p class=\"wo-cg-loc-sub\">A 3 minutos do Metro C\u00e2mara de Gaia, junto \u00e0 Avenida da Rep\u00fablica e ao Douro.<\/p>\n<\/div>\n<div class=\"wo-cg-loc-grid\">\n<div class=\"wo-cg-map\">\n<iframe src=\"https:\/\/www.google.com\/maps?q=Avenida+da+Republica+755,+Vila+Nova+de+Gaia&output=embed\" loading=\"lazy\" allowfullscreen=\"\" referrerpolicy=\"no-referrer-when-downgrade\" title=\"Mapa WebOffice Gaia\"><\/iframe>\n<\/div>\n<ul class=\"wo-cg-transports\">\n<li><span class=\"wo-tr-icon wo-icon-subway\"><\/span><span><strong>Metro C\u00e2mara de Gaia<\/strong> <span class=\"wo-loc-meta\">(Linha D \u2014 Amarela)<\/span> \u2014 3 min a p\u00e9<\/span><\/li>\n<li><span class=\"wo-tr-icon wo-icon-train\"><\/span><span><strong>Esta\u00e7\u00e3o General Torres<\/strong> <span class=\"wo-loc-meta\">comboios urbanos<\/span> \u2014 3 min<\/span><\/li>\n<li><span class=\"wo-tr-icon wo-icon-bus\"><\/span><span><strong>STCP autocarros<\/strong> <span class=\"wo-loc-meta\">paragem na porta<\/span><\/span><\/li>\n<li><span class=\"wo-tr-icon wo-icon-parking\"><\/span><span><strong>Parque p\u00fablico<\/strong> <span class=\"wo-loc-meta\">C\u00e2mara de Gaia<\/span> \u2014 3 min<\/span><\/li>\n<li><span class=\"wo-tr-icon wo-icon-train\"><\/span><span><strong>Porto centro<\/strong> via Ponte Lu\u00eds I ou Linha D \u2014 10 min<\/span><\/li>\n<li><span class=\"wo-tr-icon wo-icon-train\"><\/span><span><strong>Aeroporto Francisco S\u00e1 Carneiro<\/strong> \u2014 22 km \u00b7 35 min metro<\/span><\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_4 et_pb_section et_section_regular et_flex_section wo-cg-gal-sec preset--module--divi-section--default\">\n<div class=\"et_pb_row_4 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-galeria\">\n<div class=\"wo-cg-gal-header\">\n<p class=\"wo-cg-gal-pre\">Instala\u00e7\u00f5es<\/p>\n<h2 class=\"wo-cg-gal-h2\">Conhe\u00e7a o espa\u00e7o<\/h2>\n<p class=\"wo-cg-gal-sub\">8 fotografias do WebOffice Gaia \u2014 exterior, recep\u00e7\u00e3o, salas de reuni\u00f5es, coworking e Business Lounge.<\/p>\n<\/div>\n<div class=\"wo-cggal-grid\">\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/exterior-gaia-18.8_22.jpg\" class=\"wo-cggal-card\" data-idx=\"0\" aria-label=\"Abrir Entrada WebOffice Vila Nova de Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/exterior-gaia-18.8_22.jpg\" alt=\"Entrada WebOffice Vila Nova de Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/1gaia-1.jpg\" class=\"wo-cggal-card\" data-idx=\"1\" aria-label=\"Abrir WebOffice Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/1gaia-1.jpg\" alt=\"WebOffice Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia_7.jpg\" class=\"wo-cggal-card\" data-idx=\"2\" aria-label=\"Abrir Interior WebOffice Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia_7.jpg\" alt=\"Interior WebOffice Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia-weboffice-3.4.22-118-de-226.jpg\" class=\"wo-cggal-card\" data-idx=\"3\" aria-label=\"Abrir Sala em WebOffice Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia-weboffice-3.4.22-118-de-226.jpg\" alt=\"Sala em WebOffice Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia-weboffice-3.4.22-215-de-226.jpg\" class=\"wo-cggal-card\" data-idx=\"4\" aria-label=\"Abrir Espa\u00e7o de coworking Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/gaia-weboffice-3.4.22-215-de-226.jpg\" alt=\"Espa\u00e7o de coworking Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/webofficegaia-agosto_20.1.jpg\" class=\"wo-cggal-card\" data-idx=\"5\" aria-label=\"Abrir WebOffice Gaia \u2014 vista interior\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/10\/webofficegaia-agosto_20.1.jpg\" alt=\"WebOffice Gaia \u2014 vista interior\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/12\/business-lounge-gaia.jpg\" class=\"wo-cggal-card\" data-idx=\"6\" aria-label=\"Abrir Business Lounge Gaia\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/12\/business-lounge-gaia.jpg\" alt=\"Business Lounge Gaia\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<a href=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/12\/sala-reunioes2-scaled.jpg\" class=\"wo-cggal-card\" data-idx=\"7\" aria-label=\"Abrir Sala de reuni\u00f5es\">\n<img src=\"https:\/\/devv.maindomain.pt\/wp-content\/uploads\/2022\/12\/sala-reunioes2-scaled.jpg\" alt=\"Sala de reuni\u00f5es\" decoding=\"async\">\n<span class=\"wo-cggal-overlay\" aria-hidden=\"true\">\n<svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><path d=\"m21 21-4.3-4.3\"\/><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>\n<\/span>\n<\/a>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_5 et_pb_section et_section_regular et_flex_section wo-cg-svc-sec preset--module--divi-section--default\">\n<div class=\"et_pb_row_5 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_5 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-svc\">\n<div class=\"wo-cg-svc-header\">\n<p class=\"wo-cg-svc-pre\">No WebOffice Gaia<\/p>\n<h2 class=\"wo-cg-svc-h2\">4 modalidades de espa\u00e7o<\/h2>\n<p class=\"wo-cg-svc-sub\">Do escrit\u00f3rio virtual ao escrit\u00f3rio pr\u00f3prio, escolha o formato que se adapta ao seu neg\u00f3cio.<\/p>\n<\/div>\n<div class=\"wo-cg-svc-grid\">\n<a class=\"wo-cg-svc-card\" href=\"\/escritorios-virtuais\/\">\n<span class=\"wo-cg-svc-icon wo-cg-svc-icon-virtual\"><\/span>\n<h3>Escrit\u00f3rios Virtuais<\/h3>\n<p>Sede empresarial regist\u00e1vel, correspond\u00eancia tratada e atendimento profissional. Ideal para D7\/NHR e empresas internacionais.<\/p>\n<span class=\"wo-cg-svc-price\">desde <strong>\u20ac25<\/strong>\/m\u00eas<\/span>\n<\/a>\n<a class=\"wo-cg-svc-card\" href=\"\/coworking\/\">\n<span class=\"wo-cg-svc-icon wo-cg-svc-icon-coworking\"><\/span>\n<h3>Coworking<\/h3>\n<p>Espa\u00e7o partilhado, flex\u00edvel e profissional. Wi-fi gigabit, copa, salas de reuni\u00f5es \u00e0 hora.<\/p>\n<span class=\"wo-cg-svc-price\">desde <strong>\u20ac15<\/strong>\/dia<\/span>\n<\/a>\n<a class=\"wo-cg-svc-card\" href=\"\/escritorios-individuais\/\">\n<span class=\"wo-cg-svc-icon wo-cg-svc-icon-individual\"><\/span>\n<h3>Escrit\u00f3rios Individuais<\/h3>\n<p>Escrit\u00f3rios privados com porta pr\u00f3pria. Ideal para equipas de 1 a 6 pessoas com necessidade de privacidade total.<\/p>\n<span class=\"wo-cg-svc-price\">sob consulta<\/span>\n<\/a>\n<a class=\"wo-cg-svc-card\" href=\"\/business-lounge\/\">\n<span class=\"wo-cg-svc-icon wo-cg-svc-icon-lounge\"><\/span>\n<h3>Business Lounge<\/h3>\n<p>Acesso premium ao lounge e salas executivas. Perfeito para reuni\u00f5es pontuais com clientes ou trabalho focado.<\/p>\n<span class=\"wo-cg-svc-price\">acesso premium<\/span>\n<\/a>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_section_6 et_pb_section et_section_regular et_flex_section wo-cg-cta preset--module--divi-section--default\">\n<div class=\"et_pb_row_6 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_6 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<div class=\"wo-cg-cta-inner\">\n<p class=\"wo-cg-cta-pre\">Pronto para come\u00e7ar?<\/p>\n<h2>Visite o WebOffice Gaia<\/h2>\n<p class=\"wo-cg-cta-sub\">Marque uma visita guiada de 30 minutos. Conhe\u00e7a o espa\u00e7o, a equipa e os planos que se adaptam ao seu neg\u00f3cio.<\/p>\n<div class=\"wo-cg-cta-actions\">\n<a class=\"wo-cg-cta-btn-primary\" href=\"\/contactos\/?loc=gaia\">Marcar visita<\/a>\n<a class=\"wo-cg-cta-btn-ghost\" href=\"tel:+351225899800\">+351 225 899 800<\/a>\n<\/div>\n<\/div>\n\n<\/div>\n<\/div>\n<\/div>\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><script>\n(function(){\n  if (window.__woCgInit) return;\n  window.__woCgInit = true;\n  function init(){\n    var cards = Array.from(document.querySelectorAll('.wo-cggal-card'));\n    if (!cards.length) return;\n    var lb = document.createElement('div');\n    lb.className = 'wo-cggal-lb';\n    lb.innerHTML = '<button class=\"wo-cggal-lb-close\" aria-label=\"Fechar\">\u00d7<\/button><button class=\"wo-cggal-lb-prev\" aria-label=\"Anterior\">\u2039<\/button><button class=\"wo-cggal-lb-next\" aria-label=\"Pr\u00f3xima\">\u203a<\/button><img alt=\"\">';\n    document.body.appendChild(lb);\n    var lbImg = lb.querySelector('img');\n    var idx = 0;\n    function openAt(i){\n      idx = ((i % cards.length) + cards.length) % cards.length;\n      var c = cards[idx];\n      lbImg.src = c.getAttribute('href');\n      var srcImg = c.querySelector('img');\n      lbImg.alt = srcImg ? srcImg.alt : '';\n      lb.classList.add('is-open');\n      document.body.style.overflow = 'hidden';\n    }\n    function close(){ lb.classList.remove('is-open'); document.body.style.overflow = ''; }\n    cards.forEach(function(c, i){ c.addEventListener('click', function(e){ e.preventDefault(); openAt(i); }); });\n    lb.querySelector('.wo-cggal-lb-close').addEventListener('click', close);\n    lb.querySelector('.wo-cggal-lb-prev').addEventListener('click', function(){ openAt(idx-1); });\n    lb.querySelector('.wo-cggal-lb-next').addEventListener('click', function(){ openAt(idx+1); });\n    lb.addEventListener('click', function(e){ if (e.target === lb) close(); });\n    document.addEventListener('keydown', function(e){\n      if (!lb.classList.contains('is-open')) return;\n      if (e.key === 'Escape') close();\n      if (e.key === 'ArrowLeft') openAt(idx-1);\n      if (e.key === 'ArrowRight') openAt(idx+1);\n    });\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n<\/script><\/div><\/div>\n<div class=\"et_pb_section_7 et_pb_section et_section_regular et_flex_section wo-footer preset--module--divi-section--default\">\n<div class=\"et_pb_row_7 et_pb_row et-vb-row--no-module et_flex_row\">\n<div class=\"et_pb_column_7 et_pb_column et-last-child et_flex_column et_pb_column_empty et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\">\n\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><script>\n(function(){\n  if (window.__woAnimInit) return;\n  window.__woAnimInit = true;\n\n  \/\/ Respeitar reduced motion\n  if (window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n    return;\n  }\n\n  \/\/ (1) Reveal on scroll com stagger\n  var revealTargets = [\n    { sel: '.wo-trust-bar .wo-mq-wrap', delay: 0 },\n    { sel: '.wo-services .wo-service-card', delay: 80 },\n    { sel: '.wo-locations .wo-loc-row', delay: 100 },\n    { sel: '.wo-pillars .wo-pillar', delay: 80 },\n    { sel: '.wo-steps .wo-step', delay: 120 },\n    { sel: '.wo-testimonials .wo-test-card', delay: 100 },\n    { sel: '.wo-final-cta .wo-cta-content', delay: 0 },\n    { sel: '.wo-footer .wo-footer-grid', delay: 0 },\n    { sel: '.wo-services > .et_pb_row:first-of-type', delay: 0 },\n    { sel: '.wo-locations > .et_pb_row:first-of-type', delay: 0 },\n    { sel: '.wo-pillars > .et_pb_row:first-of-type', delay: 0 },\n    { sel: '.wo-steps > .et_pb_row:first-of-type', delay: 0 },\n    { sel: '.wo-testimonials > .et_pb_row:first-of-type', delay: 0 }\n  ];\n\n  revealTargets.forEach(function(t){\n    var nodes = document.querySelectorAll(t.sel);\n    nodes.forEach(function(n, i){\n      n.classList.add('wo-anim-fade-up');\n      if (t.delay) n.style.transitionDelay = (i * t.delay) + 'ms';\n    });\n  });\n\n  if (!('IntersectionObserver' in window)) {\n    \/\/ Fallback: reveal everything\n    document.querySelectorAll('.wo-anim-fade-up').forEach(function(n){ n.classList.add('wo-anim-in'); });\n  } else {\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(e){\n        if (e.isIntersecting) {\n          e.target.classList.add('wo-anim-in');\n          io.unobserve(e.target);\n        }\n      });\n    }, { rootMargin: '0px 0px -10% 0px', threshold: 0.1 });\n    document.querySelectorAll('.wo-anim-fade-up').forEach(function(n){ io.observe(n); });\n  }\n\n  \/\/ (3) Number counter \u2014 animate \"15\" in hero sub when visible\n  function animateCounter(el, target, duration){\n    var start = 0;\n    var startTime = null;\n    function step(ts){\n      if (!startTime) startTime = ts;\n      var p = Math.min((ts - startTime) \/ duration, 1);\n      var eased = 1 - Math.pow(1 - p, 3); \/\/ ease-out cubic\n      el.textContent = Math.round(start + (target - start) * eased) + ' anos';\n      if (p < 1) requestAnimationFrame(step);\n      else el.textContent = target + ' anos';\n    }\n    requestAnimationFrame(step);\n  }\n\n  \/\/ Find strong tag containing \"15 anos\" in hero sub\n  var heroStrongs = document.querySelectorAll('.et_pb_section_0 .et_pb_text strong');\n  heroStrongs.forEach(function(s){\n    if (s.textContent.indexOf('15 anos') > -1 || s.textContent.trim() === '15 anos') {\n      s.dataset.original = s.textContent;\n      var counterObs = new IntersectionObserver(function(entries){\n        entries.forEach(function(e){\n          if (e.isIntersecting) {\n            s.textContent = '0 anos';\n            animateCounter(s, 15, 1400);\n            counterObs.unobserve(e.target);\n          }\n        });\n      }, { threshold: 0.5 });\n      counterObs.observe(s);\n    }\n  });\n})();\n<\/script><\/div><\/div>\n\n<div class=\"et_pb_code_2 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><script>\n(function(){\n  if (window.__woHeaderInit) return;\n  \/\/ Move mobile menu out of header (escape backdrop-filter containing block)\n  function relocateMobileMenu(){\n    var mm = document.querySelector('.wo-mobile-menu');\n    if (mm && mm.parentElement && mm.parentElement.tagName === 'HEADER') {\n      document.body.appendChild(mm);\n    }\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', relocateMobileMenu);\n  } else {\n    relocateMobileMenu();\n  }\n  window.__woHeaderInit = true;\n  var header = document.getElementById('wo-header');\n  if (!header) return;\n  function onScroll(){\n    if (window.scrollY > 40) header.classList.add('wo-scrolled');\n    else header.classList.remove('wo-scrolled');\n  }\n  window.addEventListener('scroll', onScroll, { passive: true });\n  onScroll();\n  \/\/ Burger toggle\n  var burger = header.querySelector('.wo-burger');\n  if (burger) {\n    burger.addEventListener('click', function(){\n      var open = burger.getAttribute('aria-expanded') === 'true';\n      burger.setAttribute('aria-expanded', !open);\n      document.body.classList.toggle('wo-menu-open', !open);\n      var mm = document.getElementById('wo-mobile-menu');\n      if (mm) mm.setAttribute('aria-hidden', open);\n    });\n    \/\/ Close mobile menu when clicking a link\n    document.querySelectorAll('.wo-mobile-menu a').forEach(function(a){\n      a.addEventListener('click', function(){\n        burger.setAttribute('aria-expanded', 'false');\n        document.body.classList.remove('wo-menu-open');\n      });\n    });\n  }\n})();\n<\/script><\/div><\/div>\n\n<div class=\"et_pb_code_3 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><script>\n(function(){\n  if (window.__woHeaderV77B) return;\n  window.__woHeaderV77B = true;\n  function init() {\n    var header = document.getElementById('wo-header');\n    if (!header) return;\n    var isLightHero = !!document.querySelector('.wo-legal-hero');\n    function update() {\n      var atTop = window.scrollY <= 40;\n      var transparent = atTop && !isLightHero;\n      header.classList.toggle('wo-transparent', transparent);\n      header.classList.toggle('wo-scrolled', !atTop);\n    }\n    window.addEventListener('scroll', update, { passive: true });\n    update();\n    var burger = header.querySelector('.wo-burger');\n    if (burger && !burger.dataset.bound) {\n      burger.dataset.bound = '1';\n      burger.addEventListener('click', function(){\n        var open = burger.getAttribute('aria-expanded') === 'true';\n        burger.setAttribute('aria-expanded', !open);\n        document.body.classList.toggle('wo-menu-open', !open);\n        var mm = document.getElementById('wo-mobile-menu');\n        if (mm) mm.setAttribute('aria-hidden', open);\n      });\n      document.querySelectorAll('.wo-mobile-menu a').forEach(function(a){\n        a.addEventListener('click', function(){\n          burger.setAttribute('aria-expanded', 'false');\n          document.body.classList.remove('wo-menu-open');\n        });\n      });\n    }\n    var mm = document.querySelector('.wo-mobile-menu');\n    if (mm && mm.parentElement && mm.parentElement.tagName === 'HEADER') {\n      document.body.appendChild(mm);\n    }\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n<\/script><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>WebOffice Gaia is located in the center of Vila Nova de Gaia, characterized by charming decor, spacious offices with views over the city, and an elegant Lounge with river views, where you can relax or work comfortably while enjoying a good coffee.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-template-blank.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2671","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/pages\/2671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/comments?post=2671"}],"version-history":[{"count":3,"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/pages\/2671\/revisions"}],"predecessor-version":[{"id":5168,"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/pages\/2671\/revisions\/5168"}],"wp:attachment":[{"href":"https:\/\/devv.maindomain.pt\/en\/wp-json\/wp\/v2\/media?parent=2671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}