(function(){ var D=document, root=D.documentElement; root.classList.add('tws-js'); var B="https://cdn.prod.website-files.com/6a392d2422167b04aa3cb2d8/"; var BL=B+"6a397f50d423a62e2e0de3a5_Boska-Light.otf",BLI=B+"6a397f50809ef7cef715349f_Boska-LightItalic.otf",BR=B+"6a397f51ba68d01546137c94_Boska-Regular.otf",AR=B+"6a397f5161e3660c16105101_Author-Regular.otf",AM=B+"6a397f51016b6c06b59d0c0f_Author-Medium.otf"; var LOGO_L=B+"6a397f5006950937818e4b84_tws-logo-light.png",LOGO_D=B+"6a397f5083201e419d2fb8a0_tws-logo-dark.png";var LOGO4=B+"6a3bbb3676634e3af36fb8d7_tws-logo-mark.png";var LOGO4D=B+"6a3ceb99f1175ef6a8e85387_tws-logo-mark-dark.png";var HH=B+"6a3d004ab4599bbe8dcfe058_hero-home-v2.jpg",HA=B+"6a3d004ab25e8d4816e8126c_hero-about-v2.jpg",HS=B+"6a3d004ab4599bbe8dcfe0a2_hero-services-v2.jpg",HW=B+"6a3d004ad2f34a6e22edf20b_hero-weddings-v2.jpg",HJ=B+"6a3d004b8a8f35389f201be5_hero-journal-v2.jpg",HC=B+"6a3d004b0c8e95d641b5f4ef_hero-contact-v2.jpg"; var C="https://cdn.prod.website-files.com/6a392e51efe357a449985cf7/"; var C2="https://cdn.prod.website-files.com/6a392d2422167b04aa3cb2d8/";function CPICK(f){return ((f.indexOf("6a4c")===0||f.indexOf("6a54")===0)?C2:C)+f;} var COVERS=[C+"6a39343cebeadc9ad66a5b45_K%26F-519.jpg",C+"6a3938fec55d6e11faf2af1b_2025-09-14_CLARA_JAKE-0328.jpg",C+"6a3939846f06adc2adc656ed_2025-07-26_ELISA_LUKAS-0779.jpg",C+"6a393a2ddd42e1f84e22fcdb_Shooting_060.jpg",C+"6a393b4422b1cceff9356a25_660A3037.jpg"]; var JCOVERS=[C+"6a39424d5651db385b539e5e_1.jpeg",C+"6a3943262e322725c84f9c9c_2.jpeg",C+"6a394349c7badc4ddc3af113_3.jpeg",C+"6a3943e81152f91b328aa858_4.png"]; var WED=[ {slug:"kerensa-farred",ed:"",name:"Kerensa & Farred",loc:"Lisbon · Portugal · 2025",img:C+"6a39343cebeadc9ad66a5b45_K%26F-519.jpg"}, {slug:"clara-jake",ed:"",name:"Clara & Jake",loc:"Sintra · Portugal · 2024",img:C+"6a3938fec55d6e11faf2af1b_2025-09-14_CLARA_JAKE-0328.jpg"}, {slug:"elisa-lukas",ed:"",name:"Elisa & Lukas",loc:"Algarve · Portugal · 2024",img:C+"6a3939846f06adc2adc656ed_2025-07-26_ELISA_LUKAS-0779.jpg"}, {slug:"sarah-glen",ed:"",name:"Sarah & Glen",loc:"Madeira · Portugal · 2023",img:C+"6a393a2ddd42e1f84e22fcdb_Shooting_060.jpg"}, {slug:"vanessa-tom",ed:"",name:"Vanessa & Tom",loc:"Douro Valley · Portugal · 2024",img:C+"6a393b4422b1cceff9356a25_660A3037.jpg"} ]; var ARCH=[C+"6a39374145f1e7a5cba8f4e6_K%26F-983.jpg",C+"6a3939063dd37c2b9c0b3ff9_2025-09-14_CLARA_JAKE-0554.jpg",C+"6a393992f139279efd0db7ac_2025-07-26_ELISA_LUKAS-0948.jpg",C+"6a393aaaa34964df02fc6bf1_Wedding_528.jpg",C+"6a393b72077774be03efab5e_6E0A4966.jpg",C+"6a3937406f06adc2adc4af82_K%26F-93.jpg",C+"6a39390b310b6078869a5252_2025-09-14_CLARA_JAKE-0733.jpg",C+"6a393992089a38adf21733fc_2025-07-26_ELISA_LUKAS-0884.jpg",C+"6a393aaa45f1e7a5cbab1f0d_Wedding_641.jpg",C+"6a393b723d7a1c73c9e3cb19_660A4776.jpg",C+"6a39373c942693b8bf8d09c9_K%26F-517.jpg",C+"6a39390a964a519f2de3a1ce_2025-09-14_CLARA_JAKE-0777.jpg",C+"6a39399216616859c5743cd0_2025-07-26_ELISA_LUKAS-0832.jpg",C+"6a393aa9dd42e1f84e2349a9_Wedding_133.jpg",C+"6a393b6e00b718d0250495c1_660A4322.jpg",C+"6a393742d85fd703490f909e_K%26F-524.jpg",C+"6a39390a324798d28fb7f167_2025-09-14_CLARA_JAKE-0874.jpg",C+"6a393992feb11fdc961fd0b0_2025-07-26_ELISA_LUKAS-0920.jpg",C+"6a393b6d296f6a46987cb4b4_660A4326.jpg",C+"6a393740a21b7d7fd02bc50e_K%26F-900.jpg",C+"6a39390a10ec65404cba743c_2025-09-14_CLARA_JAKE-0559.jpg",C+"6a3939921c1af2038f08fcef_2025-07-26_ELISA_LUKAS-0870.jpg",C+"6a393aaa4c039a3c46549f92_Wedding_146.jpg",C+"6a393b722ca5807e559b1879_660A4848.jpg",C+"6a393741ca898f5728358226_K%26F-78.jpg",C+"6a39390ab9920c588fd70a6d_2025-09-14_CLARA_JAKE-0462.jpg",C+"6a39399197e893376e956b7c_2025-07-26_ELISA_LUKAS-0904.jpg",C+"6a393aa9f3540ef9b94662e7_Wedding_655.jpg",B+"6a3d0c36e7e4e7f6e5dfec96_ls-clara-1.jpg",B+"6a3d0c362804ada2fd94ad5c_ls-clara-2.jpg",B+"6a3d0c36b25e8d4816ef3519_ls-clara-3.jpg",B+"6a3d0c36b4599bbe8dd7a2a4_ls-elisa-1.jpg",B+"6a3d0c36fa6ac9d9b5dcb85e_ls-elisa-2.jpg",B+"6a3d0c37b0455786d3e28580_ls-elisa-3.jpg",B+"6a3d0c379ab5106da8cb6a13_ls-kf-1.jpg",B+"6a3d0c38b4599bbe8dd7a44c_ls-kf-2.jpg",B+"6a3d0c389ab5106da8cb6ac5_ls-kf-3.jpg",B+"6a3d0c382804ada2fd94b013_ls-sarah-1.jpg",B+"6a3d0c39b4599bbe8dd7a581_ls-sarah-2.jpg",B+"6a3d0c39904eb4f5f58401c3_ls-sarah-3.jpg",B+"6a3d0c3a2804ada2fd94b14a_ls-vanessa-1.jpg",B+"6a3d0c3ab40d569b86a2dd1b_ls-vanessa-2.jpg",B+"6a3d0c3aec40ecd03f393954_ls-vanessa-3.jpg",B+"6a3d0f11dccd7bf06e917a0a_l2-clara-1.jpg",B+"6a3d0f11dccd7bf06e917a2e_l2-clara-2.jpg",B+"6a3d0f1185e439e3790014be_l2-elisa-1.jpg",B+"6a3d0f119c462edba544ce4b_l2-elisa-2.jpg",B+"6a3d0f11e87ca8f86cc7669e_l2-kf-1.jpg",B+"6a3d0f118a8f35389f27041f_l2-kf-2.jpg",B+"6a3d0f118a8f35389f270447_l2-sarah-1.jpg",B+"6a3d0f110c8e95d641bcbeb3_l2-sarah-2.jpg",B+"6a3d0f121593382df24a2b60_l2-vanessa-1.jpg",B+"6a3d0f12cfdd2a4bfa20cef2_l2-vanessa-2.jpg",B+"6a3d10e35c732e1f4f05c35c_l3-kf.jpg"]; var G="#d6b98a",PAPER="#f6f4f0",NOIR="#0a0a0a"; var css=''/* movido para tws-theme.css */; var LO=''/* movido para tws-theme.css */;var st=D.createElement('style');st.setAttribute('data-tws','fx65');st.textContent='';/* CSS movido para tws-theme.css no */D.head.appendChild(st);(function(){function lk(rel,href,as,type,cross){var l=document.createElement('link');l.rel=rel;l.href=href;if(as)l.as=as;if(type)l.type=type;if(cross)l.crossOrigin='anonymous';document.head.appendChild(l);}lk('preconnect','https://cdn.jsdelivr.net');lk('preconnect','https://cdn.prod.website-files.com');lk('preconnect','https://fonts.googleapis.com');lk('preconnect','https://fonts.gstatic.com',null,null,true);lk('stylesheet','https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400&family=Inter:wght@300;400;500;600&display=swap');lk('preload',BL,'font','font/otf',true);lk('preload',AR,'font','font/otf',true);var hp={'/':B+'6a3d004ab4599bbe8dcfe058_hero-home-v2.jpg','/about':B+'6a3d004ab25e8d4816e8126c_hero-about-v2.jpg','/services':B+'6a3d004ab4599bbe8dcfe0a2_hero-services-v2.jpg','/weddings':B+'6a3d004ad2f34a6e22edf20b_hero-weddings-v2.jpg','/blog':B+'6a3d004b8a8f35389f201be5_hero-journal-v2.jpg','/contact':B+'6a3d004b0c8e95d641b5f4ef_hero-contact-v2.jpg'};var pp=location.pathname.replace(/\/$/,'')||'/';if(hp[pp])lk('preload',hp[pp],'image');})(); function load(src){return new Promise(function(res){var s=D.createElement('script');s.src=src;s.onload=res;s.onerror=res;D.head.appendChild(s);});} function dom(fn){if(D.readyState!=='loading')fn();else D.addEventListener('DOMContentLoaded',fn);} function setbg(list,url){for(var i=0;iTatiana Wedding Studio';}); var nav=D.querySelector('.tws-nav');if(nav){var litePg=!D.querySelector('.tws-hero,.tws-phead--img,.tws-qb,.tws-wdh,.tws-hzs,.tws-ct');var on=function(){nav.classList.toggle('tws-scrolled',(window.scrollY>60)||litePg)};window.addEventListener('scroll',on,{passive:true});on();}(function(){var bt=D.createElement('button');bt.id='tws-top';bt.setAttribute('aria-label','Back to top');bt.innerHTML='\u2191';(D.body||root).appendChild(bt);var sc=function(){if(window.scrollY>600)bt.classList.add('on');else bt.classList.remove('on');};window.addEventListener('scroll',sc,{passive:true});sc();bt.addEventListener('click',function(){try{if(typeof le!=='undefined'&&le&&le.scrollTo){le.scrollTo(0);return;}}catch(e){}window.scrollTo({top:0,behavior:'smooth'});});})();(function(){var lb=D.createElement('div');lb.id='tws-lb';lb.innerHTML='\u00d7';(D.body||root).appendChild(lb);var big=lb.querySelector('img');var list=[],idx=0;function show(i){if(!list.length)return;idx=(i+list.length)%list.length;big.src=list[idx];}function op(g,src){list=[].slice.call(g.querySelectorAll('img')).map(function(im){return im.currentSrc||im.src;});idx=Math.max(0,list.indexOf(src));big.src=list[idx];lb.classList.add('on');}function cl(){lb.classList.remove('on');}D.addEventListener('click',function(e){var t=e.target;var g=t&&t.closest&&t.closest('.tws-arch__grid,.tws-wgal__grid');if(g&&t.tagName==='IMG'){op(g,t.currentSrc||t.src);return;}if(!lb.classList.contains('on'))return;if(t.classList&&t.classList.contains('tws-lb__prev')){show(idx-1);return;}if(t.classList&&t.classList.contains('tws-lb__next')){show(idx+1);return;}if(t.tagName!=='IMG')cl();},true);D.addEventListener('keydown',function(e){if(!lb.classList.contains('on'))return;if(e.key==='Escape')cl();else if(e.key==='ArrowLeft')show(idx-1);else if(e.key==='ArrowRight')show(idx+1);});})(); setbg(D.querySelectorAll('.tws-weds .tws-card__img'),COVERS);setbg(D.querySelectorAll('.tws-jrnl .tws-jcard__img'),JCOVERS); D.querySelectorAll('a[href*="instagram.com"]').forEach(function(a){a.setAttribute('href','https://www.instagram.com/tatiana.weddingplanner/');if(/@?tatianaweddingstudio/i.test(a.textContent))a.textContent='@tatiana.weddingplanner';}); D.querySelectorAll('a[href^="mailto:"]').forEach(function(a){a.setAttribute('href','mailto:hello@tatianaweddingstudio.com');if(/tweddingstudio\.com/i.test(a.textContent))a.textContent='hello@tatianaweddingstudio.com';}); D.querySelectorAll('a').forEach(function(a){var h=a.getAttribute('href')||'';if(/^https?:\/\/(www\.)?tweddingstudio\.com/i.test(h)){a.setAttribute('href','https://tatianaweddingstudio.com');if(/tweddingstudio\.com/i.test(a.textContent))a.textContent='tatianaweddingstudio.com';}}); function _dedash(){try{var wk=D.createTreeWalker(D.body,NodeFilter.SHOW_TEXT,null);var n,arr=[];while(n=wk.nextNode())arr.push(n);arr.forEach(function(t){if(t.nodeValue&&t.nodeValue.indexOf('\u2014')>-1)t.nodeValue=t.nodeValue.replace(/\s*\u2014\s*/g,', ').replace(/,\s*,/g,',');});}catch(e){}}_dedash();var _ddT;try{new MutationObserver(function(){clearTimeout(_ddT);_ddT=setTimeout(_dedash,120);}).observe(D.body,{childList:true,subtree:true,characterData:true});}catch(e){} var pb=D.createElement('div');pb.id='tws-prog';D.body.appendChild(pb); var PH={'/about':B+"6a3d004ab25e8d4816e8126c_hero-about-v2.jpg",'/services':B+"6a3d004ab4599bbe8dcfe0a2_hero-services-v2.jpg",'/weddings':B+"6a3d004ad2f34a6e22edf20b_hero-weddings-v2.jpg",'/blog':B+"6a3d004b8a8f35389f201be5_hero-journal-v2.jpg"};var _hh=D.querySelector('.tws-hero');if(_hh){_hh.style.backgroundImage="url('"+B+"6a3d004ab4599bbe8dcfe058_hero-home-v2.jpg')";}var _pth=location.pathname.replace(/\/$/,'')||'/';var _ph=D.querySelector('.tws-phead');if(_ph&&PH[_pth]){_ph.style.backgroundImage="linear-gradient(rgba(10,10,10,.4),rgba(10,10,10,.72)),url('"+PH[_pth]+"')";_ph.classList.add('tws-phead--img');}if(_pth==='/contact'){var _ct=D.querySelector('.tws-ct');if(_ct){var _m=D.createElement('div');_m.className='tws-ct__media';_m.style.backgroundImage="url('"+B+"6a3d004b0c8e95d641b5f4ef_hero-contact-v2.jpg')";_ct.insertBefore(_m,_ct.firstChild);var _w=_ct.querySelector('.tws-ct__wrap');if(_w){[].forEach.call(_ct.querySelectorAll('.tws-ct__detail'),function(d){_w.appendChild(d);});}}} /* cursor */ if(!matchMedia('(hover:none)').matches){var cur=D.createElement('div');cur.id='tws-cur';var curl=D.createElement('div');curl.id='tws-curl';D.body.appendChild(cur);D.body.appendChild(curl);var cx=innerWidth/2,cy=innerHeight/2,tx=cx,ty=cy;D.addEventListener('mousemove',function(e){tx=e.clientX;ty=e.clientY;cur.classList.add('on');curl.style.left=tx+'px';curl.style.top=(ty+1)+'px';});(function loop(){cx+=(tx-cx)*.2;cy+=(ty-cy)*.2;cur.style.left=cx+'px';cur.style.top=cy+'px';requestAnimationFrame(loop);})();} /* footer cta */ var fwrap=D.querySelector('.tws-foot__wrap');if(fwrap&&!D.querySelector('.tws-foot__pre')){var p=D.createElement('div');p.className='tws-foot__pre';p.innerHTML='Get in touch

Your story, is next.

Begin the conversation';fwrap.parentNode.insertBefore(p,fwrap);} document.querySelectorAll('.tws-foot__mark').forEach(function(m){m.innerHTML='';}); /* build editorial */ var er=D.querySelector('.tws-ed-root'); if(er){ var h=''; var mantra="Designing celebrations where every detail is seen, and every guest feels it."; var words=mantra.split(' ').map(function(x){return ''+x+'';}).join(' '); h+='

'+words+'

'; h+='
Love Stories
'; ARCH.forEach(function(u){h+='';}); h+='
'; er.innerHTML=h; } /* cursor hover targets (after build) */ if(D.getElementById('tws-cur')){var cur=D.getElementById('tws-cur'),curl=D.getElementById('tws-curl'); D.querySelectorAll('a,button,.tws-hzs,.tws-arch__grid img').forEach(function(el){ var label=el.getAttribute('data-cur'); el.addEventListener('mouseenter',function(){cur.classList.add('big');if(label||el.matches('.tws-arch__grid img,.tws-hzs')){curl.textContent=label||'View';curl.classList.add('on');}}); el.addEventListener('mouseleave',function(){cur.classList.remove('big');curl.classList.remove('on');}); }); } /* WEDDING + ARTICLE DETAIL */ var WEDD={"kerensa-farred": {"ed": "", "name": "Kerensa & Farred", "couple": "Kerensa & Farred", "loc": "Lisbon \u00b7 Portugal", "year": "2025", "story": "Two worlds intertwined with grace. An afternoon where every detail carried meaning, and the space between moments spoke just as clearly.", "prev": ["elisa-lukas", "Elisa & Lukas"], "next": ["sarah-glen", "Sarah & Glen"], "cover": "6a39343cebeadc9ad66a5b45_K%26F-519.jpg", "g": ["6a39374145f1e7a5cba8f4e6_K%26F-983.jpg", "6a3937418546f2565c86d82a_K%26F-984.jpg", "6a393741c7ceaf29c1de96b1_K%26F-8.jpg", "6a393741ca898f5728358226_K%26F-78.jpg", "6a3937406f06adc2adc4af82_K%26F-93.jpg", "6a393740da8cdfb73e86c312_K%26F-97.jpg", "6a393740a21b7d7fd02bc50e_K%26F-900.jpg", "6a39373f942693b8bf8d15ee_K%26F-77.jpg", "6a393740e021995a7fe4bbab_K%26F-666.jpg", "6a39373ddc8d004b5e034e7e_K%26F-681.jpg", "6a39373ce021995a7fe4ba61_K%26F-54.jpg", "6a39373c942693b8bf8d09c9_K%26F-517.jpg", "6a393742d85fd703490f909e_K%26F-524.jpg", "6a4c3482c994d844f5eeecc3_K%26F%20-%20Analog-105.jpg", "6a4c34820952c901b1a55ed8_K%26F%20-%20Analog-132.jpg", "6a4c3486826b7b7a2e90d066_K%26F%20-%20Analog-135.jpg", "6a4c348213600008cb40277a_K%26F%20-%20Analog-138.jpg", "6a4c3446d6db6c43bf0cafd5_K%26F%20-%20Analog-16.jpg", "6a4c3445bb04ed9b4c9775ea_K%26F%20-%20Analog-17.jpg", "6a4c34869055b338785301b0_K%26F%20-%20Analog-2.jpg", "6a4c34459f4c7b03a378e766_K%26F%20-%20Analog-24.jpg", "6a4c34862ec68ecd0092e2c4_K%26F%20-%20Analog-27.jpg", "6a4c3486826b7b7a2e90d06d_K%26F%20-%20Analog-3.jpg", "6a4c34863e253c3f2fae3a6d_K%26F%20-%20Analog-5.jpg", "6a4c34824900969f5157dc15_K%26F%20-%20Analog-9.jpg", "6a4c3486147df786f28fbd4a_K%26F-10.jpg", "6a4c348648c3eacdae9181cf_K%26F-107.jpg", "6a4c3486b10b5e2c16f61234_K%26F-119.jpg", "6a4c348f826b7b7a2e90d2f3_K%26F-123.jpg", "6a4c348f46ae95fd53bdf47b_K%26F-128.jpg", "6a4c348f5fe25e2debc70c3d_K%26F-129.jpg", "6a4c348f3a28b9bb5d301231_K%26F-14.jpg", "6a4c348f838933b2378565ff_K%26F-148.jpg", "6a4c348fef2151b7d877e101_K%26F-17.jpg", "6a4c348f2ec68ecd0092e444_K%26F-2.jpg", "6a4c348f5cc48128d7153035_K%26F-208.jpg", "6a4c348f3e253c3f2fae3c96_K%26F-25.jpg", "6a4c348ff973ea91d658d702_K%26F-300.jpg", "6a4c348f3e253c3f2fae3c93_K%26F-340.jpg", "6a4c3491f648d059c7db95ef_K%26F-347.jpg", "6a4c3491c06df95902cec7d2_K%26F-385.jpg", "6a4c3491acc82afd78437b38_K%26F-4.jpg", "6a4c3491f973ea91d658d785_K%26F-438.jpg", "6a4c3491679c99ec545d5a38_K%26F-491.jpg", "6a4c348de3c35c9a8d416fa7_K%26F-5.jpg", "6a4c348a7c188db57239e43e_K%26F-55.jpg", "6a4c348c9f4c7b03a378fadf_K%26F-576.jpg", "6a4c348d69e6a7c5c8a1ec55_K%26F-592.jpg", "6a4c348d838933b237856527_K%26F-699.jpg", "6a4c348d4b452b9884c0b71a_K%26F-7.jpg", "6a4c348c8840dd556c380b38_K%26F-700.jpg", "6a4c348af973ea91d658d696_K%26F-766.jpg", "6a4c348cc86bd3649ec5edad_K%26F-865.jpg", "6a4c348d9f4c7b03a378fb02_K%26F-89.jpg", "6a4c348dacc82afd78437aad_K%26F-956.jpg", "6a4c348c5fe25e2debc70a75_K%26F-979.jpg", "6a4c348d838933b23785652c_K%26F-980.jpg", "6a4c348dcc6b366a5e94b782_K%26F-981.jpg", "6a4c348f78c7764e83067c49_K%26F-986.jpg", "6a39343cebeadc9ad66a5b45_K%26F-519.jpg"]}, "clara-jake": {"ed": "", "name": "Clara & Jake", "couple": "Clara & Jake", "loc": "Sintra \u00b7 Portugal", "year": "2024", "story": "The light arrived early and refused to leave. A crisp September afternoon, golden and unhurried, entirely their own.", "prev": ["vanessa-tom", "Vanessa & Tom"], "next": ["elisa-lukas", "Elisa & Lukas"], "cover": "6a3938fec55d6e11faf2af1b_2025-09-14_CLARA_JAKE-0328.jpg", "g": ["6a39390b310b6078869a5252_2025-09-14_CLARA_JAKE-0733.jpg", "6a39390a964a519f2de3a1ce_2025-09-14_CLARA_JAKE-0777.jpg", "6a39390a1c1af2038f08ae30_2025-09-14_CLARA_JAKE-0811.jpg", "6a39390a324798d28fb7f167_2025-09-14_CLARA_JAKE-0874.jpg", "6a39390a10ec65404cba743c_2025-09-14_CLARA_JAKE-0559.jpg", "6a39390410ec65404cba721f_2025-09-14_CLARA_JAKE-0628.jpg", "6a3939051051ca4400606d32_2025-09-14_CLARA_JAKE-0654.jpg", "6a3939051ed34756acb163ae_2025-09-14_CLARA_JAKE-0683.jpg", "6a39390ab9920c588fd70a6d_2025-09-14_CLARA_JAKE-0462.jpg", "6a3939063dd37c2b9c0b3ff9_2025-09-14_CLARA_JAKE-0554.jpg", "6a393905274bb2917beb1e4a_2025-09-14_CLARA_JAKE-0375.jpg", "6a3938fec55d6e11faf2af1b_2025-09-14_CLARA_JAKE-0328.jpg"]}, "elisa-lukas": {"ed": "", "name": "Elisa & Lukas", "couple": "Elisa & Lukas", "loc": "Algarve \u00b7 Portugal", "year": "2024", "story": "Salt, stone, and the particular silence of the Algarve. A summer day of warmth and quiet elegance that stays with you.", "prev": ["clara-jake", "Clara & Jake"], "next": ["kerensa-farred", "Kerensa & Farred"], "cover": "6a3939846f06adc2adc656ed_2025-07-26_ELISA_LUKAS-0779.jpg", "g": ["6a393992f139279efd0db7ac_2025-07-26_ELISA_LUKAS-0948.jpg", "6a3939921c1af2038f08fcef_2025-07-26_ELISA_LUKAS-0870.jpg", "6a393992089a38adf21733fc_2025-07-26_ELISA_LUKAS-0884.jpg", "6a39399197e893376e956b7c_2025-07-26_ELISA_LUKAS-0904.jpg", "6a393992feb11fdc961fd0b0_2025-07-26_ELISA_LUKAS-0920.jpg", "6a39399216616859c5743cd0_2025-07-26_ELISA_LUKAS-0832.jpg", "6a393992276585f22e033b4d_2025-07-26_ELISA_LUKAS-0842.jpg", "6a39399188893552184685a1_2025-07-26_ELISA_LUKAS-0845.jpg", "6a39399128d2ecdf934ae826_2025-07-26_ELISA_LUKAS-0861.jpg", "6a3939917d103f3f3f43b9bd_2025-07-26_ELISA_LUKAS-0829.jpg", "6a3939846f06adc2adc656ed_2025-07-26_ELISA_LUKAS-0779.jpg"]}, "sarah-glen": {"ed": "", "name": "Sarah & Glen", "couple": "Sarah & Glen", "loc": "Madeira \u00b7 Portugal", "year": "2023", "story": "Madeira gave them exactly the pace they needed. Understated beauty and deep presence, a long unhurried exhale.", "prev": ["kerensa-farred", "Kerensa & Farred"], "next": ["vanessa-tom", "Vanessa & Tom"], "cover": "6a393a2ddd42e1f84e22fcdb_Shooting_060.jpg", "g": ["6a393aaaaf1457eb37e03327_Wedding_169.jpg", "6a393aa9cd12c9e9397d93f0_Wedding_173.jpg", "6a393aaafbf903a6ea3b14b9_Wedding_418.jpg", "6a393aaaa34964df02fc6bf1_Wedding_528.jpg", "6a393aaa45f1e7a5cbab1f0d_Wedding_641.jpg", "6a393aa9f3540ef9b94662e7_Wedding_655.jpg", "6a393aa9dd42e1f84e2349a9_Wedding_133.jpg", "6a393aa85224b51b6f226dbe_Wedding_145.jpg", "6a393aaa4c039a3c46549f92_Wedding_146.jpg", "6a393aa8ebeadc9ad66e089b_Wedding_157.jpg", "6a393a2ddd42e1f84e22fcdb_Shooting_060.jpg"]}, "vanessa-tom": {"ed": "", "name": "Vanessa & Tom", "couple": "Vanessa & Tom", "loc": "Douro Valley \u00b7 Portugal", "year": "2024", "story": "Douro in autumn. Nothing else was required. A celebration full of texture and intention, where small details added up to something unforgettable.", "prev": ["sarah-glen", "Sarah & Glen"], "next": ["clara-jake", "Clara & Jake"], "cover": "6a393b4422b1cceff9356a25_660A3037.jpg", "g": ["6a393b72077774be03efab5e_6E0A4966.jpg", "6a393b723d7a1c73c9e3cb19_660A4776.jpg", "6a393b7267e1a475faf21dfa_660A4817.jpg", "6a393b722ca5807e559b1879_660A4848.jpg", "6a393b72f058f22f139b8258_660A3775.jpg", "6a393b7233e1d1fe52461736_660A3805.jpg", "6a393b6f5bb277d0701913a1_660A3840.jpg", "6a393b6e00b718d0250495c1_660A4322.jpg", "6a393b6d296f6a46987cb4b4_660A4326.jpg", "6a393b6ef092e143fb1d203d_660A4401.jpg", "6a393b6d6ef3c83be8243462_660A4618.jpg", "6a4c357a7c188db5723a2303_660A0229.jpg", "6a4c35ea033de7eac1505fbc_660A0315.jpg", "6a4c35789b2c0e09024d73f3_660A1330.jpg", "6a4c35ae5fc7787e3208fd80_660A1344.jpg", "6a4c357a5cc48128d7157a93_660A1538.jpg", "6a4c35789b2c0e09024d73f6_660A2110.jpg", "6a4c35ae7796b3c6eb36e24a_660A2557.jpg", "6a4c35eab4c1a693acc56a5b_660A2562.jpg", "6a4c35ea033de7eac1505f94_660A2564.jpg", "6a4c35ea67e05051abd0ee19_660A2566.jpg", "6a4c35ea698b676c418eab4e_660A2629.jpg", "6a4c35aeacc82afd7843e989_660A2804.jpg", "6a4c35ea7c188db5723a6340_660A2808.jpg", "6a4c35ea78c7764e8306f094_660A2815.jpg", "6a4c360eaa8ac85cee1b8c47_660A3028.jpg", "6a4c360e5fe25e2debc77c2d_660A3069.jpg", "6a4c360e41971be5e4c2812d_660A3076.jpg", "6a4c360ec994d844f5ef6377_660A3092.jpg", "6a4c360e48c3eacdae920bf0_660A3104.jpg", "6a4c360ec86bd3649ec64f8a_660A3136.jpg", "6a4c360e7796b3c6eb36f810_660A3161.jpg", "6a4c360eb10b5e2c16f67a05_660A3483.jpg", "6a4c360ef648d059c7dc4507_660A3830.jpg", "6a4c360e865b542145e2f260_660A4331.jpg", "6a4c36123a28b9bb5d309d34_660A4350.jpg", "6a4c3612838933b23785d6b2_660A4591.jpg", "6a4c3612aa8ac85cee1b8d3f_6E0A5008.jpg", "6a393b4422b1cceff9356a25_660A3037.jpg"]}};var ARTD={"why-portugal-for-your-wedding": {"tag": "Why Portugal", "title": "Why Portugal for Your Wedding", "cover": "6a39424d5651db385b539e5e_1.jpeg", "read": "4 min read", "p": ["I get asked this a lot. Why Portugal? And I never quite know where to start.", "The light, probably. There's a quality to it here, especially in the late afternoon, that I haven't found anywhere else. It changes the feeling of a scene, not just the look of it.", "Then the variety. You can marry on a cliff above the Atlantic, in a 16th-century palace garden, on a working wine estate in the Douro, or in a Lisbon courtyard that looks unchanged in a hundred years, all within a few hours of each other.", "The season matters too. Portugal has about nine months of genuinely good weather for outdoor weddings. September and October in particular are extraordinary: warm, golden, less crowded.", "And the food, the flowers, and vendors who have been doing this their whole lives. There's a calm to working here that I don't take for granted."]}, "the-most-beautiful-wedding-venues-in-sintra": {"tag": "Venues", "title": "The Most Beautiful Wedding Venues in Sintra", "cover": "6a3943262e322725c84f9c9c_2.jpeg", "read": "4 min read", "p": ["Sintra is one of those places that feels slightly unreal on a normal day. Add a wedding to it and the effect doubles.", "The town sits in the hills about thirty minutes west of Lisbon, where the land meets the ocean. Palaces buried in forest, formal gardens, stone that has stood since the 1400s.", "Quinta da Regaleira is the most photographed venue in the area, dense with symbolism and somewhere between gothic and fantastical. It suits couples who want presence and don't mind a little drama.", "Monserrate Palace is less visited and, in my opinion, more interesting to photograph, mixing Portuguese, Moorish and Gothic elements with gardens that feel slightly wild.", "One thing to know: Sintra is famous for fog. It rolls in from the Atlantic without warning, and it is often the most beautiful condition to photograph in."]}, "a-guide-to-lisbon-elopements": {"tag": "Destination Guide", "title": "A Guide to Lisbon Elopements", "cover": "6a394349c7badc4ddc3af113_3.jpeg", "read": "4 min read", "p": ["An elopement in Lisbon is one of the easiest days to plan, and one of the most photographed I get to be part of. The city is built for it.", "To legally marry in Portugal you register at the civil registry in advance. If the legal process feels like too much, many couples do a symbolic ceremony and handle the paperwork at home.", "For the ceremony, Alfama is the obvious choice: the viewpoints at sunset, the tiled facades, the narrow streets where you hear fado from somewhere you can't quite place.", "Less obvious: the Mouraria neighbourhood, the waterfront at Belem in the early morning, or the botanical garden in the centre that feels like a secret.", "What most people don't plan for is timing. Lisbon in summer is crowded by late morning. Start early, even seven, and the difference in the images and in how the day feels is significant."]}, "how-to-plan-a-wedding-in-portugal-from-abroad": {"tag": "Planning", "title": "How to Plan a Wedding in Portugal from Abroad", "cover": "6a3943e81152f91b328aa858_4.png", "read": "5 min read", "p": ["Most of the weddings I help with are planned by couples who have spent only a few days in Portugal. It works out, but there are a few things worth knowing earlier.", "Start with the venue. It determines almost everything else: tone, vendors, season. The most sought-after venues book eighteen to twenty-four months out.", "Find vendors used to working with international couples, who know how to communicate remotely and what to ask before you arrive.", "Visit once before the wedding if you can. Couples who come for a venue visit arrive much calmer. One trip is usually enough.", "On the legal side, Portugal requires paperwork that takes time, including certificates and proof of single status. Manageable, but with deadlines.", "And know that Portugal moves at its own pace. Timelines breathe. Most couples find they love that by the end."]}}; var _seg=location.pathname.replace(/\/+$/,'').split('/'); var wdr=D.querySelector('.tws-wd-root'); if(wdr&&_seg[1]==='weddings'&&_seg[2]&&WEDD[_seg[2]]){var w=WEDD[_seg[2]]; var hh='
'+w.ed+'

'+w.name+'

'+w.loc+' · '+w.year+'
'; hh+='
Couple

'+w.couple+'

Date

'+w.year+'

Location

'+w.loc+'

Service

Full Planning & Design

'; hh+='

'+w.story+'

'; hh+='
';w.g.forEach(function(s){hh+='';});hh+='
'; hh+='
← '+w.prev[1]+'TWS · Portfolio'+w.next[1]+' →
'; hh+='

Your story is next.

Begin the conversation
'; var sec=D.querySelector('.tws-wd-root');sec.style.padding='0';sec.innerHTML=hh;document.title=w.couple+' — Tatiana Wedding Studio'; } var adr=D.querySelector('.tws-ad-root'); if(adr&&_seg[1]==='blog'&&_seg[2]&&ARTD[_seg[2]]){var a=ARTD[_seg[2]]; var ah='
'+a.tag+'

'+a.title+'

By Tatiana Rodrigues · '+a.read+'
'; ah+='
'; ah+='
';a.p.forEach(function(x){ah+='

'+x+'

';});ah+='Back to Journal
'; adr.style.padding='0';adr.innerHTML=ah;document.title=a.title+' — Tatiana Wedding Studio'; } /* ===== i18n EN/PT ===== */ var I18N={"About": "Sobre", "Services": "Serviços", "Weddings": "Casamentos", "Journal": "Journal", "Contact": "Contacto", "Vogue College of Fashion · Portugal · Destination Weddings": "Vogue College of Fashion · Portugal · Casamentos de Destino", "Your Story,
With My Signature": "A Tua História,
Com A Minha Assinatura", "EMOTIVE · TIMELESS · PERSONAL": "EMOTIVO · INTEMPORAL · PESSOAL", "Discover the work": "Descobrir o trabalho", "Designed Around You.
Experienced by All.": "Concebido para Si.
Vivido por Todos.", "Destination Wedding Planner & Event Designer": "Wedding Planner & Event Designer · Casamentos de Destino", "Your Story,
With My Signature.": "A Tua História,
Com A Minha Assinatura.", "Love Stories": "Histórias de Amor", "Get in touch": "Contacto", "Designing celebrations where every detail is seen, and every guest feels it.": "Concebemos celebrações onde cada detalhe é visto e cada convidado o sente.", "Let’s Get to Know Each Other": "Vamos Conhecer-nos", "We’re so pleased you’re here. Every celebration begins with a conversation — before our first meeting, we’d love to learn a little more about you, your story, and the wedding you’re dreaming of.": "Ficamos muito felizes por estares aqui. Cada celebração começa com uma conversa — antes da primeira reunião, gostávamos de conhecer um pouco melhor vocês, a vossa história e o casamento que sonham.", "About You": "Sobre Vós", "Tell us a little about yourselves.": "Contem-nos um pouco sobre vós.", "Your Name(s)": "Nome(s)", "Email Address": "Email", "Phone Number (optional)": "Telefone (opcional)", "Where did you hear about us?": "Como nos conheceram?", "Your Celebration": "A Vossa Celebração", "Help us understand the vision for your wedding.": "Ajudem-nos a perceber a visão do vosso casamento.", "Preferred Wedding Date": "Data Pretendida", "Destination / Venue (if known)": "Destino / Espaço (se já souberem)", "Estimated Number of Guests": "Número Estimado de Convidados", "How much are you willing to invest in your dream?": "Quanto estão dispostos a investir no vosso sonho?", "Ceremony Style": "Tipo de Cerimónia", "Civil": "Civil", "Religious": "Religiosa", "Symbolic": "Simbólica", "Not yet decided": "Ainda a decidir", "Are you planning additional celebrations?": "Estão a planear celebrações adicionais?", "Your Vision": "A Vossa Visão", "Every wedding begins with a feeling. Tell us about the experience you’d like to create — what inspires you, how you’d like your guests to feel, the atmosphere you love, and what matters most to you.": "Cada casamento começa com um sentimento. Contem-nos a experiência que querem criar — o que vos inspira, como querem que os convidados se sintam, a atmosfera que adoram e o que mais valorizam.", "A Few Final Details": "Alguns Detalhes Finais", "Wedding Venue": "Espaço do Casamento", "Inspiring photographer & videographer?": "Fotógrafo e videógrafo que vos inspiram?", "Anything Else?": "Mais Alguma Coisa?", "If there’s anything you’d like us to know before we meet, we’d love to hear it.": "Se houver algo que queiram partilhar antes de nos encontrarmos, adorávamos saber.", "Let’s Start Planning": "Vamos Começar", "Your Story, With My Signature.": "A Tua História, Com A Minha Assinatura.", "With nearly a decade of experience in full-service wedding planning and design, I create refined, deeply personal celebrations for couples choosing Portugal as their destination. Each event is thoughtfully curated, guided by a distinctive approach where my signature style meets the unique story of every couple — inspired by art, fashion, design, and the emotion of love itself.": "Com quase uma década de experiência em planeamento e design de casamentos full-service, crio celebrações refinadas e profundamente pessoais para casais que escolhem Portugal como destino. Cada evento é cuidadosamente curado, guiado por uma abordagem distinta onde a minha assinatura encontra a história única de cada casal — inspirada pela arte, moda, design e pela própria emoção do amor.", "With a natural inclination toward aesthetics, organization, and human connection, I have built my career around creating meaningful experiences that go beyond the expected. With an international certification in wedding planning and event design from Vogue College of Fashion at Condé Nast College, I have curated weddings and multi-day celebrations for international couples across Portugal. This experience has shaped my understanding of both precision and emotion — two elements that come together seamlessly in every exceptional event.": "Com uma inclinação natural para a estética, a organização e a ligação humana, construí a minha carreira a criar experiências significativas que vão além do esperado. Com certificação internacional em wedding planning e event design pela Vogue College of Fashion at Condé Nast College, curei casamentos e celebrações de vários dias para casais internacionais por todo o Portugal. Esta experiência moldou a minha compreensão tanto da precisão como da emoção — dois elementos que se unem de forma fluida em cada evento excecional.", "A complete service where atmosphere, timing, and emotion are carefully orchestrated — from the first conversation to the last dance — so that every detail is seen and every guest feels it.": "Um serviço completo onde atmosfera, tempo e emoção são cuidadosamente orquestrados — da primeira conversa à última dança — para que cada detalhe seja visto e cada convidado o sinta.", "A service dedicated to shaping the visual identity of your celebration with intention and refinement. Together, we develop a bespoke design concept through carefully curated mood boards, translating your vision into a cohesive aesthetic. From floral compositions to sourcing décor and custom-made details, every element is considered and aligned with your story. We liaise closely with trusted partners and manage all styling logistics — including technical visits — ensuring everything comes together seamlessly on the day.": "Um serviço dedicado a moldar a identidade visual da sua celebração com intenção e requinte. Juntos, desenvolvemos um conceito de design à medida através de mood boards cuidadosamente curados, traduzindo a sua visão numa estética coesa. Das composições florais ao sourcing de décor e detalhes feitos à medida, cada elemento é pensado e alinhado com a sua história. Trabalhamos de perto com parceiros de confiança e gerimos toda a logística de styling — incluindo visitas técnicas — garantindo que tudo se concretiza na perfeição no dia.", "Every moment is designed to be felt — creating connection, comfort, and lasting memories across the whole journey, from pre-event communication and personalized itineraries to a curated multi-day experience.": "Cada momento é pensado para ser sentido — criando ligação, conforto e memórias duradouras ao longo de toda a jornada, da comunicação pré-evento e itinerários personalizados a uma experiência curada de vários dias.", "Bespoke stationery that complements and elevates the overall aesthetic of your celebration. From save-the-dates and invitations to every on-the-day detail, each piece reflects the concept, tone, and identity of your event. We work with premium materials, refined finishes, and artisanal techniques to craft pieces that are both timeless and distinctive. More than functional, your stationery becomes part of the experience — a first impression and a lasting expression of your celebration.": "Papelaria à medida que complementa e eleva a estética geral da sua celebração. Dos save-the-dates e convites a cada detalhe do dia, cada peça reflete o conceito, o tom e a identidade do seu evento. Trabalhamos com materiais premium, acabamentos refinados e técnicas artesanais para criar peças intemporais e distintas. Mais do que funcional, a sua papelaria torna-se parte da experiência — uma primeira impressão e uma expressão duradoura da sua celebração.", "Planning, Design & Guest Experience": "Planeamento, Design & Experiência de Convidados", "Stationery": "Papelaria", "A Signature Approach to Destination Weddings in Portugal": "Uma Abordagem com Assinatura a Casamentos de Destino em Portugal", "With nearly a decade of full-service wedding planning and design, I create refined, deeply personal celebrations for couples choosing Portugal as their destination. Every celebration reflects a careful balance between aesthetics and feeling, elegance, intention, and individuality.": "Com quase uma década de planeamento e design de casamentos full-service, crio celebrações refinadas e profundamente pessoais para casais que escolhem Portugal como destino. Cada celebração reflete um equilíbrio cuidado entre estética e emoção, elegância, intenção e individualidade.", "Years Experience": "Anos de Experiência", "Destinations": "Destinos", "Singular Celebrations": "Celebrações Singulares", "We don’t follow trends.
We create what remains.": "Não seguimos tendências.
Criamos o que fica.", "We don't follow trends.
We create what remains.": "Não seguimos tendências.
Criamos o que fica.", "No two celebrations should ever feel the same.": "Nenhuma celebração deve sentir-se igual a outra.", "With a natural inclination toward aesthetics, organisation, and human connection, I build meaningful experiences that go beyond the expected. Certified at Vogue College of Fashion at Condé Nast College, I curate weddings and multi-day celebrations for international couples across Portugal.": "Com uma inclinação natural para a estética, a organização e a ligação humana, crio experiências com significado que vão além do esperado. Certificada no Vogue College of Fashion do Condé Nast College, curo casamentos e celebrações de vários dias para casais internacionais em Portugal.", "Certified · Vogue College of Fashion at Condé Nast College": "Certificada · Vogue College of Fashion no Condé Nast College", "Selected Work": "Trabalho Selecionado", "Selected Weddings": "Casamentos Selecionados", "View all": "Ver todos", "The Archive": "O Arquivo", "A year, in light and texture.": "Um ano, em luz e textura.", "Let’s create together": "Vamos criar juntos", "Your story, is next.": "A tua história é a próxima.", "Begin the conversation": "Começar a conversa", "Navigation": "Navegação", "Connect": "Contactos", "Legal": "Legal", "Your Story, With My Signature.": "A Tua História, Com A Minha Assinatura.", "Selected
Weddings": "Casamentos
Selecionados", "Each wedding is a distinct project, refined, deeply personal celebrations across Portugal. These are the stories that defined the year.": "Cada casamento é um projeto distinto, celebrações refinadas e profundamente pessoais por Portugal. Estas são as histórias que definiram o ano.", "A Signature Approach to Destination Weddings in Portugal": "Uma Abordagem com Assinatura a Casamentos de Destino em Portugal", "Designing celebrations where every detail is seen, and every guest feels it.": "Celebrações onde cada detalhe é visto, e cada convidado o sente.", "Planning, Design & Styling": "Planeamento, Design e Styling", "Full-service creative direction for destination weddings, where atmosphere, timing, and emotion are orchestrated into one seamless experience.": "Direção criativa full-service para casamentos de destino, onde atmosfera, ritmo e emoção se orquestram numa só experiência.", "Stories & Insights": "Histórias e Perspetivas", "Destination guides, venue perspectives, and reflections on planning a wedding in Portugal.": "Guias de destino, perspetivas sobre espaços e reflexões sobre planear um casamento em Portugal.", "Values": "Valores", "Designed around you. Experienced by all.": "Desenhado para ti. Sentido por todos.", "Intentionality": "Intencionalidade", "Guest Experience": "Experiência do Convidado", "Signature Identity": "Identidade de Assinatura", "Discreet Excellence": "Excelência Discreta", "Every detail is thoughtfully considered, ensuring a cohesive and meaningful celebration.": "Cada detalhe é pensado ao pormenor, garantindo uma celebração coesa e com significado.", "Each moment is designed to be felt, creating connection, comfort, and lasting memories.": "Cada momento é desenhado para ser sentido, criando ligação, conforto e memórias duradouras.", "A refined creative direction that reflects your story while carrying a distinctive signature.": "Uma direção criativa refinada que reflete a tua história, com uma assinatura distinta.", "Flawless execution delivered with precision, ease, and quiet sophistication.": "Execução impecável, entregue com precisão, leveza e sofisticação discreta.", "Your Story, With My Signature": "A Tua História, Com A Minha Assinatura", "To be a reference in luxury destination weddings in Portugal, creating signature experiences with the best in the industry.": "Ser uma referência em casamentos de destino de luxo em Portugal, criando experiências de assinatura com os melhores do setor.", "Let’s create together.": "Vamos criar juntos.", "Get in touch": "Fala connosco", "Let’s begin something.": "Vamos começar algo.", "Tell me about your vision. I approach each celebration with dedication, discretion, and a genuine commitment to creating something that feels entirely yours.": "Conta-me a tua visão. Abordo cada celebração com dedicação, discrição e um compromisso genuíno de criar algo que parece inteiramente teu.", "Planning & Creative Direction": "Planeamento e Direção Criativa", "Event Styling": "Event Styling", "The Guest Experience": "A Experiência do Convidado", "Your story is next.": "A tua história é a próxima.", "Tell me about your vision. I design celebrations that feel completely yours, from the first conversation to the last dance.": "Conta-me a tua visão. Desenho celebrações que parecem completamente tuas, da primeira conversa ao último baile."};var MANTRA_PT="Concebemos celebrações onde cada detalhe é visto e cada convidado o sente."; var I18SEL='.tws-nav__link,.tws-hero__label,.tws-hero__title,.tws-hero__essence,.tws-hero__cta,.tws-intro__eyebrow,.tws-intro__title,.tws-intro__text,.tws-stat__l,.tws-tagline__t,.tws-founder__quote,.tws-founder__body,.tws-founder__cert,.tws-ed__eye,.tws-ed__title,.tws-ed__all,.tws-arch__eye,.tws-arch__h,.tws-foot__pre-eye,.tws-foot__pre-h,.tws-foot__pre-link,.tws-foot__tag,.tws-foot__cols h4,.tws-foot__cols a,.tws-phead__eyebrow,.tws-phead__title,.tws-phead__sub,.tws-vals__eyebrow,.tws-vals__title,.tws-val__h,.tws-val__b,.tws-about-phil__title,.tws-srv__h,.tws-vision__t,.tws-cta__title,.tws-cta__body,.tws-cta__link,.tws-ct__eyebrow,.tws-ct__title,.tws-ct__body,.tws-fsec__t,.tws-fsec__d,.tws-form__l,.tws-fradio span,.tws-form__btn,.tws-srv__b'; function twsLang(lang){ document.querySelectorAll(I18SEL).forEach(function(el){ if(el.getAttribute('data-tws-o')===null||el.getAttribute('data-tws-o')===undefined){el.setAttribute('data-tws-o',el.innerHTML);} var o=el.getAttribute('data-tws-o');var k=o.trim(); if(lang==='pt'&&I18N[k]!==undefined){el.innerHTML=I18N[k];}else{el.innerHTML=o;} }); var mt=document.querySelector('.tws-mantra__t'); if(mt){if(!mt.getAttribute('data-tws-o'))mt.setAttribute('data-tws-o',mt.innerHTML); var txt=(lang==='pt')?MANTRA_PT:"Designing celebrations where every detail is seen, and every guest feels it."; mt.innerHTML=txt.split(' ').map(function(x){return ''+x+'';}).join(' '); if(window.gsap&&window.ScrollTrigger){gsap.set(mt.querySelectorAll('.w'),{opacity:1});} } document.documentElement.lang=lang; document.querySelectorAll('.tws-nav__lang').forEach(function(b){b.innerHTML='EN / PT';b.style.cursor='pointer';}); try{localStorage.setItem('tws-lang',lang);}catch(e){} } window.twsToggleLang=function(){var c='en';try{c=localStorage.getItem('tws-lang')||'en';}catch(e){}twsLang(c==='en'?'pt':'en');}; document.querySelectorAll('.tws-nav__lang').forEach(function(b){b.addEventListener('click',window.twsToggleLang);}); (function(){function _st(q,h){var e=D.querySelector(q);if(e)e.innerHTML=h;}_st('.tws-hero__title','Designed Around You.
Experienced by All.');_st('.tws-hero__essence','Destination Wedding Planner & Event Designer');var _hc=D.querySelector('.tws-hero__cta');if(_hc)_hc.setAttribute('href','/weddings');_st('.tws-tagline__t','Your Story,
With My Signature.');var _cf=D.querySelector('.tws-ct .tws-form form');if(_cf){_cf.innerHTML='
01

About You

Tell us a little about yourselves.

02

Your Celebration

Help us understand the vision for your wedding.

03

Your Vision

Every wedding begins with a feeling. Tell us about the experience you’d like to create — what inspires you, how you’d like your guests to feel, the atmosphere you love, and what matters most to you.

04

A Few Final Details

05

Anything Else?

If there’s anything you’d like us to know before we meet, we’d love to hear it.

';}_st('.tws-ct__title','Let’s Get to Know Each Other');_st('.tws-ct__body','We’re so pleased you’re here. Every celebration begins with a conversation — before our first meeting, we’d love to learn a little more about you, your story, and the wedding you’re dreaming of.');var _stl=function(q,i,h){var e=D.querySelectorAll(q)[i];if(e)e.innerHTML=h;};_st('.tws-intro__text','With nearly a decade of experience in full-service wedding planning and design, I create refined, deeply personal celebrations for couples choosing Portugal as their destination. Each event is thoughtfully curated, guided by a distinctive approach where my signature style meets the unique story of every couple — inspired by art, fashion, design, and the emotion of love itself.');D.querySelectorAll('.tws-founder__body').forEach(function(e){e.innerHTML='With a natural inclination toward aesthetics, organization, and human connection, I have built my career around creating meaningful experiences that go beyond the expected. With an international certification in wedding planning and event design from Vogue College of Fashion at Condé Nast College, I have curated weddings and multi-day celebrations for international couples across Portugal. This experience has shaped my understanding of both precision and emotion — two elements that come together seamlessly in every exceptional event.';});D.querySelectorAll('.tws-cta__title').forEach(function(e){if(/let.?s create together/i.test(e.textContent))e.innerHTML='Your Story, With My Signature.';});})();(function(){ var PPTH=location.pathname.replace(/\/+$/,'')||'/'; function txt(q,h){var e=D.querySelector(q);if(e)e.innerHTML=h;} var xcss=''/* movido para tws-theme.css */; var st2=D.createElement('style');st2.setAttribute('data-tws-x','pdf47');st2.textContent='';/* em tws-theme.css */D.head.appendChild(st2); D.querySelectorAll('.tws-nav__link').forEach(function(a){if(/^\s*journal\s*$/i.test(a.textContent))a.style.display='none';}); D.querySelectorAll('.tws-foot__tag').forEach(function(e){e.innerHTML='Designed around you. Experienced by all.';}); D.querySelectorAll('.tws-cta__title').forEach(function(e){if(/with my signature/i.test(e.textContent))e.innerHTML='Designed around you. Experienced by all.';}); txt('.tws-tagline__t','Designed around you.
Experienced by all.'); if(PPTH==='/'){ txt('.tws-intro__title','About Us'); var it=D.querySelector('.tws-intro__text'); if(it){it.innerHTML='Based in Portugal, we are a Wedding Planning and Event Design studio specializing in bespoke destination weddings and multi-day celebrations across Portugal, Spain, Italy, and Europe.'; if(!D.querySelector('.tws-knowmore')){var km=D.createElement('a');km.href='/about';km.className='tws-knowmore';km.innerHTML='Know more about us';it.parentElement.insertBefore(km,it.nextSibling);}} var KQ=[['You are absolutely amazing. Your creativity is just beyond. From the beginning we felt such a deep connection with you, and it made all the sense to have you planning and designing our big day. Our ceremony was just what we wanted, the dinner table was a dream.','L & D · Dubai'],['Working with Tatiana was one of the best decisions we made throughout our wedding planning journey. Incredibly responsive, exceptionally organized, and always one step ahead. Thanks to her, our wedding day exceeded every expectation.','S & G · California'],['Thank you for helping us with the best day of our lives. Your team was detail oriented and did an outstanding job. I could never plan a wedding and bring 60 guests from several countries without your help.','N & N · Italy'],['Our guests are still talking about how unforgettable the entire celebration was. A 3 day event that flowed seamlessly, elegant, exciting, and perfectly curated from beginning to end.','L & K · Chicago'],['We are still speechless. Thank you for understanding us so deeply and for seeing the things that matter to us. We feel so lucky to have had you not only as our planner but also as a friend on this journey.','T & A · California'],['From the very first design concepts to the final moments of our wedding day, Tatiana guided us with professionalism, creativity, and genuine care. She and her team are simply exceptional.','S & C · Italy'],['Thank you for everything. Such a professional and flawless execution. The decoration was beyond what we expected, and our guests took home a memorable experience thanks to your vision.','H & S · California'],['Her connections with exceptional vendors and her ability to bring together the right team made the entire planning process seamless. Our wedding day was more beautiful than we ever imagined.','S & A · New York']]; var cards='';KQ.forEach(function(q){cards+='

“'+q[0]+'”

'+q[1]+'
';}); var kh='
Kind Words · Love Notes
'+cards+cards+'
'; var er2=D.querySelector('.tws-ed-root');if(er2)er2.insertAdjacentHTML('beforeend',kh); } if(PPTH==='/weddings'){ txt('.tws-phead__sub','Each wedding is a distinct project, refined, deeply personal celebrations across Portugal.'); } if(false){/* conteudo de /services migrado para Webflow nativo (fx60) */ txt('.tws-phead__title','Wedding planning, Coordination,
Event Styling and more'); txt('.tws-phead__sub','Thoughtfully tailored wedding planning and event design services, allowing you to focus on celebrating while we take care of every detail.');var ps=D.querySelector('.tws-phead__sub');if(ps&&!D.querySelector('.tws-knowmore')){var km2=D.createElement('a');km2.href='/contact';km2.className='tws-knowmore';km2.innerHTML='Know more';ps.parentElement.insertBefore(km2,ps.nextSibling);} var items=D.querySelectorAll('.tws-srv__item'); if(items[2])items[2].parentNode.removeChild(items[2]); var hs=D.querySelectorAll('.tws-srv__h'),bs=D.querySelectorAll('.tws-srv__b'); if(hs[0])hs[0].innerHTML='Planning & Coordination'; if(bs[1])bs[1].innerHTML='A team dedicated to shaping the visual identity of your celebration with intention and refinement. Together, we develop a bespoke design concept through carefully curated mood boards, translating your vision into a cohesive aesthetic. From floral compositions to sourcing décor and custom-made details, every element is considered and aligned with your story. We liaise closely with trusted partners and manage all styling logistics, including technical visits, ensuring everything comes together seamlessly on the day.'; if(hs[2])hs[2].innerHTML='Our services at a glance'; if(bs[2]){var GL=[['Destination Wedding Planning','Seamless planning for weddings in Portugal and abroad.'],['Wedding Design & Styling','Bespoke event design, styling, and creative direction.'],['Wedding Day Coordination','Professional coordination to ensure everything runs flawlessly.'],['Venue & Vendor Sourcing','Curating the perfect venue and a trusted team of suppliers.'],['Guest Experience & Concierge','Travel, accommodation, transportation, and guest assistance.'],['Timeline & Logistics Management','Detailed planning and seamless event execution.'],['Budget Planning & Management','Strategic budget planning and supplier management.'],['Stationery & Wedding Branding','Custom invitations, signage, and wedding identity.'],['Floral & Tablescape Design','Elegant floral concepts and table styling in collaboration with some of our best partners.']];var lh='';bs[2].outerHTML=lh;} D.querySelectorAll('.tws-srv__n').forEach(function(n,i){n.textContent='0'+(i+1);}); } if(PPTH==='/about'){ txt('.tws-phead__title','About Us'); txt('.tws-phead__sub','Signature approach to destination weddings in Portugal'); txt('.tws-about-phil__title','A Wedding Planning & Event Design studio');var ve=D.querySelector('.tws-vals__eyebrow');if(ve)ve.innerHTML='Every celebration we create is designed around the couple and experienced by everyone who shares their day.'; var pb=D.querySelectorAll('.tws-about-phil__wrap > div p, .tws-about-phil__body p'); if(pb.length>=2){pb[0].innerHTML='Based in Portugal, we are a Wedding Planning and Event Design studio specializing in bespoke destination weddings and multi-day celebrations across Portugal, Spain, Italy, and Europe.';pb[1].innerHTML='We combine intentional design, meticulous planning, and timeless aesthetics to create celebrations that are effortlessly elegant and deeply personal. Every detail is thoughtfully curated to reflect your story, delivering unforgettable experiences for you and your guests alike.';} var vg=D.querySelector('.tws-vals__grid'); if(vg){var VW=['Designed.','Curated.','Experienced.','Unforgettable.','Artistic.','Immersive.'];var vh='';VW.forEach(function(w,i){vh+='
0'+(i+1)+'
'+w+'
';});vg.innerHTML=vh;} D.querySelectorAll('.tws-cta__body').forEach(function(e){if(/I approach each celebration/i.test(e.textContent))e.innerHTML='We approach each celebration with dedication, discretion, and a genuine passion for creating something truly meaningful. It is a privilege to transform ideas into experiences.';}); } var nv=D.querySelector('.tws-nav');if(nv&&!D.getElementById('tws-burger')){var bg=D.createElement('button');bg.id='tws-burger';bg.setAttribute('aria-label','Menu');bg.innerHTML='';var lg2=nv.querySelector('.tws-nav__lang');nv.insertBefore(bg,lg2?lg2.nextSibling:null);var mm=D.createElement('div');mm.id='tws-mmenu';var mh='';[['About','/about'],['Services','/services'],['Weddings','/weddings'],['Contact','/contact']].forEach(function(l){mh+=''+l[0]+'';});mh+='Get in touch';mm.innerHTML=mh;D.body.appendChild(mm);function mtg(o){var open=(o!==undefined)?o:!mm.classList.contains('open');mm.classList.toggle('open',open);bg.classList.toggle('open',open);D.documentElement.classList.toggle('tws-mm-open',open);}bg.addEventListener('click',function(){mtg();});mm.querySelectorAll('a').forEach(function(a){a.addEventListener('click',function(){mtg(false);});});mm.querySelector('.tws-mm-lang').addEventListener('click',function(){if(window.twsToggleLang)window.twsToggleLang();});} D.documentElement.classList.add('tws-lang-off');try{localStorage.setItem('tws-lang','en');}catch(e){}var CQ='https://cdn.prod.website-files.com/6a392d2422167b04aa3cb2d8/';if(PPTH==='/'){D.documentElement.classList.add('tws-min','tws-lite2');var her=D.querySelector('.tws-hero');if(her)her.style.display='none';var kb=D.querySelector('.tws-kind');if(kb)kb.style.display='none';var trio='

Designed Around You. Experienced by All.

'+'Tablescape'+'Ceremony'+'Couple'+'
';var er3=D.querySelector('.tws-ed-root');if(er3)er3.insertAdjacentHTML('afterbegin',trio);}if(PPTH==='/about'){D.documentElement.classList.add('tws-lite2');var ph2=D.querySelector('.tws-phead');if(ph2){ph2.classList.remove('tws-phead--img');ph2.classList.add('tws-phead--plain');ph2.style.backgroundImage='none';}var phil=D.querySelector('.tws-about-phil');if(phil){var av='
'+'

Based in Portugal, we are a Wedding Planning and Event Design studio specializing in bespoke destination weddings and multi-day celebrations across Portugal, Spain, Italy, and Europe.

'+'

We combine intentional design, meticulous planning, and timeless aesthetics to create celebrations that are effortlessly elegant and deeply personal. Every detail is thoughtfully curated to reflect your story, delivering unforgettable experiences for you and your guests alike.

'+'
'+'
'+''+''+'
';phil.insertAdjacentHTML('beforebegin',av);phil.style.display='none';}var fnd=D.querySelector('.tws-founder');if(fnd)fnd.style.display='none';var vid=D.querySelector('.w-background-video video')||D.querySelector('video');var slot=D.getElementById('tws-avid-slot');if(vid&&slot){var bv=vid.closest('.w-background-video')||vid;bv.style.position='relative';bv.style.height='auto';vid.muted=true;vid.loop=true;vid.autoplay=true;vid.setAttribute('playsinline','');slot.appendChild(bv);try{vid.play();}catch(e){}}var KQ2=[['You are absolutely amazing. Your creativity is just beyond. From the beginning we felt such a deep connection with you, and it made all the sense to have you planning and designing our big day. Our ceremony was just what we wanted, the dinner table was a dream.','L & D · Dubai'],['Working with Tatiana was one of the best decisions we made throughout our wedding planning journey. Incredibly responsive, exceptionally organized, and always one step ahead. Thanks to her, our wedding day exceeded every expectation.','S & G · California'],['Thank you for helping us with the best day of our lives. Your team was detail oriented and did an outstanding job. I could never plan a wedding and bring 60 guests from several countries without your help.','N & N · Italy'],['Our guests are still talking about how unforgettable the entire celebration was. A 3 day event that flowed seamlessly, elegant, exciting, and perfectly curated from beginning to end.','L & K · Chicago'],['We are still speechless. Thank you for understanding us so deeply and for seeing the things that matter to us. We feel so lucky to have had you not only as our planner but also as a friend on this journey.','T & A · California'],['From the very first design concepts to the final moments of our wedding day, Tatiana guided us with professionalism, creativity, and genuine care. She and her team are simply exceptional.','S & C · Italy'],['Thank you for everything. Such a professional and flawless execution. The decoration was beyond what we expected, and our guests took home a memorable experience thanks to your vision.','H & S · California'],['Her connections with exceptional vendors and her ability to bring together the right team made the entire planning process seamless. Our wedding day was more beautiful than we ever imagined.','S & A · New York']];var cards2='';KQ2.forEach(function(q){cards2+='

“'+q[0]+'”

'+q[1]+'
';});var kh2='
Kind Words · Love Notes
'+cards2+cards2+'
';var ct2=D.querySelector('.tws-cta');if(ct2)ct2.insertAdjacentHTML('afterend',kh2);else if(D.querySelector('.tws-foot'))D.querySelector('.tws-foot').insertAdjacentHTML('beforebegin',kh2);}if(PPTH==='/services'){var ph3=D.querySelector('.tws-phead');if(ph3){ph3.style.backgroundImage="linear-gradient(rgba(20,18,14,.18),rgba(20,18,14,.48)),url('"+CQ+"6a4c360ec994d844f5ef6377_660A3092.jpg')";}var srvS=D.querySelector('.tws-srv');if(srvS){srvS.insertAdjacentHTML('afterend','
'+''+''+'
');}}if(PPTH==='/weddings'){if(typeof ARCH!=='undefined'&&ARCH.length){var wimgs='';ARCH.slice(0,16).forEach(function(u){wimgs+='';});var wsec='
'+wimgs+wimgs+'
';var wl=D.querySelector('.tws-weds')||D.querySelector('.tws-cta');if(wl)wl.insertAdjacentHTML('beforebegin',wsec);else if(D.querySelector('.tws-foot'))D.querySelector('.tws-foot').insertAdjacentHTML('beforebegin',wsec);}} I18SEL+=',.tws-about-phil__body p,.tws-about-phil__wrap > div p,.tws-glance li,.tws-knowmore,.tws-kind__cta a'; var X={ 'Designed around you. Experienced by all.':'Desenhado para ti. Sentido por todos.', 'Designed around you.
Experienced by all.':'Desenhado para ti.
Sentido por todos.', 'About Us':'Sobre Nós', 'Signature approach to destination weddings in Portugal':'Uma abordagem de assinatura a casamentos de destino em Portugal', 'Based in Portugal, we are a Wedding Planning and Event Design studio specializing in bespoke destination weddings and multi-day celebrations across Portugal, Spain, Italy, and Europe.':'Sediados em Portugal, somos um estúdio de Wedding Planning e Event Design especializado em casamentos de destino à medida e celebrações de vários dias em Portugal, Espanha, Itália e por toda a Europa.', 'We combine intentional design, meticulous planning, and timeless aesthetics to create celebrations that are effortlessly elegant and deeply personal. Every detail is thoughtfully curated to reflect your story, delivering unforgettable experiences for you and your guests alike.':'Combinamos design intencional, planeamento meticuloso e uma estética intemporal para criar celebrações elegantes e profundamente pessoais. Cada detalhe é curado com cuidado para refletir a vossa história, criando experiências inesquecíveis para vós e para os vossos convidados.', 'Know more about us':'Conheçam-nos melhor', 'Wedding planning, Coordination,
Event Styling and more':'Wedding planning, Coordenação,
Event Styling e mais', 'Thoughtfully tailored wedding planning and event design services, allowing you to focus on celebrating while we take care of every detail.':'Serviços de wedding planning e event design à vossa medida, para que se concentrem em celebrar enquanto tratamos de cada detalhe.', 'Planning & Coordination':'Planeamento e Coordenação', 'Our services at a glance':'Os nossos serviços num relance', 'A team dedicated to shaping the visual identity of your celebration with intention and refinement. Together, we develop a bespoke design concept through carefully curated mood boards, translating your vision into a cohesive aesthetic. From floral compositions to sourcing décor and custom-made details, every element is considered and aligned with your story.':'Uma equipa dedicada a moldar a identidade visual da vossa celebração com intenção e requinte. Juntos, desenvolvemos um conceito de design à medida através de mood boards cuidadosamente curados, traduzindo a vossa visão numa estética coesa. Das composições florais ao décor e aos detalhes feitos à medida, cada elemento é pensado e alinhado com a vossa história.', 'Each wedding is a distinct project, refined, deeply personal celebrations across Portugal.':'Cada casamento é um projeto distinto, celebrações refinadas e profundamente pessoais por Portugal.', 'A Wedding Planning & Event Design studio':'Um estúdio de Wedding Planning e Event Design', 'Designed.':'Desenhado.','Curated.':'Curado.','Experienced.':'Vivido.','Unforgettable.':'Inesquecível.','Artistic.':'Artístico.','Immersive.':'Imersivo.', 'We approach each celebration with dedication, discretion, and a genuine passion for creating something truly meaningful. It is a privilege to transform ideas into experiences.':'Abordamos cada celebração com dedicação, discrição e uma paixão genuína por criar algo verdadeiramente significativo. É um privilégio transformar ideias em experiências.', 'Get in touch':'Fala connosco','Every celebration we create is designed around the couple and experienced by everyone who shares their day.':'Cada celebração que criamos é desenhada em torno do casal e vivida por todos os que partilham o seu dia.','Know more':'Saber mais' }; for(var k in X){I18N[k]=X[k];} })();(function(){var c='en';try{c=localStorage.getItem('tws-lang')||'en';}catch(e){}twsLang(c);})(); var prog=D.getElementById('tws-prog'); load("https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js") .then(function(){return load("https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js");}) .then(function(){return load("https://cdn.jsdelivr.net/npm/@studio-freight/lenis@1.0.42/dist/lenis.min.js");}) .then(init); function init(){ if(!window.gsap){D.querySelectorAll('.tws-rv,.tws-ir').forEach(function(e){e.style.opacity=1;e.style.clipPath='none';});return;} var reduce=matchMedia('(prefers-reduced-motion:reduce)').matches; gsap.registerPlugin(ScrollTrigger); if(window.Lenis&&!reduce){var le=new Lenis({lerp:0.08});function raf(t){le.raf(t);requestAnimationFrame(raf);}requestAnimationFrame(raf);le.on('scroll',ScrollTrigger.update);} ScrollTrigger.create({onUpdate:function(s){prog.style.transform='scaleX('+s.progress+')';}}); if(reduce)return; /* horizontal pin */ var track=D.querySelector('.tws-hz__track'),hz=D.querySelector('.tws-hz'); if(track&&hz&&innerWidth>991){gsap.to(track,{x:function(){return -(track.scrollWidth-innerWidth);},ease:'none',scrollTrigger:{trigger:hz,start:'top top',end:function(){return '+='+(track.scrollWidth-innerWidth);},scrub:1,pin:true,invalidateOnRefresh:true}});} /* generic reveals */ var rv=['.tws-phead__eyebrow','.tws-phead__title','.tws-phead__sub','.tws-intro__eyebrow','.tws-intro__title','.tws-intro__text','.tws-intro__stats','.tws-tagline__t','.tws-founder__text','.tws-jcard__body','.tws-srv__item','.tws-vals__title','.tws-val','.tws-vision__t','.tws-about-phil__title','.tws-about-phil__body','.tws-cta__wrap','.tws-ct__left','.tws-form','.tws-arch__hd','.tws-foot__pre','.tws-wstory p','.tws-wdh__c','.tws-adb p','.tws-adh__wrap','.tws-winfo']; D.querySelectorAll(rv.join(',')).forEach(function(el){el.classList.add('tws-rv');gsap.to(el,{opacity:1,y:0,duration:1.1,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 88%'}});gsap.from(el,{y:46,duration:1.1,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 88%'}});}); D.querySelectorAll('.tws-card__img,.tws-jcard__img,.tws-founder__media,.tws-wgal__grid img,.tws-adimg').forEach(function(el){el.classList.add('tws-ir');gsap.to(el,{clipPath:'inset(0 0 0% 0)',duration:1.3,ease:'power3.out',scrollTrigger:{trigger:el,start:'top 94%'}});}); /* mantra words */ var mt=D.querySelector('.tws-mantra__t');if(mt){gsap.to(mt.querySelectorAll('.w'),{opacity:1,stagger:0.06,ease:'none',scrollTrigger:{trigger:mt,start:'top 80%',end:'bottom 55%',scrub:true}});} /* hero parallax */ var hero=D.querySelector('.tws-hero');if(hero)gsap.to(hero,{backgroundPositionY:'72%',ease:'none',scrollTrigger:{trigger:hero,start:'top top',end:'bottom top',scrub:true}}); /* stat counters */ D.querySelectorAll('.tws-stat__n').forEach(function(el){var raw=el.textContent.trim();var m=raw.match(/(\d+)/);if(!m)return;var end=parseInt(m[1],10);var suf=raw.replace(/\d/g,'');var o={v:0};gsap.to(o,{v:end,duration:1.6,ease:'power2.out',scrollTrigger:{trigger:el,start:'top 92%'},onUpdate:function(){el.textContent=Math.round(o.v)+suf;}});}); var _ri;function _rf(){clearTimeout(_ri);_ri=setTimeout(function(){if(typeof le!=='undefined'&&le){try{le.resize();}catch(e){}}ScrollTrigger.refresh();},180);} Array.prototype.forEach.call(document.images,function(im){if(!im.complete){im.addEventListener('load',_rf);im.addEventListener('error',_rf);}}); window.addEventListener('load',_rf);setTimeout(_rf,1200);setTimeout(_rf,3000);setTimeout(_rf,6000); if(window.ResizeObserver){try{var _ro=new ResizeObserver(_rf);_ro.observe(document.body);var _ag=document.querySelector('.tws-arch__grid');if(_ag)_ro.observe(_ag);}catch(e){}} ScrollTrigger.refresh(); } }); /* ================= fx55 · correções do PDF "WEBSITE FEEDBACK" ================= */ dom(function(){ var P=(location.pathname||'/').replace(/\/+$/,'')||'/'; /* fx55·CSS */ var c55=''/* movido para tws-theme.css */; var s55=D.createElement('style');s55.setAttribute('data-tws-x','fx55');s55.textContent='';/* em tws-theme.css */D.head.appendChild(s55); /* 1 · Copy no plural — "é um estúdio agora. E somos uma equipa." (PDF p.2) Só em blocos editoriais; os testemunhos ficam intactos (são citações reais). */ var PL=[[/\bTell me\b/g,'Tell us'],[/\btell me\b/g,'tell us'], [/\bI design\b/g,'We design'],[/\bI approach\b/g,'We approach'], [/\bI shape\b/g,'We shape'],[/\bI create\b/g,'We create'], [/\bI curate\b/g,'We curate'],[/\bI build\b/g,'We build'], [/\bI have built\b/g,'We have built'],[/\bI have curated\b/g,'We have curated'], [/\bwith me\b/g,'with us'],[/\bMy\b/g,'Our'],[/\bmy\b/g,'our']]; var SEL='.tws-cta__body,.tws-cta__title,.tws-phead__sub,.tws-phead__title,' +'.tws-srv__b,.tws-srv__h,.tws-intro__text,.tws-tagline__t,.tws-tagline__b,' +'.tws-avid__txt p,.tws-founder__body,.tws-wintro,.tws-foot__tag'; D.querySelectorAll(SEL).forEach(function(e){ var h=e.innerHTML,o=h; PL.forEach(function(r){h=h.replace(r[0],r[1]);}); if(h!==o)e.innerHTML=h; }); /* 2 · O Journal fica: fora do menu de topo (PDF p.1), mantido no rodapé. O menu de topo já é construído sem ele, por isso não há nada a esconder aqui. */ /* 3 · "Sem títulos, só o nome do casal" (PDF p.5) — tirar a frase de autor da ficha */ var ws=D.querySelector('.tws-wstory');if(ws)ws.style.display='none'; /* 4 · About: só o vídeo ao lado do texto, alinhado pelo topo. A foto que aqui esteve por baixo do vídeo saiu — fica na fila de fotografias mais abaixo, ao lado da outra. */ if(P==='/about'){ var wr=D.querySelector('.tws-avid__wrap');if(wr)wr.classList.add('tws-avid__wrap--dual'); } /* 5 · "Your story, is next." — "Não gosto, eliminar" (PDF p.8) A faixa antes do rodapé, e o mesmo bloco sem copy nas fichas de casamento. Os CTA que têm texto próprio (weddings, services) ficam. */ var fp=D.querySelector('.tws-foot__pre');if(fp)fp.style.display='none'; D.querySelectorAll('.tws-cta').forEach(function(c){ var b=c.querySelector('.tws-cta__body'); if(!b||!b.textContent.trim())c.style.display='none'; }); /* 6b · "Team" no rodapé, a seguir ao About. Clona o link existente para herdar classes e estilo. */ (function(){ var fa=D.querySelector('.tws-foot a[href="/about"]'); if(fa&&!D.querySelector('.tws-foot a[href="/team"]')){ var cl=fa.cloneNode(true); cl.setAttribute('href','/team'); cl.textContent='Team'; fa.insertAdjacentElement('afterend',cl); } })(); /* 6 · "Sem slogan por baixo" do logo no rodapé (PDF p.9) */ var ft=D.querySelector('.tws-foot__tag');if(ft)ft.style.display='none'; /* 7 · Valores em composição tipográfica, sem numeração (PDF p.9) */ var vg=D.querySelector('.tws-vals__grid'); if(vg){ var VW=[['Designed,','a'],['curated,','b'],['Experienced,','c'], ['artistic,','d'],['Immersive,','e'],['unforgettable.','f']]; var vh='';VW.forEach(function(w){vh+=''+w[0]+'';}); vg.innerHTML=vh;vg.classList.add('tws-vals__grid--type'); } /* 10 · Página da equipa (/team) — "Team photos ... bastidores, a sua organização pode ser desorganizada, como uma galeria" (PDF p.2). Aproveita a rota do antigo Journal, que já não está ligada a lado nenhum. */ var TB=C2; var TEAM=[ ['a','img',TB+'6a70a8034fc8b0a6a8a70863_tws-team-03.jpg'], ['b','vid',TB+'6a70a8569cc1e90314c8b923_tws-bts-equipa.mp4'], ['c','img',TB+'6a70a80324e5af1647444c65_tws-team-01.jpg'], ['d','img',TB+'6a70a804802868b64b0aa3cd_tws-team-04.jpg'], ['e','img',TB+'6a70a8034fc8b0a6a8a7084e_tws-team-02.jpg'] ]; if(P==='/team'){ var ph=D.querySelector('.tws-phead'); if(ph){ph.classList.remove('tws-phead--img');ph.classList.add('tws-phead--plain');} var pt=D.querySelector('.tws-phead__title');if(pt)pt.innerHTML='More About Us'; var pe=D.querySelector('.tws-phead__eyebrow');if(pe)pe.textContent='TWS'; var ps=D.querySelector('.tws-phead__sub');if(ps)ps.style.display='none'; var jr=D.querySelector('.tws-jrnl'); if(jr&&!D.querySelector('.tws-team')){ var th='
'; TEAM.forEach(function(t){ th+='
'; th+= t[1]==='vid' ? '' : ''; th+='
'; }); th+='
'; jr.insertAdjacentHTML('beforebegin',th); jr.style.display='none'; var tv=D.querySelector('.tws-team video'); if(tv){tv.muted=true;try{tv.play();}catch(e){}} } } /* 11 · About: "More about us — link para aceder a mais informações sobre a equipa" (PDF p.2) */ if(P==='/about'){ var atx=D.querySelector('.tws-avid__txt'); if(atx&&!D.querySelector('.tws-knowus')){ var ku=D.createElement('div');ku.className='tws-knowus'; ku.innerHTML='Know more about us'; var av=D.querySelector('.tws-avid'); if(av)av.insertAdjacentElement('afterend',ku); } } /* 9 · Testemunhos: continuam a rodar sozinhos, param no hover e agora podem ser arrastados com o rato / dedo para ler qualquer um. */ (function(){ var tr=D.querySelector('.tws-kind__track'); if(!tr||!tr.parentNode||D.querySelector('.tws-kdrag'))return; var vp=D.createElement('div');vp.className='tws-kdrag'; tr.parentNode.insertBefore(vp,tr);vp.appendChild(tr); var auto=true,down=false,sx=0,sl=0,moved=false; function half(){return tr.scrollWidth/2;} function norm(x){var h=half();if(h<=0)return 0;while(x<0)x+=h;while(x>=h)x-=h;return x;} function step(){ if(auto&&!down){vp.scrollLeft=norm(vp.scrollLeft+0.55);} requestAnimationFrame(step); } function start(x,e){ down=true;moved=false;sx=x;sl=vp.scrollLeft;vp.classList.add('is-grab'); if(e&&e.pointerId!==undefined){try{vp.setPointerCapture(e.pointerId);}catch(err){}} } function move(x,e){ if(!down)return; if(Math.abs(x-sx)>2)moved=true; if(e&&e.cancelable)e.preventDefault(); vp.scrollLeft=norm(sl-(x-sx)); } function end(){down=false;vp.classList.remove('is-grab');} /* pointer e mouse: alguns contextos só entregam um dos dois */ vp.addEventListener('pointerenter',function(){auto=false;}); vp.addEventListener('mouseenter',function(){auto=false;}); vp.addEventListener('pointerleave',function(){auto=true;end();}); vp.addEventListener('mouseleave',function(){auto=true;end();}); vp.addEventListener('pointerdown',function(e){start(e.clientX,e);}); vp.addEventListener('mousedown',function(e){if(!down)start(e.clientX,null);}); vp.addEventListener('pointermove',function(e){move(e.clientX,e);}); vp.addEventListener('mousemove',function(e){if(down)move(e.clientX,e);}); ['pointerup','pointercancel','mouseup'].forEach(function(ev){ vp.addEventListener(ev,function(){end();}); }); D.addEventListener('mouseup',function(){end();}); /* um arrasto não deve disparar o link/lightbox por baixo */ vp.addEventListener('click',function(e){if(moved){e.preventDefault();e.stopPropagation();moved=false;}},true); requestAnimationFrame(step); })(); /* 8 · About: bloco em destaque "podem apagar / colocar FEEDBACK + botão get in touch" (PDF p.8) A ordem passa a ser: valores → GET IN TOUCH → KIND WORDS (PDF p.3) */ if(P==='/about'){ var ct=D.querySelector('.tws-cta'); if(ct){ ct.style.display='none'; var vs=D.querySelector('.tws-vals'); if(vs&&!D.querySelector('.tws-git-solo')){ var gt=D.createElement('div');gt.className='tws-git-solo'; gt.innerHTML='Get in touch'; vs.insertAdjacentElement('afterend',gt); } } } }); })();