Skip to content
Untitled design (4)
marvel logo footer
  • Works
  • Awards
  • Practice
    • About Us
    • Team
    • Careers
    • Contact
  • Community
    • Blog
    • Press
    • 7 Lispenard
  • Search

Maritime City Exhibit Design, South Street Seaport Museum

By Hannah Brausen | April 9, 2026 | Comments Off on Maritime City Exhibit Design, South Street Seaport Museum
2149 N64 South Street Seaport Museum medium Richard Bowditch
Read More

The Paxton, 540 Fulton St.

By Hannah Brausen | January 12, 2026 | Comments Off on The Paxton, 540 Fulton St.
1518 The Paxton 540 Fulton Ashok Sinha N43 medium
Read More

Westchester Reform Temple and School

By Alyanna De Vera | November 18, 2025 | Comments Off on Westchester Reform Temple and School
Westchester Reform Temple by Rogers Marvel Architects
Read More

1998 2nd Avenue

By Alyanna De Vera | June 25, 2025 | Comments Off on 1998 2nd Avenue
1948A 1998 2nd Ave N112 medium
Read More

Vintry Fine Wines

By Alyanna De Vera | February 3, 2025 | Comments Off on Vintry Fine Wines
1018 Vintry Fine Wines Paul Warchol medium
Read More

National Black Theatre

By Hannah Brausen | November 8, 2024 | Comments Off on National Black Theatre
2105 N4 medium
Read More

29 Jay Street

By Hannah Brausen | November 5, 2024 | Comments Off on 29 Jay Street
2024DS20
Read More

Harvard Club Expansion

By Hannah Brausen | October 28, 2024 | Comments Off on Harvard Club Expansion
Harvard Club Addition
Read More

Brooklyn Heights Public Library

By Alyanna De Vera | October 16, 2024 | Comments Off on Brooklyn Heights Public Library
1 Clinton
Read More

Newlab at the Brooklyn Navy Yard

By Hannah Brausen | August 14, 2024 | Comments Off on Newlab at the Brooklyn Navy Yard
Brooklyn Navy Yard, New Lab
Read More
Older Posts »

Recent Posts

  • Senior Landscape Architect / Project Manager April 21, 2026
  • Junior Landscape Architectural Designer April 21, 2026
  • Intermediate Landscape Architectural Designer April 21, 2026
  • Junior Landscape Architectural Designer April 21, 2026
  • Lissa So Elevated to AIA College of Fellows February 11, 2026

Categories

  • Blog
  • Jobs
  • News
marvel logo footer

Design everywhere, for everyone.

Instagram @Marvel_is_design YouTube @Marvel_is_design LinkedIn Marvel Architects

About us

Works

Community

Contact

Careers

Press

Awards

NEW YORK

145 Hudson Street

New York, NY, 10013

 

212 616 0420

RICHMOND

300 East Main Street

Richmond, VA, 23219

 

804 215 6021

 

 

Marvel © 2018-2024

SAN JUAN

161 Calle San Jorge

San Juan, PR, 00911

 

787 289 9494

 

BARCELONA

Avinguda del

Marqués

de l'Argentera

7, 3 2 08003

 

 

 

Marvel © 2018-2024

SAN JUAN

161 Calle San Jorge

San Juan, PR, 00911

 

787 289 9494

 

BARCELONA

Avinguda del

Marqués

de l'Argentera

7, 3 2 08003

 

marvel logo footer

Design everywhere, for everyone.

Marvel LinkedIn Marvel Youtube

Marvel © 2018-2024

 

Contact      Press      Awards

marvel logo footer

Design everywhere, for everyone.

Marvel LinkedIn Marvel Youtube

 

Contact      Press      Awards

 

 

Marvel © 2018-2024

/* ============================================================ 2. HERO VIDEO — project credit updater ============================================================ */ const heroProjects = [ { time: 0, name: 'Revitalization of el Portal de El Yunque', url: '/project/revitalization-of-el-portal-de-el-yunque-la/' }, { time: 5, name: 'KAI Casa de Arte y Tecnología', url: 'https://marveldesigns.com/project/kai-casa-de-arte-y-tecnologia/' }, { time: 9, name: 'Belle Isle Vision Plan', url: 'https://marveldesigns.com/project/belle-isle-vision-plan/' }, { time: 12, name: 'Bronx Point', url: 'https://marveldesigns.com/project/bronx-point/' }, { time: 16, name: 'One Clinton', url: 'https://marveldesigns.com/project/one-clinton/' }, { time: 20, name: 'Battery Maritime Building', url: 'https://marveldesigns.com/project/battery-maritime-building-arch/' }, { time: 23, name: 'Northeast Bronx YMCA', url: 'https://marveldesigns.com/project/northeast-bronx-ymca-arch/' }, { time: 27, name: 'Pierhouse and 1 Hotel', url: 'https://marveldesigns.com/project/pierhouse-and-1-hotel/' }, { time: 30, name: 'St. Ann\'s Warehouse', url: 'https://marveldesigns.com/project/st-anns-warehouse/' }, { time: 33, name: 'Naval Cemetery Memorial', url: 'https://marveldesigns.com/project/naval-cemetery-memorial-arch/' }, ]; function initHeroVideo() { const heroVideo = document.querySelector('video[autoplay]'); const heroCreditLink = document.getElementById('heroCreditLink'); if (!heroVideo || !heroCreditLink) { setTimeout(initHeroVideo, 500); return; } heroVideo.addEventListener('timeupdate', function () { const t = heroVideo.currentTime; let current = heroProjects[0]; for (let i = heroProjects.length - 1; i >= 0; i--) { if (t >= heroProjects[i].time) { current = heroProjects[i]; break; } } if (heroCreditLink.textContent !== current.name) { heroCreditLink.textContent = current.name; heroCreditLink.href = current.url; } }); } initHeroVideo(); /* ============================================================ 3. LOCATION TABS — Five Places section Update `locationData` with your office content + image paths. ============================================================ */ const locationData = { 'new-york': { quote: "Marvel is at the pulse of the city's most pressing issues, engaged with the communities of all five boroughs and the distinct design aesthetics of each.", ctaText: 'Learn more about MARVEL New York', ctaUrl: '/studio/new-york', imgUrl: '/wp-content/uploads/marvel-new-york-office.jpg' }, 'san-juan': { quote: "San Juan is where our roots run deepest — a city of resilience, culture, and extraordinary design opportunity.", ctaText: 'Learn more about MARVEL San Juan', ctaUrl: '/studio/san-juan', imgUrl: '/wp-content/uploads/marvel-san-juan-office.jpg' }, 'richmond': { quote: "Richmond brings a fresh energy and growing community that aligns with our commitment to purposeful, people-centered design.", ctaText: 'Learn more about MARVEL Richmond', ctaUrl: '/studio/richmond', imgUrl: '/wp-content/uploads/marvel-richmond-office.jpg' }, 'barcelona': { quote: "Barcelona marks our first international expansion — a city whose design culture and civic ambition mirrors our own values.", ctaText: 'Learn more about MARVEL Barcelona', ctaUrl: '/studio/barcelona', imgUrl: '/wp-content/uploads/marvel-barcelona-office.jpg' }, 'washington': { quote: "Washington D.C. sits at the intersection of policy and design, where our work takes on civic meaning at a national scale.", ctaText: 'Learn more about MARVEL Washington D.C.', ctaUrl: '/studio/washington-dc', imgUrl: '/wp-content/uploads/marvel-washington-office.jpg' } }; function initTabSection(tabsSelector, quoteSelector, ctaSelector, imgSelector) { const tabs = document.querySelectorAll(tabsSelector); if (!tabs.length) return; tabs.forEach(function (tab) { tab.addEventListener('click', function (e) { e.preventDefault(); const key = this.dataset.location || this.dataset.discipline; const dataStore = (tabsSelector.includes('location')) ? locationData : disciplineData; const data = dataStore[key]; if (!data) return; // Active pill tabs.forEach(t => t.classList.remove('active')); this.classList.add('active'); // Update quote const quoteEl = document.querySelector(quoteSelector); if (quoteEl) quoteEl.textContent = data.quote; // Update CTA const ctaEl = document.querySelector(ctaSelector); if (ctaEl) { ctaEl.textContent = data.ctaText; ctaEl.href = data.ctaUrl; } // Update image const imgEl = document.querySelector(imgSelector); if (imgEl && data.imgUrl) { imgEl.style.opacity = '0'; setTimeout(function () { imgEl.src = data.imgUrl; imgEl.style.opacity = '1'; }, 250); } }); }); } initTabSection( '.locations-tabs .tab-pill', '.location-quote p', '.location-cta-btn', '.location-image img' ); /* ============================================================ 4. DISCIPLINE TABS — Five Disciplines section Update `disciplineData` with your discipline content. ============================================================ */ const disciplineData = { 'architecture': { quote: "We create buildings that inspire and connect communities. We promote design solutions that enhance program performance and minimize environmental impact.", ctaText: 'Learn more about our architecture projects', ctaUrl: '/works/architecture', imgUrl: '/wp-content/uploads/discipline-architecture.jpg' }, 'landscape': { quote: "Our landscape practice transforms urban sites into living ecosystems that serve people and the environment in equal measure.", ctaText: 'Learn more about our landscape projects', ctaUrl: '/works/landscape-architecture', imgUrl: '/wp-content/uploads/discipline-landscape.jpg' }, 'urban-design': { quote: "We shape the spaces between buildings — streets, plazas, and waterfronts — into places that define how cities feel and function.", ctaText: 'Learn more about our urban design projects', ctaUrl: '/works/urban-design', imgUrl: '/wp-content/uploads/discipline-urban.jpg' }, 'planning': { quote: "Our planning work helps communities envision their futures, translating vision into actionable policy and design frameworks.", ctaText: 'Learn more about our planning projects', ctaUrl: '/works/planning', imgUrl: '/wp-content/uploads/discipline-planning.jpg' }, 'interior-design': { quote: "Interior design at MARVEL is inseparable from architecture — we craft the interior experience from the first sketch of a building.", ctaText: 'Learn more about our interior design projects', ctaUrl: '/works/interior-design', imgUrl: '/wp-content/uploads/discipline-interiors.jpg' } }; // Discipline tabs use same pattern — init manually const discTabs = document.querySelectorAll('.disciplines-tabs .tab-pill'); discTabs.forEach(function (tab) { tab.addEventListener('click', function (e) { e.preventDefault(); const key = this.dataset.discipline; const data = disciplineData[key]; if (!data) return; discTabs.forEach(t => t.classList.remove('active')); this.classList.add('active'); const q = document.querySelector('.discipline-quote p'); if (q) q.textContent = data.quote; const cta = document.querySelector('.discipline-cta-btn'); if (cta) { cta.textContent = data.ctaText; cta.href = data.ctaUrl; } const img = document.querySelector('.discipline-image img'); if (img && data.imgUrl) { img.style.opacity = '0'; setTimeout(function () { img.src = data.imgUrl; img.style.opacity = '1'; }, 250); } }); }); /* ============================================================ 5. TIMELINE — drag-to-scroll ============================================================ */ const timeline = document.getElementById('timelineTrack'); if (timeline) { let isDown = false, startX, scrollLeft; timeline.addEventListener('mousedown', function (e) { isDown = true; startX = e.pageX - timeline.offsetLeft; scrollLeft = timeline.scrollLeft; timeline.style.cursor = 'grabbing'; }); document.addEventListener('mouseup', function () { isDown = false; if (timeline) timeline.style.cursor = 'grab'; }); timeline.addEventListener('mousemove', function (e) { if (!isDown) return; e.preventDefault(); const x = e.pageX - timeline.offsetLeft; timeline.scrollLeft = scrollLeft - (x - startX) * 1.4; }); // Touch support let touchStartX = 0, touchScrollLeft = 0; timeline.addEventListener('touchstart', function (e) { touchStartX = e.touches[0].pageX; touchScrollLeft = timeline.scrollLeft; }, { passive: true }); timeline.addEventListener('touchmove', function (e) { const dx = e.touches[0].pageX - touchStartX; timeline.scrollLeft = touchScrollLeft - dx; }, { passive: true }); } /* ============================================================ 6. SOCIAL ROTATOR — auto-dissolve ============================================================ */ (function () { const slides = document.querySelectorAll('.social-slide'); const dots = document.querySelectorAll('.social-dot'); if (!slides.length) return; let current = 0; let timer; function goTo(n) { slides[current].classList.remove('active'); if (dots[current]) dots[current].classList.remove('active'); current = (n + slides.length) % slides.length; slides[current].classList.add('active'); if (dots[current]) dots[current].classList.add('active'); } function startTimer() { timer = setInterval(function () { goTo(current + 1); }, 4000); } function resetTimer() { clearInterval(timer); startTimer(); } dots.forEach(function (dot) { dot.addEventListener('click', function () { goTo(parseInt(this.dataset.dot)); resetTimer(); }); }); startTimer(); })(); }); // end DOMContentLoaded