Rama studio creează imagini lucrate cu măestrie și atenție la detaliu pentru marketing imobiliar și design interior, punând în valoare frumusețea și funcționalitatea fiecărui proiect într-un mod clar și memorabil.

Viziune

Transformăm proiectul tău în imagini de impact, create pentru prezentare și vânzare.

Proces

Lucrăm structurat și colaborativ, cu atenție la fiecare detaliu de lumină, material și compoziție.

Rezultat

Imagini realiste și clare, pregătite pentru marketing și prezentare.



.CONTACT

Pentru o estimare de preț, vă rugăm să ne contactați prin e-mail, WhatsApp sau prin completarea formularului. Vă rugăm să includeți o scurtă descriere a proiectului, însoțită de câteva planuri și fațade. Veți fi contactat în cel mai scurt timp.


[email protected]
0756 671 854

Vei fi redirecționat către o pagina de upload.

Message sent.
Redirecting…

Your message is on its way. Taking you to the upload page now.

Redirecting in 2 seconds…

var W3F_KEY = "da078de7-5acc-4b10-abe9-90136a340c9c"; var UPLOAD_URL = "https://ramastudio.netlify.app"; var SUBJ = "New message from website"; function f02handleClick() { var name = document.getElementById("f02-name").value.trim(); var email = document.getElementById("f02-email").value.trim(); var message = document.getElementById("f02-message").value.trim(); var btn = document.getElementById("f02-btn"); var status = document.getElementById("f02-status"); if (!name) { status.textContent = "Please enter your name."; status.className = "f-status err"; return; } if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { status.textContent = "Please enter a valid email."; status.className = "f-status err"; return; } if (!message) { status.textContent = "Please write a message."; status.className = "f-status err"; return; } btn.disabled = true; document.getElementById("f02-btn-label").textContent = "Sending…"; status.className = "f-status"; status.textContent = "Sending your message…"; fetch("https://api.web3forms.com/submit", { method: "POST", headers: { "Content-Type": "application/json", "Accept": "application/json" }, body: JSON.stringify({ access_key: W3F_KEY, subject: SUBJ, name: name, email: email, message: message }) }) .then(function(r) { return r.json(); }) .then(function(data) { if (data.success) { document.getElementById("form02").style.display = "none"; document.getElementById("form02-success").style.display = "block"; setTimeout(function() { window.location.href = UPLOAD_URL + "?name=" + encodeURIComponent(name) + "&email=" + encodeURIComponent(email); }, 2000); } else { throw new Error(data.message || "Failed"); } }) .catch(function(err) { console.error(err); status.textContent = "Something went wrong — please try again."; status.className = "f-status err"; btn.disabled = false; document.getElementById("f02-btn-label").textContent = "Send Message"; }); } /* Attach listener — retry until button exists in DOM */ var f02attempts = 0; var f02interval = setInterval(function() { var btn = document.getElementById("f02-btn"); if (btn) { btn.addEventListener("click", f02handleClick); clearInterval(f02interval); } if (++f02attempts > 50) clearInterval(f02interval); /* give up after 5s */ }, 100);
document.addEventListener('DOMContentLoaded', () => { const nav = document.getElementById('container05'); function onScroll(e) { const top = (e.target.scrollTop || e.target.scrollY || window.scrollY || 0); nav.classList.toggle('scrolled', top > 10); } window.addEventListener('scroll', onScroll, { passive: true, capture: true }); }); var lastScrollY = window.scrollY; window.addEventListener('scroll', function () { var nav = document.querySelector('#container05'); if (!nav) return; var currentScrollY = window.scrollY; var isMobile = window.innerWidth <= 768; // Scrolled background (all devices) if (currentScrollY > 60) { nav.classList.add('scrolled'); } else { nav.classList.remove('scrolled'); } // Hide/show on scroll (mobile only) if (isMobile) { if (currentScrollY > lastScrollY && currentScrollY > 60) { // Scrolling down → hide nav.classList.add('hide-nav'); } else { // Scrolling up → show nav.classList.remove('hide-nav'); } } else { // Always visible on desktop nav.classList.remove('hide-nav'); } lastScrollY = currentScrollY; }); document.addEventListener('DOMContentLoaded', () => { const nav = document.getElementById('container05'); function onScroll(e) { const top = (e.target.scrollTop || e.target.scrollY || window.scrollY || 0); nav.classList.toggle('scrolled', top > 10); } window.addEventListener('scroll', onScroll, { passive: true, capture: true }); }); var lastScrollY = window.scrollY; window.addEventListener('scroll', function () { var nav = document.querySelector('#container05'); if (!nav) return; var currentScrollY = window.scrollY; var isMobile = window.innerWidth <= 768; if (currentScrollY > 60) { nav.classList.add('scrolled'); } else { nav.classList.remove('scrolled'); } if (isMobile) { if (currentScrollY > lastScrollY && currentScrollY > 60) { nav.classList.add('hide-nav'); } else { nav.classList.remove('hide-nav'); } } else { nav.classList.remove('hide-nav'); } lastScrollY = currentScrollY; }); (function () { if (window.innerWidth > 768) return; document.addEventListener('DOMContentLoaded', function () { var nav = document.getElementById('container05'); if (!nav) return; var burger = document.createElement('button'); burger.id = 'hamburger-btn'; burger.setAttribute('aria-label', 'Menu'); /* Unicode: ☰ = hamburger, × = close */ burger.textContent = '☰'; burger.style.display = 'none'; document.body.appendChild(burger); var overlay = document.createElement('div'); overlay.id = 'mobile-menu'; overlay.style.display = 'none'; var allLinks = document.querySelectorAll('#buttons02 a'); allLinks.forEach(function (link) { var clone = document.createElement('a'); clone.href = link.href; clone.textContent = link.textContent; clone.addEventListener('click', closeMenu); overlay.appendChild(clone); }); document.body.appendChild(overlay); burger.addEventListener('click', function () { overlay.classList.contains('open') ? closeMenu() : openMenu(); }); function openMenu() { overlay.style.display = 'flex'; requestAnimationFrame(function () { overlay.classList.add('open'); burger.textContent = '×'; }); } function closeMenu() { overlay.classList.remove('open'); burger.textContent = '☰'; setTimeout(function () { overlay.style.display = 'none'; }, 300); } }); })();

.SERVICII

Pachete de vizualizare pentru proiecte imobiliare

Pachet prezentare proiect

1 randare exterioară
3 randari interioare
1 rundă de revizie
preț începând de la 3500 lei

Pachet marketing proiect

3 randari exterioare
5 randari interioare
2 runde de revizie
preț începând de la: 6500 lei

Servicii suplimentare:

Randare realistă a planului: 800 - 1200 lei / plan
Imagini bonus: 500 - 1000 lei / imagine

Procesul de colaborare:

  1. Discuție inițială. Analizarea proiectului și stabilirea imaginilor necesare.

  2. Modelare și randare.

  3. O rundă de revizie pentru feedback și modificări.

  4. Livrarea randărilor finale.


Rama este un studio de vizualizare arhitecturală specializat în imagini fotorealiste pentru real estate, arhitectură și design interior, cu pregătire în arhitectură și experiență în vizualizare și VFX, incluzând proiecte internaționale realizate împreună cu ping-pong și episode 3.