{"id":7726,"date":"2025-10-20T13:21:13","date_gmt":"2025-10-20T13:21:13","guid":{"rendered":"https:\/\/twobirdsonestoned.co\/?page_id=7726"},"modified":"2025-10-21T12:09:01","modified_gmt":"2025-10-21T12:09:01","slug":"whos-typing-da-words","status":"publish","type":"page","link":"https:\/\/twobirdsonestoned.co\/nl\/whos-typing-da-words\/","title":{"rendered":"Who&#8217;s typing da words?"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7726\" class=\"elementor elementor-7726\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1098dc e-flex e-con-boxed e-con e-parent\" data-id=\"a1098dc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1485cea elementor-widget elementor-widget-html\" data-id=\"1485cea\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    \n    <!-- Primary Meta Tags -->\n    <title>Who's Typing Da Words - Two Birds One Stoned | Meet James<\/title>\n    <meta name=\"title\" content=\"Who's Typing Da Words - Two Birds One Stoned | Meet James\">\n    <meta name=\"description\" content=\"Meet James Gallagher, the voice behind Two Birds One Stoned. From Dublin tech to Australian cannabis education, this is the journey that shaped the platform.\">\n    <meta name=\"keywords\" content=\"James Gallagher, Two Birds One Stoned, cannabis education, founder story, cannabis advocate\">\n    <meta name=\"author\" content=\"James Gallagher\">\n    <meta name=\"robots\" content=\"index, follow\">\n    \n    <!-- Canonical URL -->\n    <link rel=\"canonical\" href=\"https:\/\/twobirdsonestoned.co\/who\/\">\n    \n    <!-- Favicon and Icons -->\n    <link rel=\"icon\" type=\"image\/x-icon\" href=\"\/favicon.ico\">\n    \n    <!-- Fonts -->\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;600;700&display=swap\" rel=\"stylesheet\">\n    \n    <style>\n        \/* Reset and base styles *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        html {\n            background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%);\n            width: 100%;\n            min-height: 100vh;\n            margin: 0;\n            padding: 0;\n            scroll-behavior: smooth;\n        }\n\n        body {\n            font-family: 'Montserrat', sans-serif;\n            background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%);\n            color: #fff;\n            width: 100%;\n            min-height: 100vh;\n            margin: 0;\n            padding: 0;\n            line-height: 1.6;\n        }\n\n        \/* VIDEO MODAL STYLES *\/\n        .video-modal {\n            display: none;\n            position: fixed;\n            z-index: 10000;\n            left: 0;\n            top: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.9);\n            backdrop-filter: blur(5px);\n        }\n\n        .video-modal-content {\n            position: relative;\n            margin: 2% auto;\n            width: 90%;\n            max-width: 800px;\n            height: 80vh;\n            max-height: 600px;\n            background: #1d1d1d;\n            border-radius: 15px;\n            border: 2px solid rgba(156,175,136,0.3);\n            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);\n            overflow: hidden;\n            display: flex;\n            flex-direction: column;\n        }\n\n        .video-modal-header {\n            padding: 1rem 1.5rem;\n            background: rgba(244, 197, 66, 0.1);\n            border-bottom: 1px solid rgba(156,175,136,0.3);\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n        }\n\n        .video-modal-title {\n            color: #F4C542;\n            font-size: 1.2rem;\n            font-weight: 600;\n            margin: 0;\n        }\n\n        .video-modal-close {\n            background: none;\n            border: none;\n            color: #fff;\n            font-size: 2rem;\n            cursor: pointer;\n            padding: 0;\n            width: 40px;\n            height: 40px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            border-radius: 50%;\n            transition: all 0.3s ease;\n        }\n\n        .video-modal-close:hover {\n            background: rgba(255, 255, 255, 0.1);\n            transform: rotate(90deg);\n        }\n\n        .video-container {\n            flex: 1;\n            position: relative;\n            background: #000;\n        }\n\n        .video-container iframe {\n            width: 100%;\n            height: 100%;\n            border: none;\n        }\n\n        \/* Light theme styles for modal *\/\n        .light-theme .video-modal-content {\n            background: #ffffff;\n            border: 2px solid #000000;\n        }\n\n        .light-theme .video-modal-header {\n            background: rgba(184, 134, 11, 0.1);\n            border-bottom: 1px solid #000000;\n        }\n\n        .light-theme .video-modal-title {\n            color: #B8860B;\n        }\n\n        .light-theme .video-modal-close {\n            color: #2A2A2A;\n        }\n\n        .light-theme .video-modal-close:hover {\n            background: rgba(0, 0, 0, 0.1);\n        }\n\n        \/* Video link styling *\/\n        .video-link {\n            color: #4CAF50;\n            text-decoration: underline;\n            cursor: pointer;\n            transition: color 0.3s ease;\n            font-weight: 500;\n        }\n\n        .video-link:hover {\n            color: #45a049;\n        }\n\n        .light-theme .video-link {\n            color: #B8860B;\n        }\n\n        .light-theme .video-link:hover {\n            color: #A0750A;\n        }\n\n        \/* PAGE SECTION *\/\n        .about-page {\n            background: transparent;\n            margin: 0;\n            min-height: 100vh;\n            width: 100%;\n            padding: 0;\n            position: relative;\n            padding-top: 150px;\n            padding-bottom: 4rem;\n        }\n\n        \/* Container *\/\n        .tbos-container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 0 2rem;\n            width: 100%;\n        }\n\n        \/* Title Section *\/\n        .title-container {\n            margin-bottom: 6rem;\n            text-align: center;\n            opacity: 0;\n            transform: translateY(-20px);\n            transition: all 0.8s ease;\n        }\n\n        .about-page .tbos-section-title {\n            font-family: 'Montserrat', sans-serif;\n            color: #ffffff;\n            word-break: break-word;\n        }\n\n        .page-subtitle {\n            font-size: clamp(12px, 2.5vw, 18px);\n            line-height: 1.4;\n            margin-bottom: 0;\n            margin-top: clamp(20px, 5vw, 30px);\n            text-align: center;\n            color: #E3E3DC;\n            opacity: 0.9;\n        }\n\n        \/* Content Cards *\/\n        .content-card {\n            background-color: #1d1d1d;\n            color: #fff;\n            padding: 2rem;\n            border-radius: 1rem;\n            border: 1px solid rgba(156,175,136,0.3);\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);\n            margin: 2rem auto;\n            max-width: 800px;\n            transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.6s ease;\n            overflow: hidden;\n            opacity: 0;\n            transform: translateY(30px);\n        }\n\n        .content-card.animate-in {\n            opacity: 1;\n            transform: translateY(0);\n        }\n\n        .content-card:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);\n        }\n\n        \/* Content Text *\/\n        .content-text {\n            font-size: 1rem;\n            line-height: 1.6;\n            color: #E3E3DC;\n            margin-bottom: 1.5rem;\n        }\n\n        .content-text:last-child {\n            margin-bottom: 0;\n        }\n\n        \/* Links *\/\n        .content-card a {\n            color: #4CAF50;\n            text-decoration: underline;\n            transition: color 0.3s ease;\n            font-weight: 500;\n        }\n\n        .content-card a:hover {\n            color: #45a049;\n        }\n\n        \/* Theme Toggle *\/\n        .theme-toggle {\n            text-align: center;\n            margin-top: 20px;\n        }\n\n        .theme-toggle button {\n            background: rgba(0,0,0,0.8);\n            border: 2px solid #4CAF50;\n            color: #4CAF50;\n            padding: clamp(8px, 2vw, 12px) clamp(15px, 4vw, 25px);\n            border-radius: 25px;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            font-size: clamp(16px, 3vw, 20px);\n            font-weight: bold;\n            font-family: 'Montserrat', sans-serif;\n        }\n\n        .theme-toggle button:hover {\n            background: rgba(76, 175, 80, 0.1);\n            transform: translateY(-2px);\n        }\n\n        \/* Content Break *\/\n        .content-break {\n            height: 3rem;\n            position: relative;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .content-break::before {\n            content: '';\n            width: 200px;\n            height: 2px;\n            background: linear-gradient(90deg, transparent, #F4C542, transparent);\n            border-radius: 1px;\n        }\n\n        \/* Enhanced Typography *\/\n        .content-text strong {\n            color: #F4C542;\n            font-weight: 600;\n        }\n\n        \/* CTA Button *\/\n        .cta-button {\n            display: inline-block;\n            background: linear-gradient(135deg, #4CAF50, #45a049);\n            color: #ffffff;\n            padding: 1.2rem 3.5rem;\n            border-radius: 50px;\n            text-decoration: none;\n            font-weight: 600;\n            font-size: 1.3rem;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);\n            border: none;\n            cursor: pointer;\n        }\n\n        .cta-button:hover {\n            transform: translateY(-3px) !important;\n            box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4) !important;\n            background: linear-gradient(135deg, #45a049, #3d8b40) !important;\n        }\n\n        \/* CTA Section *\/\n        .cta-section {\n            text-align: center;\n            margin: 4rem auto;\n            max-width: 950px;\n            padding: 2rem;\n        }\n\n        \/* Mobile Responsive *\/\n        @media (max-width: 768px) {\n            .tbos-container {\n                padding: 0 1rem;\n            }\n\n            .content-card {\n                padding: 1.5rem;\n                margin: 2rem auto;\n            }\n\n            .about-page {\n                padding-top: 150px;\n            }\n\n            .cta-button {\n                padding: 1rem 2.5rem;\n                font-size: 1.2rem;\n            }\n        }\n\n        @media (max-width: 480px) {\n            .video-modal-content {\n                margin: 10% auto;\n                width: 98%;\n                height: 60vh;\n                max-height: 400px;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <!-- Audio Elements (Hidden) -->\n    <div style=\"display: none;\">\n        <audio id=\"nightTimeAudio\" preload=\"auto\">\n            <source src=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Nighttime-Bird.mp3\" type=\"audio\/mpeg\">\n        <\/audio>\n        \n        <audio id=\"dayTimeAudio\" preload=\"auto\">\n            <source src=\"https:\/\/twobirdsonestoned.co\/wp-content\/uploads\/2025\/06\/Daytime-Bird-.mp3\" type=\"audio\/mpeg\">\n        <\/audio>\n    <\/div>\n\n    <!-- VIDEO MODAL -->\n    <div id=\"videoModal\" class=\"video-modal\">\n        <div class=\"video-modal-content\">\n            <div class=\"video-modal-header\">\n                <h3 id=\"videoModalTitle\" class=\"video-modal-title\">Aan het laden...<\/h3>\n                <button class=\"video-modal-close\" onclick=\"closeVideoModal()\">\u00d7<\/button>\n            <\/div>\n            <div class=\"video-container\">\n                <iframe id=\"videoIframe\" src=\"\" allowfullscreen><\/iframe>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <section class=\"about-page\">\n        <div class=\"tbos-container\">\n            <!-- Title Section -->\n            <div class=\"title-container\">\n                <h1 class=\"tbos-section-title translation-block\" style=\"font-size: clamp(28px, 8vw, 48px); font-weight: bold; margin: 0 0 25px 0; text-shadow: 2px 2px 8px rgba(0,0,0,0.8); line-height: 1.1; text-align: center; padding: 0; display: block; width: 100%; clear: both; background: none; border-radius: 0; box-shadow: none; max-width: none; margin-left: auto; margin-right: auto;\"><span>WIE<\/span> <span>TYPT<\/span> <span>DIT?<\/span><\/h1>\n                <p class=\"page-subtitle\">Eet je groenten<\/p>\n                \n                <!-- Theme Toggle -->\n                <div class=\"theme-toggle\">\n                    <button onclick=\"toggleThemeAndText()\" id=\"theme-toggle\">\ud83c\udf19<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Content Break -->\n            <div class=\"content-break\"><\/div>\n\n            <!-- Intro Section -->\n            <div class=\"content-card\">\n                <p class=\"content-text\"><span class=\"video-link\" onclick=\"openVideoModal('JBNHQzSl3GM', 'Ah me neck')\">Ah me neckkkkk<\/span>.<\/p>\n                <p class=\"content-text\">Dus hier ben ik, Bangkok, 20:25 op 20 oktober 2025, aan het typen in Google Docs. Een beetje een volle cirkel eigenlijk. Toen ik besloot mensen te gaan leren over het kruid, was Google Docs waar het allemaal begon. Zoveel gedoe om de website er uit te laten zien zoals ik wil, functioneel, video's zoals jij wilt, geschreven content bewerken enz enz. Ik zou echt kunnen doorratelen eerlijk maar dat doe ik niet.<\/p>\n                <p class=\"content-text\">Sinds gisteren was wat hieronder geschreven is bedoeld voor de 'Over' pagina. Vond gewoon niet dat het paste, het is persoonlijker, meer over de gast die de woorden typt :L Weet je nog sms'jes sturen met die erin hahaha :L :L :O<\/p>\n                <p class=\"content-text\">Anyway yea I didnt think it fit there so I've given it's own page. Easy to do when you figure out how to build the website. Shoutout Claude and its early coding capabilities. Everything feels like it's moving 100mph these days. It's really just a quick snapshot of what I've been doing for the last while. Not going to add or change things because I can't be arsed and been at this long enough. So yea, a bit about the person who built the first version of this website and what I've been at.<\/p>\n            <\/div>\n\n            <!-- The Journey Content -->\n            <div class=\"content-card\">\n                <p class=\"content-text\">Een heel snel overzicht: Ik groeide op in Ierland en had extreem veel geluk achteraf gezien. Financieel comfort, goede opleiding en een stabiel thuis. Er is niks meer dat iemand zou kunnen willen tijdens het opgroeien, hoewel het pas duidelijker wordt met de leeftijd.<\/p>\n                \n                <p class=\"content-text translation-block\">Tijdens mijn opgroeien speelde ik veel sport, voornamelijk <span class=\"video-link\">hurling<\/span> &amp; <span class=\"video-link\">Gaelic football<\/span>, hing ik rond met de jongens, quickscoped wat noobs, laveerde door het onderwijssysteem en ging de meeste weekenden drinken. Daarnaast heb ik waarschijnlijk ook een paar grenzen verlegd onderweg. Niets te geks, gewoon de gebruikelijke mix van goede tijden en lessen die bij opgroeien horen. Dat alles heeft waarschijnlijk gevormd hoe ik vandaag over dingen denk.<\/p>\n                \n                <p class=\"content-text\">Na mijn afstuderen aan de Universiteit van Limerick bracht ik mijn vroege carri\u00e8re door in de techscene van Dublin. Dankzij de belastingvoordelen van de Ierse regering werd de stad een magneet voor bedrijven zoals Google en voor mensen zoals ik, jacht makend op kansen. Een kort verkoopcontract daar veranderde in een paar bepalende jaren. Ik kreeg exposure die ik niet had kunnen plannen, en destijds voelde het leven alsof het op koers was.<\/p>\n                \n                <p class=\"content-text\">Toen deed het leven levensdingen. Na een periode van chaos, reflectie en dingen uitzoeken, had ik de liefde verloren voor alles wat ik in mijn leven deed. De brutale vraag: ging ik mijn hele carri\u00e8re opbouwen rond het verkopen van dingen die vrijwel niets voor me betekenden, alleen omdat het financi\u00eble zekerheid betekende? Die visie op mijn toekomst maakte me bang, dus het antwoord was nee.<\/p>\n                \n                <p class=\"content-text\">Ik wilde mijn interesses verkennen. Maar wat waren mijn interesses in vredesnaam?<\/p>\n                \n                <p class=\"content-text translation-block\">Nou, tijdens een wandeling in Dublin op een avond, rokend van een oude joint, kwam<strong style=\"font-weight: 600 !important\"> een extreem goed getimede<\/strong> <a href=\"https:\/\/open.spotify.com\/episode\/6ef7aaNiEm70KG8eWbnZVR?si=55800e7498804f1a\" target=\"_blank\">David McWilliams podcast<\/a> mijn kant op. Die specifieke podcast ontsteek iets in me, een richting om te gaan verkennen. Cannabis. Dus aan jou David, go raibh m\u00edle maith agat se\u00f1or.<\/p>\n                \n                <p class=\"content-text translation-block\">Niet lang nadat ik naar die podcast luisterde, stopte ik met mijn baan bij Google en bracht ik maanden door met reizen door Zuid- en Midden-Amerika. Ik kon plaatsen ervaren zoals Colombia, Nicaragua, Belize, Peru en Mexico, eerlijk gezegd zo'n interessant deel van de wereld. <a href=\"https:\/\/one-mans-thoughts.notion.site\/Quitting-my-job-Travelling-South-Central-America-Moving-to-Australia-3bdc5b5cce5d42adb028bcf5db3dad21\" target=\"_blank\">Ik heb een stuk geschreven over daarheen gaan<\/a> eerder en ik kan het niet genoeg aanraden. Herinneringen gemaakt met geweldige vrienden en willekeurige vreemden onderweg.<\/p>\n                \n                <p class=\"content-text\">Toen riep Australi\u00eb (zoals het doet bij de helft van Ierland). Ik eindigde met werken in de bouw, kettingzaag in \u00e9\u00e9n hand, drilboor in de andere (ben je ABN of TFN gast). Maar het andere deel van Australi\u00eb riep, dus kocht ik een 4x4, bouwde een bed achterin, en ging het platteland in. Dat was ook een ervaring op z'n zachtst gezegd.. Vier maanden erin viel ik stil in de outback en moest ik terugtrekken naar Sydney, staart tussen m'n benen. Die vernederende ervaring en tegenslag opende eigenlijk de deur naar Australi\u00eb's medische cannabis industrie. Dit is waar ik twee jaar doorbracht als een spons en gewoon zoveel mogelijk leerde.<\/p>\n                \n                <p class=\"content-text\">De afgelopen acht maanden ben ik door Azi\u00eb gereisd, laptop in de hand, remote werkend totdat ik recent de overstap maakte naar onafhankelijk consulting. Ik heb het geluk gehad om te wonen op plekken zoals China, Thailand en Vietnam. Onderweg speelde ik hurling in Hong Kong en Vietnam, en Gaelic football in Taiwan en Kuala Lumpur, blessures inbegrepen (schouder en rib, shoutout Asia GAA). Het is allemaal een beetje gek geweest eerlijk gezegd, realiserend wat er allemaal is. Ik kom hier op terug maar eerlijk, ga een tijdje in Azi\u00eb wonen. Je gemeenschappen zijn hier al, wachtend.<\/p>\n                \n                <p class=\"content-text\">Maar ja, dit alles verbindt de puntjes naar waar ik nu ben.<\/p>\n                \n                <p class=\"content-text\">Werken in de cannabiswereld opende mijn ogen. Ik zag hoeveel mensen cannabis gebruikten niet om te ontsnappen, maar om pijn, stress en ziekte te beheersen en hoe anderen het gebruikten om te vertragen, aanwezig te zijn en daadwerkelijk een beetje meer van het leven te genieten. Ik zag ook hoe weinig de bredere wereld erover begreep. De gesprekken waren ofwel te klinisch ofwel te stoner. Er was geen middenweg, geen ruimte voor eerlijke, evenwichtige discussies.<\/p>\n                \n                <p class=\"content-text\">Daar is deze site voor. Het gaat niet over je vertellen dat cannabis feilloos is of dat het een wondermiddel is. Ik ben hier om mensen een plek te geven om te leren, denken, vragen en misschien dingen een beetje anders te zien dan ze eerder deden.<\/p>\n            <\/div>\n\n            <!-- Go Exploring CTA -->\n            <div class=\"cta-section\">\n                <a href=\"https:\/\/twobirdsonestoned.co\/nl\" class=\"cta-button\">\n                    \ud83c\udf3f Ga Verkennen\n                <\/a>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <script>\n        \/\/ Track theme state\n        let isDarkTheme = true;\n\n        \/\/ VIDEO MODAL FUNCTIONS\n        function openVideoModal(videoId, title) {\n            const modal = document.getElementById('videoModal');\n            const iframe = document.getElementById('videoIframe');\n            const modalTitle = document.getElementById('videoModalTitle');\n            \n            modalTitle.textContent = title;\n            iframe.src = `https:\/\/www.youtube.com\/embed\/${videoId}?autoplay=1&rel=0&modestbranding=1`;\n            modal.style.display = 'block';\n            document.body.style.overflow = 'hidden';\n        }\n\n        function closeVideoModal() {\n            const modal = document.getElementById('videoModal');\n            const iframe = document.getElementById('videoIframe');\n            \n            iframe.src = '';\n            modal.style.display = 'none';\n            document.body.style.overflow = '';\n        }\n\n        window.onclick = function(event) {\n            const modal = document.getElementById('videoModal');\n            if (event.target === modal) {\n                closeVideoModal();\n            }\n        }\n\n        document.addEventListener('keydown', function(event) {\n            if (event.key === 'Escape') {\n                closeVideoModal();\n            }\n        });\n\n        function toggleThemeAndText() {\n            const button = document.getElementById('theme-toggle');\n            const currentEmoji = button.textContent.trim();\n            \n            if (currentEmoji === '\ud83c\udf19') {\n                button.textContent = '\u2600\ufe0f';\n                playAudio('dayTimeAudio');\n                isDarkTheme = false;\n            } else {\n                button.textContent = '\ud83c\udf19';\n                playAudio('nightTimeAudio');\n                isDarkTheme = true;\n            }\n            \n            toggleTheme();\n        }\n\n        function playAudio(audioId) {\n            const audio = document.getElementById(audioId);\n            \n            if (audio) {\n                audio.currentTime = 0;\n                const playPromise = audio.play();\n                \n                if (playPromise !== undefined) {\n                    playPromise.then(() => {\n                        console.log(`${audioId} played successfully`);\n                    }).catch(error => {\n                        console.log(`Audio play failed for ${audioId}:`, error);\n                        showVisualFeedback(audioId);\n                    });\n                }\n            }\n        }\n\n        function showVisualFeedback(audioId) {\n            const button = document.getElementById('theme-toggle');\n            const originalTransform = button.style.transform;\n            \n            button.style.transform = 'scale(1.1)';\n            button.style.transition = 'transform 0.1s ease';\n            \n            setTimeout(() => {\n                button.style.transform = originalTransform;\n                button.style.transition = 'all 0.3s ease';\n            }, 100);\n        }\n\n        function toggleTheme() {\n            const body = document.body;\n            const html = document.documentElement;\n            const contentCards = document.querySelectorAll('.content-card');\n            const title = document.querySelector('.tbos-section-title');\n            const subtitle = document.querySelector('.page-subtitle');\n            const toggleButton = document.getElementById('theme-toggle');\n            \n            \/\/ These elements don't exist on this page but keeping for consistency\n            const header = document.querySelector('.tbos-header');\n            const headerNavLinks = document.querySelectorAll('.tbos-nav a');\n            const headerSocialLinks = document.querySelectorAll('.tbos-socials a');\n            const dropdownContent = document.querySelectorAll('.dropdown-content');\n            const hamburgerLines = document.querySelectorAll('.hamburger-line');\n            \n            const mobileMenu = document.querySelector('.mobile-menu');\n            const mobileMenuLinks = document.querySelectorAll('.mobile-menu a');\n            const mobileSocialLinks = document.querySelectorAll('.mobile-socials a');\n            \n            const footerCardWrapper = document.querySelector('.footer-card-wrapper');\n            const footerTitle = document.querySelector('.footer-card h4');\n            const footerText = document.querySelectorAll('.footer-card p');\n            const footerLinks = document.querySelectorAll('.footer-bottom-row a');\n            const footerSocialLinks = document.querySelectorAll('.footer-social-group a');\n            \n            if (!isDarkTheme) {\n                \/\/ LIGHT THEME\n                console.log('Applying LIGHT theme');\n                \n                body.classList.add('light-theme');\n                \n                html.style.setProperty('background', 'linear-gradient(135deg, #f8f6f0 0%, #ede8d8 25%, #e5dcc9 50%, #ede8d8 75%, #f8f6f0 100%)', 'important');\n                body.style.setProperty('background', 'linear-gradient(135deg, #f8f6f0 0%, #ede8d8 25%, #e5dcc9 50%, #ede8d8 75%, #f8f6f0 100%)', 'important');\n                \n                html.style.setProperty('margin', '0', 'important');\n                html.style.setProperty('padding', '0', 'important');\n                body.style.setProperty('margin', '0', 'important');\n                body.style.setProperty('padding', '0', 'important');\n                html.style.setProperty('min-height', '100vh', 'important');\n                body.style.setProperty('min-height', '100vh', 'important');\n                \n                if (header) {\n                    header.style.setProperty('background', '#ffffff', 'important');\n                    header.style.setProperty('border', '2px solid #000000', 'important');\n                }\n                \n                headerNavLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                });\n                \n                headerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                });\n                \n                dropdownContent.forEach(dropdown => {\n                    dropdown.style.setProperty('background', '#ffffff', 'important');\n                    dropdown.style.setProperty('border', '2px solid #000000', 'important');\n                    \n                    const dropdownLinks = dropdown.querySelectorAll('a');\n                    dropdownLinks.forEach(link => {\n                        link.style.setProperty('color', '#2A2A2A', 'important');\n                    });\n                });\n                \n                hamburgerLines.forEach(line => {\n                    line.style.setProperty('background', '#2A2A2A', 'important');\n                });\n                \n                if (mobileMenu) {\n                    mobileMenu.style.setProperty('background', '#ffffff', 'important');\n                    mobileMenu.style.setProperty('border-left', '2px solid #000000', 'important');\n                }\n                \n                mobileMenuLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                    link.style.setProperty('border-bottom', '1px solid rgba(0, 0, 0, 0.1)', 'important');\n                });\n                \n                mobileSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#2A2A2A', 'important');\n                    link.style.setProperty('background', 'rgba(0, 0, 0, 0.05)', 'important');\n                });\n                \n                if (footerCardWrapper) {\n                    footerCardWrapper.style.setProperty('background', '#ffffff', 'important');\n                    footerCardWrapper.style.setProperty('border', '2px solid #000000', 'important');\n                }\n                \n                if (footerTitle) {\n                    footerTitle.style.setProperty('color', '#B8860B', 'important');\n                }\n                \n                footerText.forEach(text => {\n                    text.style.setProperty('color', '#1a1a1a', 'important');\n                    text.style.setProperty('font-weight', '500', 'important');\n                });\n                \n                footerLinks.forEach(link => {\n                    link.style.setProperty('color', '#000000', 'important');\n                });\n                \n                footerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                contentCards.forEach(card => {\n                    card.style.setProperty('background-color', '#ffffff', 'important');\n                    card.style.setProperty('border', '2px solid #000000', 'important');\n                    card.style.setProperty('color', '#2A2A2A', 'important');\n                    \n                    const texts = card.querySelectorAll('p, .content-text');\n                    texts.forEach(text => {\n                        text.style.setProperty('color', '#1a1a1a', 'important');\n                        text.style.setProperty('font-weight', '500', 'important');\n                    });\n                    \n                    const strongTexts = card.querySelectorAll('strong');\n                    strongTexts.forEach(strong => {\n                        strong.style.setProperty('color', '#000000', 'important');\n                        strong.style.setProperty('font-weight', '600', 'important');\n                    });\n                    \n                    const links = card.querySelectorAll('a');\n                    links.forEach(link => {\n                        link.style.setProperty('color', '#B8860B', 'important');\n                    });\n                    \n                    const videoLinks = card.querySelectorAll('.video-link');\n                    videoLinks.forEach(link => {\n                        link.style.setProperty('color', '#B8860B', 'important');\n                    });\n                });\n                \n                if (title) {\n                    title.style.setProperty('text-shadow', 'none', 'important');\n                    \n                    const spans = title.querySelectorAll('span');\n                    spans.forEach((span, index) => {\n                        if (index === 1) {\n                            span.style.setProperty('color', '#2A2A2A', 'important');\n                        } else {\n                            span.style.setProperty('color', '#B8860B', 'important');\n                        }\n                    });\n                }\n\n                if (subtitle) {\n                    subtitle.style.setProperty('color', '#000000', 'important');\n                    subtitle.style.setProperty('opacity', '1', 'important');\n                }\n\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                });\n                \n                if (toggleButton) {\n                    toggleButton.style.setProperty('background', '#ffffff', 'important');\n                    toggleButton.style.setProperty('border', '2px solid #B8860B', 'important');\n                    toggleButton.style.setProperty('color', '#B8860B', 'important');\n                }\n                \n            } else {\n                \/\/ DARK THEME\n                console.log('Applying DARK theme');\n                \n                body.classList.remove('light-theme');\n                \n                html.style.setProperty('background', 'linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%)', 'important');\n                body.style.setProperty('background', 'linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 25%, #2a2a2a 50%, #1a1a1a 75%, #0a0a0a 100%)', 'important');\n                \n                html.style.setProperty('margin', '0', 'important');\n                html.style.setProperty('padding', '0', 'important');\n                body.style.setProperty('margin', '0', 'important');\n                body.style.setProperty('padding', '0', 'important');\n                html.style.setProperty('min-height', '100vh', 'important');\n                body.style.setProperty('min-height', '100vh', 'important');\n                \n                if (header) {\n                    header.style.setProperty('background', '#1d1d1d', 'important');\n                    header.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                headerNavLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                });\n                \n                headerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                });\n                \n                dropdownContent.forEach(dropdown => {\n                    dropdown.style.setProperty('background', '#1d1d1d', 'important');\n                    dropdown.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                    \n                    const dropdownLinks = dropdown.querySelectorAll('a');\n                    dropdownLinks.forEach(link => {\n                        link.style.setProperty('color', '#f5ebd6', 'important');\n                    });\n                });\n                \n                hamburgerLines.forEach(line => {\n                    line.style.setProperty('background', '#f5ebd6', 'important');\n                });\n                \n                if (mobileMenu) {\n                    mobileMenu.style.setProperty('background', 'rgba(29, 29, 29, 0.98)', 'important');\n                    mobileMenu.style.setProperty('border-left', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                mobileMenuLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                    link.style.setProperty('border-bottom', '1px solid rgba(255, 255, 255, 0.1)', 'important');\n                });\n                \n                mobileSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#f5ebd6', 'important');\n                    link.style.setProperty('background', 'rgba(255, 255, 255, 0.05)', 'important');\n                });\n                \n                if (footerCardWrapper) {\n                    footerCardWrapper.style.setProperty('background', '#1d1d1d', 'important');\n                    footerCardWrapper.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                }\n                \n                if (footerTitle) {\n                    footerTitle.style.setProperty('color', '#F4C542', 'important');\n                }\n                \n                footerText.forEach(text => {\n                    text.style.setProperty('color', '#f5ebd6', 'important');\n                    text.style.setProperty('font-weight', '400', 'important');\n                });\n                \n                footerLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                footerSocialLinks.forEach(link => {\n                    link.style.setProperty('color', '#4CAF50', 'important');\n                });\n                \n                contentCards.forEach(card => {\n                    card.style.setProperty('background-color', '#1d1d1d', 'important');\n                    card.style.setProperty('border', '1px solid rgba(156,175,136,0.3)', 'important');\n                    card.style.setProperty('color', '#fff', 'important');\n                    \n                    const texts = card.querySelectorAll('p, .content-text');\n                    texts.forEach(text => {\n                        text.style.setProperty('color', '#E3E3DC', 'important');\n                        text.style.setProperty('font-weight', '400', 'important');\n                    });\n                    \n                    const strongTexts = card.querySelectorAll('strong');\n                    strongTexts.forEach(strong => {\n                        strong.style.setProperty('color', '#F4C542', 'important');\n                        strong.style.setProperty('font-weight', '600', 'important');\n                    });\n                    \n                    const links = card.querySelectorAll('a');\n                    links.forEach(link => {\n                        link.style.setProperty('color', '#4CAF50', 'important');\n                    });\n\n                    const videoLinks = card.querySelectorAll('.video-link');\n                    videoLinks.forEach(link => {\n                        link.style.setProperty('color', '#4CAF50', 'important');\n                    });\n                });\n                \n                if (title) {\n                    title.style.setProperty('text-shadow', '2px 2px 8px rgba(0,0,0,0.8)', 'important');\n                    \n                    const spans = title.querySelectorAll('span');\n                    spans.forEach((span, index) => {\n                        if (index === 1) {\n                            span.style.setProperty('color', '#F5EBD6', 'important');\n                        } else {\n                            span.style.setProperty('color', '#F4C542', 'important');\n                        }\n                    });\n                }\n\n                if (subtitle) {\n                    subtitle.style.setProperty('color', '#E3E3DC', 'important');\n                    subtitle.style.setProperty('opacity', '0.9', 'important');\n                }\n\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                });\n                \n                console.log('Applied dark theme CTA styling');\n                \n                if (toggleButton) {\n                    toggleButton.style.setProperty('background', 'rgba(0,0,0,0.8)', 'important');\n                    toggleButton.style.setProperty('border', '2px solid #4CAF50', 'important');\n                    toggleButton.style.setProperty('color', '#4CAF50', 'important');\n                }\n            }\n        }\n\n        \/\/ Initialize page\n        document.addEventListener('DOMContentLoaded', function() {\n            initializeAnimations();\n            toggleTheme();\n            \n            setTimeout(() => {\n                const ctaButtons = document.querySelectorAll('.cta-button');\n                ctaButtons.forEach(button => {\n                    button.style.setProperty('background', 'linear-gradient(135deg, #4CAF50, #45a049)', 'important');\n                    button.style.setProperty('color', '#FFFFFF', 'important');\n                    button.style.setProperty('box-shadow', '0 4px 15px rgba(76, 175, 80, 0.3)', 'important');\n                });\n            }, 100);\n        });\n\n        function initializeAnimations() {\n            setTimeout(() => {\n                const titleContainer = document.querySelector('.title-container');\n                if (titleContainer) {\n                    titleContainer.style.opacity = '1';\n                    titleContainer.style.transform = 'translateY(0)';\n                }\n            }, 200);\n\n            const observer = new IntersectionObserver((entries) => {\n                entries.forEach((entry, index) => {\n                    if (entry.isIntersecting) {\n                        setTimeout(() => {\n                            entry.target.classList.add('animate-in');\n                        }, index * 50);\n                        observer.unobserve(entry.target);\n                    }\n                });\n            }, {\n                threshold: 0.05,\n                rootMargin: '0px 0px -20px 0px'\n            });\n\n            const cards = document.querySelectorAll('.content-card');\n            cards.forEach(card => {\n                observer.observe(card);\n            });\n        }\n    <\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Who&#8217;s Typing Da Words &#8211; Two Birds One Stoned | Meet James Loading&#8230; &times; WHO&#8217;S TYPING DA WORDS? Eat your vegtables \ud83c\udf19 Ah me neckkkkk. So here I am, Bangkok, 8:25pm on the 20th of October 2025, typing away in Google Docs. Bit of a full circle moment really. When I first decided to start [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7726","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/pages\/7726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/comments?post=7726"}],"version-history":[{"count":42,"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/pages\/7726\/revisions"}],"predecessor-version":[{"id":7779,"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/pages\/7726\/revisions\/7779"}],"wp:attachment":[{"href":"https:\/\/twobirdsonestoned.co\/nl\/wp-json\/wp\/v2\/media?parent=7726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}