Skip to content
Couple's Passport

Sao Paulo State

/* ========================================================== MANGO GETAWAY SÃO PAULO STATE V1.1 DISPLAY: Cormorant Garamond BODY: DM Sans UTILITY: DM Mono ========================================================== */ @import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&display=swap"); /* ========================================================== ROOT ========================================================== */ #mgsp { --black: #14110e; --black-soft: #181410; --brown: #211c17; --brown-light: #2b241d; --cream: #fff5e6; --cream-soft: #d8cbbc; --mango: #f4a641; --mango-deep: #d87916; --line: rgba(255, 245, 230, 0.12); /* ======================================================== IMAGE REGISTRY Replace "none" with: url("YOUR-IMAGE.webp") The page still looks intentional with no images installed. ======================================================== */ --img-hero: none; --img-city: none; --img-coast: none; --img-mountain: none; --img-road: none; --img-ilhabela: none; --img-close: none; position: relative; width: 100%; overflow: hidden; background: var(--black); color: var(--cream); font-family: "DM Sans", sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } #mgsp *, #mgsp *::before, #mgsp *::after { box-sizing: border-box; } #mgsp a { color: inherit; text-decoration: none; } #mgsp button { font: inherit; } .mgsp-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; } /* ========================================================== TYPOGRAPHY ========================================================== */ .mgsp-label, .mgsp-eyebrow { display: block; color: var(--mango); font-family: "DM Mono", monospace; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; } /* ========================================================== BUTTONS ========================================================== */ .mgsp-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; padding: 0 25px; border-radius: 999px; font-size: 13px; font-weight: 600; transition: transform 180ms ease, background 180ms ease; } .mgsp-button:hover { transform: translateY(-2px); } .mgsp-button--mango { background: var(--mango); color: #17110b !important; } .mgsp-button--mango:hover { background: #ffb453; } /* ========================================================== B01 HERO ========================================================== */ .mgsp-hero { position: relative; isolation: isolate; min-height: min(920px, 96vh); display: flex; } .mgsp-hero__media { position: absolute; inset: 0; z-index: -3; background-image: var(--img-hero), radial-gradient( circle at 72% 38%, #4a3726 0%, #241c15 34%, #14110e 73% ); background-size: cover; background-position: center; } .mgsp-hero__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient( 90deg, rgba(12, 9, 7, 0.92) 0%, rgba(12, 9, 7, 0.58) 46%, rgba(12, 9, 7, 0.2) 100% ), linear-gradient( 0deg, rgba(20,17,14,0.87) 0%, transparent 48% ); } .mgsp-hero__inner { min-height: inherit; display: flex; flex-direction: column; padding-top: 38px; padding-bottom: 35px; } .mgsp-back { align-self: flex-start; display: inline-flex; align-items: center; gap: 9px; color: rgba(255,245,230,.66); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; transition: color 160ms ease; } .mgsp-back:hover { color: var(--cream); } .mgsp-hero__content { width: min(760px, 76%); margin-block: auto; padding: 90px 0 70px; } .mgsp-hero h1 { margin: 17px 0 22px; font-family: "Cormorant Garamond", serif; font-size: clamp(67px, 8.2vw, 116px); font-weight: 500; line-height: .84; letter-spacing: -.05em; } .mgsp-hero__content p { max-width: 580px; margin: 0 0 31px; color: rgba(255,245,230,.75); font-size: 17px; line-height: 1.7; } .mgsp-hero__footer { display: flex; align-items: center; gap: 18px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.16); } .mgsp-hero__footer span { color: var(--mango); font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .14em; } .mgsp-hero__footer p { margin: 0; font-family: "Cormorant Garamond", serif; font-size: 20px; } /* ========================================================== B02 QUESTION ========================================================== */ .mgsp-question { padding: 112px 0; background: var(--black-soft); border-bottom: 1px solid var(--line); } .mgsp-question__grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: start; gap: clamp(60px, 10vw, 140px); } .mgsp-question h2 { max-width: 580px; margin: 16px 0 0; font-family: "Cormorant Garamond", serif; font-size: clamp(47px, 5vw, 70px); font-weight: 500; line-height: .98; letter-spacing: -.035em; } .mgsp-question__copy { max-width: 620px; } .mgsp-question__copy p { margin: 0 0 18px; color: rgba(255,245,230,.67); font-size: 16px; line-height: 1.8; } .mgsp-question__copy .mgsp-question__accent { margin-bottom: 0; color: var(--cream); font-family: "Cormorant Garamond", serif; font-size: 27px; line-height: 1.38; } /* ========================================================== SHARED SECTION HEAD ========================================================== */ .mgsp-section-head { max-width: 700px; margin-bottom: 41px; } .mgsp-section-head h2 { margin: 14px 0 0; font-family: "Cormorant Garamond", serif; font-size: clamp(48px, 5vw, 72px); font-weight: 500; line-height: .98; letter-spacing: -.04em; } .mgsp-section-head--small { max-width: 760px; } /* ========================================================== B03 CHOOSE ========================================================== */ .mgsp-choose { padding: 115px 0 125px; background: var(--black); } /* Tabs */ .mgsp-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); } .mgsp-tab { min-height: 136px; display: flex; align-items: flex-start; gap: 18px; padding: 25px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--cream); text-align: left; cursor: pointer; transition: background 180ms ease, color 180ms ease; } .mgsp-tab:last-child { border-right: 0; } .mgsp-tab:hover, .mgsp-tab.is-active { background: var(--mango); color: #18110b; } .mgsp-tab > span { flex: 0 0 auto; padding-top: 4px; font-family: "DM Mono", monospace; font-size: 9px; opacity: .8; } .mgsp-tab div { display: flex; flex-direction: column; gap: 5px; } .mgsp-tab strong { font-family: "Cormorant Garamond", serif; font-size: 30px; font-weight: 600; line-height: 1; } .mgsp-tab small { font-size: 11px; line-height: 1.45; opacity: .65; } /* Result */ .mgsp-result { min-height: 550px; display: grid; grid-template-columns: 1.12fr .88fr; margin-top: 18px; background: var(--brown); overflow: hidden; } .mgsp-result__media { min-height: 550px; background-size: cover; background-position: center; transition: opacity 180ms ease, transform 350ms ease; } /* Result image fallbacks */ .mgsp-result__media[data-scene="coast"] { background-image: var(--img-coast), linear-gradient( 135deg, #31433b 0%, #1f312c 37%, #151812 100% ); } .mgsp-result__media[data-scene="city"] { background-image: var(--img-city), linear-gradient( 135deg, #342f2c 0%, #191718 48%, #0f0e10 100% ); } .mgsp-result__media[data-scene="mountain"] { background-image: var(--img-mountain), linear-gradient( 135deg, #313628 0%, #252b21 44%, #13150f 100% ); } .mgsp-result__media[data-scene="road"] { background-image: var(--img-road), linear-gradient( 135deg, #483522 0%, #2c241b 50%, #15110e 100% ); } .mgsp-result__media.is-changing { opacity: .35; transform: scale(1.015); } .mgsp-result__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 5vw, 70px); } .mgsp-result__kicker { color: var(--mango); font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: .14em; } .mgsp-result h3 { margin: 13px 0 18px; font-family: "Cormorant Garamond", serif; font-size: clamp(41px, 4.5vw, 62px); font-weight: 500; line-height: .98; letter-spacing: -.03em; } .mgsp-result__content > p { margin: 0; color: rgba(255,245,230,.67); font-size: 15px; line-height: 1.75; } .mgsp-result__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 31px 0 26px; padding: 23px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .mgsp-result__facts div { display: flex; flex-direction: column; gap: 7px; } .mgsp-result__facts span { color: rgba(255,245,230,.4); font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: .13em; } .mgsp-result__facts strong { font-size: 13px; font-weight: 500; } .mgsp-result__link { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; color: var(--mango) !important; font-size: 13px; font-weight: 600; } .mgsp-result__link span { transition: transform 160ms ease; } .mgsp-result__link:hover span { transform: translateX(4px); } .mgsp-result__link.is-disabled { color: rgba(255,245,230,.4) !important; cursor: default; } /* ========================================================== B04 WORLDS ========================================================== */ .mgsp-world { padding: 115px 0 125px; background: #181410; } .mgsp-world-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .mgsp-world-card { position: relative; isolation: isolate; min-height: 545px; overflow: hidden; } .mgsp-world-card__media, .mgsp-world-card__shade { position: absolute; inset: 0; } .mgsp-world-card__media { z-index: -3; background-position: center; background-size: cover; transition: transform 650ms cubic-bezier(.2,.7,.2,1); } .mgsp-world-card:hover .mgsp-world-card__media { transform: scale(1.035); } .mgsp-world-card__media--city { background-image: var(--img-city), linear-gradient(135deg,#35302f,#171617); } .mgsp-world-card__media--coast { background-image: var(--img-coast), linear-gradient(135deg,#33463d,#171d18); } .mgsp-world-card__media--mountain { background-image: var(--img-mountain), linear-gradient(135deg,#353c2e,#171a14); } .mgsp-world-card__media--road { background-image: var(--img-road), linear-gradient(135deg,#493725,#1d1711); } .mgsp-world-card__shade { z-index: -2; background: linear-gradient( 0deg, rgba(10,8,6,.94) 0%, rgba(10,8,6,.52) 53%, rgba(10,8,6,.10) 100% ); } .mgsp-world-card__content { position: absolute; inset: auto 0 0; padding: 38px; } .mgsp-world-card__content > span { color: var(--mango); font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .14em; } .mgsp-world-card h3 { max-width: 470px; margin: 10px 0 13px; font-family: "Cormorant Garamond", serif; font-size: clamp(37px, 4vw, 51px); font-weight: 500; line-height: .98; } .mgsp-world-card p { max-width: 470px; margin: 0; color: rgba(255,245,230,.67); font-size: 13px; line-height: 1.7; } .mgsp-world-card a { display: inline-flex; align-items: center; gap: 9px; margin-top: 19px; color: var(--mango) !important; font-size: 12px; font-weight: 600; } .mgsp-world-card a b { font-weight: 400; } .mgsp-world-card small { display: inline-block; margin-top: 19px; color: rgba(255,245,230,.38); font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; } /* ========================================================== B05 QUICK MATCH ========================================================== */ .mgsp-match { padding: 112px 0; background: var(--brown); } .mgsp-match__top { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; align-items: start; margin-bottom: 47px; } .mgsp-match__top h2 { max-width: 760px; margin: 0; font-family: "Cormorant Garamond", serif; font-size: clamp(46px, 5vw, 67px); font-weight: 500; line-height: .98; letter-spacing: -.035em; } .mgsp-match__rows { border-top: 1px solid var(--line); } .mgsp-match-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 26px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--cream); cursor: pointer; text-align: left; transition: padding 180ms ease; } .mgsp-match-row:hover { padding-left: 12px; padding-right: 12px; } .mgsp-match-row > span { color: rgba(255,245,230,.67); font-size: 14px; } .mgsp-match-row strong { display: flex; align-items: center; gap: 13px; flex: 0 0 auto; font-family: "Cormorant Garamond", serif; font-size: 25px; font-weight: 500; } .mgsp-match-row strong b { color: var(--mango); font-family: "DM Sans", sans-serif; font-size: 15px; font-weight: 400; } /* ========================================================== B06 ILHABELA ========================================================== */ .mgsp-ilhabela { padding: 110px 0; background: var(--black); } .mgsp-ilhabela-card { position: relative; isolation: isolate; min-height: 590px; display: flex; align-items: flex-end; overflow: hidden; } .mgsp-ilhabela-card__media, .mgsp-ilhabela-card__shade { position: absolute; inset: 0; } .mgsp-ilhabela-card__media { z-index: -3; background-image: var(--img-ilhabela), linear-gradient( 120deg, #2f4038 0%, #23332d 40%, #171813 100% ); background-size: cover; background-position: center; } .mgsp-ilhabela-card__shade { z-index: -2; background: linear-gradient( 90deg, rgba(12,9,7,.91) 0%, rgba(12,9,7,.67) 43%, rgba(12,9,7,.19) 100% ), linear-gradient( 0deg, rgba(12,9,7,.72), transparent 65% ); } .mgsp-ilhabela-card__content { max-width: 700px; padding: clamp(38px, 6vw, 70px); } .mgsp-ilhabela-card h2 { margin: 11px 0 15px; font-family: "Cormorant Garamond", serif; font-size: clamp(54px, 6vw, 82px); font-weight: 500; line-height: .93; letter-spacing: -.04em; } .mgsp-ilhabela-card p { max-width: 570px; margin: 0; color: rgba(255,245,230,.72); font-size: 15px; line-height: 1.7; } .mgsp-ilhabela-card__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0; } .mgsp-ilhabela-card__tags span { padding: 8px 12px; border: 1px solid rgba(255,245,230,.17); border-radius: 999px; background: rgba(20,17,14,.32); color: rgba(255,245,230,.72); font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(5px); } /* ========================================================== B07 CLOSE ========================================================== */ .mgsp-close { position: relative; isolation: isolate; min-height: 610px; display: flex; align-items: center; } .mgsp-close__media, .mgsp-close__shade { position: absolute; inset: 0; } .mgsp-close__media { z-index: -3; background-image: var(--img-close), radial-gradient( circle at 70% 50%, #443426 0%, #211a14 42%, #14110e 78% ); background-size: cover; background-position: center; } .mgsp-close__shade { z-index: -2; background: linear-gradient( 90deg, rgba(12,9,7,.91) 0%, rgba(12,9,7,.62) 48%, rgba(12,9,7,.2) 100% ); } .mgsp-close__inner { padding-top: 90px; padding-bottom: 90px; } .mgsp-close h2 { max-width: 790px; margin: 14px 0 18px; font-family: "Cormorant Garamond", serif; font-size: clamp(52px, 6vw, 82px); font-weight: 500; line-height: .95; letter-spacing: -.04em; } .mgsp-close p { margin: 0; color: rgba(255,245,230,.68); font-size: 16px; } .mgsp-close__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 29px; color: var(--mango) !important; font-size: 13px; font-weight: 600; } /* ========================================================== TABLET ========================================================== */ @media (max-width: 980px) { .mgsp-tabs { grid-template-columns: repeat(2, 1fr); } .mgsp-tab:nth-child(2) { border-right: 0; } .mgsp-tab:nth-child(1), .mgsp-tab:nth-child(2) { border-bottom: 1px solid var(--line); } .mgsp-result { grid-template-columns: 1fr; } .mgsp-result__media { min-height: 430px; } .mgsp-match__top { grid-template-columns: 1fr; gap: 20px; } } /* ========================================================== MOBILE ========================================================== */ @media (max-width: 760px) { .mgsp-shell { width: min(100% - 34px, 1240px); } /* Hero */ .mgsp-hero { min-height: 820px; } .mgsp-hero__inner { padding-top: 27px; padding-bottom: 27px; } .mgsp-hero__content { width: 100%; padding: 125px 0 55px; } .mgsp-hero h1 { font-size: clamp(58px, 18vw, 82px); } .mgsp-hero__content p { font-size: 15px; } .mgsp-button { width: 100%; } .mgsp-hero__footer { align-items: flex-start; flex-direction: column; gap: 7px; } /* Section spacing */ .mgsp-question, .mgsp-choose, .mgsp-world, .mgsp-match, .mgsp-ilhabela { padding-top: 78px; padding-bottom: 78px; } /* Question */ .mgsp-question__grid { grid-template-columns: 1fr; gap: 35px; } /* Tabs */ .mgsp-tabs { grid-template-columns: 1fr; } .mgsp-tab, .mgsp-tab:nth-child(1), .mgsp-tab:nth-child(2), .mgsp-tab:nth-child(3), .mgsp-tab:nth-child(4) { min-height: auto; padding: 19px 20px; border-right: 0; border-bottom: 1px solid var(--line); } .mgsp-tab:last-child { border-bottom: 0; } .mgsp-tab strong { font-size: 26px; } /* Result */ .mgsp-result { margin-top: 14px; } .mgsp-result__media { min-height: 320px; } .mgsp-result__content { padding: 34px 23px 39px; } .mgsp-result__facts { grid-template-columns: 1fr; gap: 18px; } /* World cards */ .mgsp-world-grid { grid-template-columns: 1fr; } .mgsp-world-card { min-height: 465px; } .mgsp-world-card__content { padding: 27px 24px; } /* Match */ .mgsp-match-row { align-items: flex-start; flex-direction: column; gap: 10px; } .mgsp-match-row:hover { padding-left: 0; padding-right: 0; } .mgsp-match-row strong { font-size: 23px; } /* Ilhabela */ .mgsp-ilhabela-card { min-height: 600px; align-items: flex-end; } .mgsp-ilhabela-card__shade { background: linear-gradient( 0deg, rgba(12,9,7,.94) 0%, rgba(12,9,7,.72) 55%, rgba(12,9,7,.15) 100% ); } .mgsp-ilhabela-card__content { padding: 35px 23px; } .mgsp-ilhabela-card h2 { font-size: 55px; } /* Close */ .mgsp-close { min-height: 580px; } } /* ========================================================== SMALL MOBILE ========================================================== */ @media (max-width: 430px) { .mgsp-hero { min-height: 780px; } .mgsp-section-head h2 { font-size: 46px; } .mgsp-world-card { min-height: 440px; } .mgsp-close h2 { font-size: 49px; } } /* ========================================================== ACCESSIBILITY ========================================================== */ #mgsp a:focus-visible, #mgsp button:focus-visible { outline: 2px solid var(--mango); outline-offset: 4px; } @media (prefers-reduced-motion: reduce) { #mgsp *, #mgsp *::before, #mgsp *::after { scroll-behavior: auto !important; transition: none !important; } } document.addEventListener("DOMContentLoaded", function () { const page = document.querySelector("#mgsp"); if (!page) return; /* ====================================================== STATE DATA ======================================================= */ const moods = { coast: { kicker: "THE NORTH COAST", title: "Put the Atlantic in the middle of the trip.", text: "Beach roads, rainforest and days that can move between swimming, exploring and doing very little.", feel: "Bare feet + fewer plans", place: "Ilhabela", linkText: "Explore Ilhabela", link: "/brazil/sao-paulo/ilhabela/", scene: "coast", active: true }, city: { kicker: "SÃO PAULO CITY", title: "Build the weekend around what happens next.", text: "Restaurants, neighborhoods, galleries and nights that work best when the two of you leave some room for another stop.", feel: "Energy + spontaneity", place: "São Paulo City", linkText: "Destination development planned", link: "#", scene: "city", active: false }, mountain: { kicker: "THE MANTIQUEIRA", title: "Go somewhere everyday life feels further away.", text: "Cooler air, mountain stays, long meals and mornings where nobody needs to be anywhere particularly quickly.", feel: "Quiet + slower mornings", place: "Mantiqueira", linkText: "Future Mango Getaway region", link: "#", scene: "mountain", active: false }, road: { kicker: "THE INTERIOR", title: "Make getting there part of the memory.", text: "Small towns, countryside roads and unexpected stops suit couples who would rather discover the trip than schedule every part of it.", feel: "Freedom + discovery", place: "São Paulo Interior", linkText: "Future Mango Getaway routes", link: "#", scene: "road", active: false } }; /* ====================================================== ELEMENTS ======================================================= */ const tabs = page.querySelectorAll("[data-mgsp]"); const media = page.querySelector("#mgspResultMedia"); const kicker = page.querySelector("#mgspResultKicker"); const title = page.querySelector("#mgspResultTitle"); const text = page.querySelector("#mgspResultText"); const feel = page.querySelector("#mgspResultFeel"); const place = page.querySelector("#mgspResultPlace"); const link = page.querySelector("#mgspResultLink"); /* ====================================================== SET MOOD ======================================================= */ function setMood(key, shouldScroll = false) { const data = moods[key]; if (!data) return; /* Active tab */ tabs.forEach(function (tab) { const selected = tab.dataset.mgsp === key; tab.classList.toggle( "is-active", selected ); tab.setAttribute( "aria-selected", selected ? "true" : "false" ); }); /* Animate image */ media.classList.add( "is-changing" ); window.setTimeout(function () { media.setAttribute( "data-scene", data.scene ); kicker.textContent = data.kicker; title.textContent = data.title; text.textContent = data.text; feel.textContent = data.feel; place.textContent = data.place; /* Link */ link.innerHTML = data.linkText + ' '; link.setAttribute( "href", data.link ); if (data.active) { link.classList.remove( "is-disabled" ); link.removeAttribute( "aria-disabled" ); } else { link.classList.add( "is-disabled" ); link.setAttribute( "aria-disabled", "true" ); } media.classList.remove( "is-changing" ); }, 130); /* Scroll from quick-decision rows */ if (shouldScroll) { const choose = page.querySelector("#mgsp-choose"); if (choose) { choose.scrollIntoView({ behavior: "smooth", block: "start" }); } } } /* ====================================================== TAB EVENTS ======================================================= */ tabs.forEach(function (tab) { tab.addEventListener( "click", function () { setMood( tab.dataset.mgsp ); } ); }); /* ====================================================== QUICK DECISION ======================================================= */ const matchRows = page.querySelectorAll( "[data-target-mood]" ); matchRows.forEach(function (row) { row.addEventListener( "click", function () { const target = row.dataset.targetMood; setMood( target, true ); } ); }); /* ====================================================== BLOCK PLACEHOLDER LINKS ======================================================= */ link.addEventListener( "click", function (event) { if ( link.classList.contains( "is-disabled" ) ) { event.preventDefault(); } } ); /* ====================================================== SMOOTH INTERNAL LINKS ======================================================= */ const internalLinks = page.querySelectorAll( 'a[href^="#"]:not([href="#"])' ); internalLinks.forEach(function (anchor) { anchor.addEventListener( "click", function (event) { const selector = anchor.getAttribute("href"); const target = document.querySelector( selector ); if (!target) return; event.preventDefault(); target.scrollIntoView({ behavior: "smooth", block: "start" }); } ); }); /* ====================================================== INITIAL STATE ======================================================= */ setMood("coast"); });
Brazil
SÃO PAULO · BRAZIL

São Paulo
changes with you.

City nights, Atlantic islands, mountain mornings or a road with somewhere new at the other end.

Choose your kind of trip
ONE STATE · FOUR DIRECTIONS

What do the two of you need from this trip?

São Paulo does not need to be one enormous itinerary. Pick the energy first.

Then go where that version of the state makes sense.

CHOOSE TOGETHER

How should São Paulo feel?

THE NORTH COAST

Put the Atlantic in the middle of the trip.

Beach roads, rainforest and days that can move between swimming, exploring and doing very little.

THIS FEELS LIKE Bare feet + fewer plans
START HERE Ilhabela
Explore Ilhabela
A STATE WITH RANGE

Same trip length. Completely different memories.

SÃO PAULO CITY

Stay out a little later.

Neighborhoods, restaurants, galleries and a weekend that can change after dinner.

City destination development planned
NORTH COAST

Take the road towards the water.

Atlantic beaches, forested mountains and island days without much reason to rush.

Explore Ilhabela
MANTIQUEIRA

Give the trip some quiet.

Cooler mornings, mountain stays and enough space for doing considerably less.

Future Mango Getaway region
THE INTERIOR

Let the drive become part of it.

Smaller towns, food, farms and the freedom to stop somewhere neither of you planned.

Future Mango Getaway routes
QUICK DECISION

Which sentence sounds most like you right now?

THE NORTH COAST

Start with Ilhabela.

Island roads, Atlantic mornings, waterfalls and enough freedom for the plan to change halfway through.

Water Nature Road Trips Slow Days
Explore Ilhabela Together
SÃO PAULO · FOR TWO

You don’t need to experience all of São Paulo.

Just find the version that feels right for this trip.

Choose again