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
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); } }); })();