window._wca = window._wca || [];
var breeze_prefetch = {"local_url":"https://duo.bz","ignore_remote_prefetch":"1","ignore_list":["/?wc-api=wc_facebook_get_feed_data&secret=e882ff6e0e6456562752e203175f3a99","/cart/","/checkout/","/my-account/","wp-admin","wp-login.php"]}; //# sourceURL=breeze-prefetch-js-extra
https://duo.bz/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://duo.bz/wp-includes/js/jquery/jquery.min.js
https://duo.bz/wp-includes/js/jquery/jquery-migrate.min.js
https://duo.bz/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js
var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://duo.bz/cart/","is_cart":"","cart_redirect_after_add":"no"}; //# sourceURL=wc-add-to-cart-js-extra
https://duo.bz/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js
https://duo.bz/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js
var wcpayAssets = {"url":"https://duo.bz/wp-content/plugins/woocommerce-payments/dist/"}; //# sourceURL=WCPAY_ASSETS-js-extra
https://duo.bz/wp-content/plugins/reactpress/public/js/reactpress-public.js
Skip to content
No results
  • 28 Days – done
  • 28 Days Hub
  • Cart
  • Checkout
  • Communication Page
  • Connection
  • Connection
  • Connection Hub 1
  • Connection Hub 2
  • DUO Product Target
  • DUO Protected & Private Content Pull
  • DUO React Component Library
  • DUO Site Audit (2026-08-08)
  • Foundation Page
  • Foundations Hub
  • Home 2
  • Home 3
  • Household
  • Household Hub
  • Household Page
  • join old
  • Login
  • My account
  • old home
  • Pillars
  • Privacy Policy
  • Refund and Returns Policy
  • Register
  • Repair & Transformation
  • Repair Page
  • Shop
  • The Compass
  • The Foundations
  • The Foundations Category
  • The Fundamentals
  • The Household
DUO for Couples

A comprehensive approach to help marriages thrive.

  • Book
  • Compass
  • Pillars
    • Household Page
    • Foundations
    • Connection
  • Repair
    • 28 Days
DUO for Couples

A comprehensive approach to help marriages thrive.

Copyright © 2026 - WordPress Theme by CreativeThemes

Stay Connected

Get our best marriage frameworks delivered weekly. Free.

(function(){ function showError(msg){ var root = document.getElementById("duo-household-root"); if(!root) return; root.innerHTML = '<div class="duo"><div class="duoError"><b>DUO Household failed to load.</b><div style="margin-top:8px;">' + (msg || 'Open DevTools Console for details.') + '</div><div style="margin-top:10px;">Most common WP fix: disable script deferral/minification for this page (UMD React needs order).</div></div></div>'; }try{ if(!window.React || !window.ReactDOM){ showError("React or ReactDOM is missing. Make sure the React UMD scripts are loading (not blocked/deferred)."); return; }var h = React.createElement; var useState = React.useState; var useMemo = React.useMemo; var useEffect = React.useEffect; var useRef = React.useRef;function cx(){ return Array.prototype.slice.call(arguments).filter(Boolean).join(" "); }var HUB_LINKS = [ { label: "Foundations", url: "https://duo.bz/f" }, { label: "Connection", url: "https://duo.bz/co" }, { label: "Household", url: "https://duo.bz/h" } ];var HOUSEHOLD_DISCLAIMER = "Household is where good intentions go to die if the system is broken. This module turns invisible load into visible structure—so your home becomes a team, not a courtroom. Deeper detail is in the book + companion pages; this hub is built for real-life use.";function makeConcepts(){ return [ { id: "mentalLoad", name: "Mental Load (Invisible Work)", oneLiner: "The hardest work in a home is often the work nobody sees—and that’s where resentment grows.", labels: ["Structure", "Fairness", "Stress"], concept: [ "Mental load is the invisible management layer of the home: noticing, planning, deciding, remembering, and monitoring.", "Two people can ‘do tasks’ while one person runs the entire operating system—and that imbalance feels like loneliness." ], experience: [ "You feel like the manager, not a partner.", "You carry it all in your head and still get asked, “Just tell me what to do."", "You’re exhausted, irritable, and less affectionate—not because you don’t love, but because you’re overloaded." ], research: [ "Grounded in household labor research describing cognitive labor and its unequal distribution.", "Load and chronic stress reduce patience, empathy, and desire—so the relationship feels colder even if love remains." ], why: [ "Unseen work becomes unappreciated work.", "Unappreciated work becomes contempt, withdrawal, and loss of desire." ], guidance: [ "Stop debating effort. Map ownership.", "Name the invisible stages (notice → plan → decide → execute → monitor).", "Choose one domain to fully transfer—not ‘help with.’" ], microStepsTonight: [ "Each list 5 invisible tasks you carried today. Don’t argue. Just listen.", "Pick ONE domain to assign an owner for 7 days." ], related: [ { ref: "domainOwnership", title: "Domain Ownership", desc: "Divide domains, not chores—ownership replaces ‘helping.’" }, { ref: "weeklyMeeting", title: "Weekly Meeting", desc: "Quarantine logistics so they don’t poison connection time." } ] },{ id: "domainOwnership", name: "Domain Ownership (Not Task Division)", oneLiner: "Division of chores creates a manager/employee home. Domain ownership creates a team.", labels: ["Structure", "Teamwork", "Clarity"], concept: [ "Instead of splitting chores, you assign full responsibility for a domain (e.g., laundry, meals, bills, school communication).", "The owner handles the full cycle: planning, standards, execution, follow-up." ], experience: [ "‘Helping’ still leaves one person thinking about everything.", "You fight about reminders, incomplete work, or different standards.", "One partner feels controlled; the other feels abandoned." ], research: [ "Behavioral systems principle: clear ownership reduces friction and repeated negotiation.", "Role clarity is a strong predictor of household satisfaction under stress." ], why: [ "Domain ownership removes the manager role—which is poison to romance.", "Competence rebuilds respect; respect protects desire." ], guidance: [ "Choose domains that actually matter (not symbolic chores).", "Agree on a minimum standard of care (definition of ‘done’).", "Let the owner do it their way; failure is education." ], microStepsTonight: [ "Pick 3 domains. Assign owners. Commit for 7 days before renegotiating." ], related: [ { ref: "minStandard", title: "Minimum Standard of Care", desc: "Define ‘done’ so standards don’t become wars." }, { ref: "managerResignation", title: "Manager Resignation", desc: "The overburdened partner must stop managing." } ] },{ id: "minStandard", name: "Minimum Standard of Care", oneLiner: "Most conflict isn’t about the task—it’s about what ‘done’ means.", labels: ["Structure", "Standards", "Peace"], concept: [ "Minimum standard of care is the shared definition of ‘done’ for each domain.", "It prevents resentment, rework, hovering, and silent contempt." ], experience: [ "You redo your partner’s work, then feel guilty—and angry.", "Your partner feels criticized and stops trying.", "Every request becomes a tone fight." ], research: [ "Conflict research consistently shows ambiguity and mismatched expectations drive escalation.", "Clear agreements reduce emotional interpretation and defensiveness." ], why: ["Clarity prevents the home from becoming a daily performance review."], guidance: [ "Pick 1 domain. Write 3 bullets for what ‘done’ means.", "Agree on acceptable—not perfect.", "Review weekly, not daily." ], microStepsTonight: [ "Choose one domain (kitchen, laundry, bedtime). Define ‘done’ in 2 minutes." ], related: [ { ref: "weeklyMeeting", title: "Weekly Meeting", desc: "The best place to renegotiate standards—calmly." } ] },{ id: "weeklyMeeting", name: "Weekly Meeting Protocol", oneLiner: "Your home needs a board meeting—so your marriage doesn’t become one.", labels: ["Structure", "Planning", "Protection"], concept: [ "A short weekly meeting prevents logistics from invading every evening.", "Format: Appreciation → Logistics → One problem (time-boxed)." ], experience: [ "You talk about chores and bills every day… and it kills romance.", "You avoid topics until they explode.", "You feel like roommates managing a project." ], research: [ "Time-boxing and structured agendas reduce conflict and increase follow-through.", "Rituals of connection + structure are protective under stress." ], why: [ "Contain the practical so it doesn’t contaminate connection.", "Predictability lowers tension for both partners." ], guidance: [ "Same day/time weekly. Short and consistent beats long and rare.", "End with one clear decision and one appreciation." ], microStepsTonight: [ "Schedule it now. Put it on the calendar. 30 minutes max." ], related: [ { ref: "domainOwnership", title: "Domain Ownership", desc: "Weekly meeting maintains domains without daily nagging." }, { ref: "sharedScreen", title: "Shared Screen (Data Together)", desc: "Look at facts side-by-side; stop courtroom fights." } ] },{ id: "managerResignation", name: "Manager Resignation", oneLiner: "If one partner is the manager, the marriage slowly becomes a job.", labels: ["Respect", "Boundaries", "Change"], concept: [ "Manager resignation means the overfunctioning partner stops running everything and allows the other partner to own and fail safely.", "This is not cruelty; it’s how competence is built." ], experience: [ "You feel trapped: if you don’t do it, it won’t happen.", "You’re resentful—and also afraid to let go.", "Your partner feels incompetent or policed." ], research: [ "System dynamics: overfunctioning creates underfunctioning.", "Competence grows when responsibility is real, not supervised." ], why: [ "You cannot desire someone you are parenting.", "Respect is rebuilt through demonstrated competence." ], guidance: [ "Resign one domain fully for 7 days.", "Allow ‘good enough’ without redoing.", "Review weekly, not in the moment." ], microStepsTonight: [ "Pick one domain to resign from. Say: “It’s yours. I will not manage it."" ], related: [ { ref: "competenceTrap", title: "Competence Trap", desc: "The more you rescue, the more you’re expected to rescue." }, { ref: "parasite", title: "Parasitic Dynamic", desc: "When one carries reality and the other lives in abstraction." } ] },{ id: "familyMyth", name: "Family Myth (The Story You Tell to Survive)", oneLiner: "Many couples build a story that makes imbalance feel ‘normal’—and it becomes a cage.", labels: ["Narrative", "Fairness", "Awareness"], concept: [ "A family myth is the story a couple tells themselves to reduce tension about an unfair system.", "It protects the relationship short-term but blocks real change long-term." ], experience: [ "You say, “It’s fine," but your body says it isn’t.", "You feel guilty for wanting fairness.", "You minimize your needs until resentment erupts." ], research: [ "Sociological work on household labor describes narrative strategies couples use to tolerate imbalance." ], why: ["If you never name the myth, you can’t redesign the system."], guidance: [ "Name the myth without blame: “Our story is ___."", "Replace it with a team story: “We’re building a fair system."" ], microStepsTonight: [ "Ask: “What story do we use to justify the current system?" Write it down." ], related: [ { ref: "mentalLoad", title: "Mental Load", desc: "The myth often forms to make invisible load bearable." } ] },/* Parenting */ { id: "uCurve", name: "Parenting Stress Test (U-Curve Drop)", oneLiner: "Kids don’t just add work—they reshape the marriage unless you protect it.", labels: ["Parenting", "Connection", "Protection"], concept: [ "Many couples experience a major satisfaction drop after children—not because love is gone, but because the system is overloaded and attention is redirected.", "This is normal—but it’s not harmless if ignored." ], experience: [ "You love your kids but miss your spouse.", "Everything is logistics; you rarely feel like lovers.", "You feel guilty wanting connection." ], research: [ "Longitudinal research often finds marital satisfaction declines after children for many couples.", "Stress spillover and sleep deprivation intensify conflict and reduce tenderness." ], why: [ "If you don’t protect the marriage, parenting becomes the default identity." ], guidance: [ "Build non-negotiable micro-rituals (2 minutes counts).", "Schedule a weekly reunion outside the house (even 30 minutes)." ], microStepsTonight: [ "Decide one micro-ritual you’ll protect daily (kiss, prayer, gratitude, 10-minute talk)." ], related: [ { ref: "weeklyReunion", title: "Weekly Reunion (Parents)", desc: "Leave the house together; no baby talk for a segment." }, { ref: "identityCalendar", title: "Identity Reclamation", desc: "Each partner gets protected non-parent time." } ] },{ id: "ghosts", name: "Ghosts in the Nursery (Old Pain Reactivated)", oneLiner: "Big parenting reactions are often old pain—showing up in a new room.", labels: ["Parenting", "Trauma", "Awareness"], concept: [ "Parenting can reactivate unresolved childhood experiences. You’re not ‘crazy’—your nervous system is re-running old code.", "Naming the trigger reduces shame and creates choice." ], experience: [ "Your reaction feels bigger than the moment.", "You feel flooded, angry, or helpless quickly.", "You repeat patterns you promised you’d never repeat." ], research: [ "Trauma and attachment models emphasize how unresolved experiences can reappear under caregiving stress." ], why: [ "If you treat it as attitude, you miss the real need: safety, repair, and support." ], guidance: [ "Use trigger-naming: “This is bigger than now."", "Ask: “What old fear is this touching?"", "Take a pause before you parent from panic." ], microStepsTonight: [ "Each name one parenting trigger and the fear underneath it." ], related: [ { ref: "triggerNaming", title: "Trigger-Naming Practice", desc: "A simple question that creates distance from old trauma." } ] },{ id: "triggerNaming", name: "Trigger-Naming Practice", oneLiner: "A single question that prevents you from parenting your spouse like a threat.", labels: ["Parenting", "Regulation", "Repair"], concept: [ "Practice: “Is my reaction bigger than this moment?" If yes, it’s likely old pain, not just current stress.", "Naming it turns a reflex into a choice." ], experience: [ "You escalate fast, then regret it later.", "You feel ashamed that small things set you off." ], research: [ "Metacognition and emotion regulation: naming emotions reduces intensity and improves decision-making." ], why: ["This prevents ‘old stories’ from hijacking the family tone."], guidance: [ "Name the trigger out loud calmly.", "Ask for a 10-minute regulation break.", "Return and speak the soft fear, not the hard accusation." ], microStepsTonight: [ "Agree on one phrase: “Bigger than now." Use it once this week." ], related: [ { ref: "weeklyMeeting", title: "Weekly Meeting", desc: "Use the meeting to adjust parenting load and support calmly." } ] },{ id: "gatekeeping", name: "Maternal Gatekeeping (Impossible Standards Loop)", oneLiner: "When one parent controls the standard, the other parent slowly disengages—and resentment grows.", labels: ["Parenting", "Fairness", "Teamwork"], concept: [ "Gatekeeping happens when one parent sets standards so high (or so specific) that the other cannot succeed.", "The result is polarization: one overfunctions, the other underfunctions." ], experience: [ "“He never helps" / “Nothing I do is good enough."", "You feel alone even when you’re both in the house.", "You can’t relax because you’re monitoring everything." ], research: [ "Family systems and parenting research describe how control dynamics reduce shared responsibility." ], why: ["Shared parenting requires shared authority—not just shared tasks."], guidance: [ "Decide what is safety-critical vs preference.", "Give real ownership: let the other parent do it their way.", "Praise competence, not perfection." ], microStepsTonight: [ "Choose one parenting domain to hand off fully for 7 days (bedtime, lunches, school email)." ], related: [ { ref: "domainOwnership", title: "Domain Ownership", desc: "Same principle, applied to parenting." } ] },{ id: "sleepCompromise", name: "Sleep Compromise (Fear-First)", oneLiner: "Most sleep fights are strategy fights hiding deeper fears.", labels: ["Parenting", "Negotiation", "Peace"], concept: [ "Instead of debating methods, identify the fear each parent is protecting: safety, bonding, independence, competence, exhaustion.", "Then build a hybrid plan that honors both fears." ], experience: [ "Every night becomes a battlefield.", "You feel judged, undermined, or alone.", "Sleep deprivation makes everything worse." ], research: [ "Problem-solving improves when couples identify underlying needs rather than debating surface strategies." ], why: ["Fear-first negotiation prevents contempt and creates teamwork."], guidance: [ "Name the core fear on each side.", "Pick a hybrid plan for 7 days.", "Review weekly, not nightly." ], microStepsTonight: [ "Each say: “My fear is ___." Then: “What would a hybrid look like?"" ], related: [ { ref: "weeklyMeeting", title: "Weekly Meeting", desc: "Weekly review keeps sleep from becoming nightly war." } ] },{ id: "weeklyReunion", name: "Weekly Reunion (Parents)", oneLiner: "If you never leave the house together, you eventually forget you’re a couple.", labels: ["Parenting", "Connection", "Protection"], concept: [ "A short weekly ritual outside the home: appreciation → reconnection (no kid talk) → one issue.", "It protects the couple identity under parenting pressure." ], experience: [ "You can’t remember the last time you felt like ‘us.’", "You love each other but feel distant." ], research: [ "Rituals of connection and protected couple time are repeatedly associated with higher relationship satisfaction." ], why: ["Your marriage is the emotional climate your kids learn love from."], guidance: [ "Start with 30 minutes. Consistency beats grand dates.", "No phone scrolling. No logistics for the first segment." ], microStepsTonight: [ "Schedule the reunion now (even a walk)." ], related: [ { ref: "uCurve", title: "Parenting Stress Test", desc: "Weekly reunion is a primary protection against drift." } ] },{ id: "identityCalendar", name: "Identity Reclamation (Non-Parent Time)", oneLiner: "When you lose yourself, you lose your capacity to love with joy.", labels: ["Parenting", "Energy", "Sustainability"], concept: [ "Each partner needs protected time that is not parenting and not productivity—so you can remain a whole person.", "This is maintenance, not selfishness." ], experience: [ "You feel numb, resentful, or emotionally flat.", "You don’t recognize yourself anymore." ], research: [ "Burnout research shows personal recovery time protects mental health and relational functioning." ], why: ["You can’t pour from an empty nervous system."], guidance: [ "Each partner gets 2 hours/week protected.", "Put it on the shared calendar; treat it like an appointment." ], microStepsTonight: [ "Pick each partner’s 2-hour block for next week." ], related: [ { ref: "portableBudget", title: "Dignity Budget", desc: "Small autonomy preserves humanity under pressure." } ] },/* Money */ { id: "bandwidthTax", name: "Bandwidth Tax (Scarcity Captures the Mind)", oneLiner: "Money stress doesn’t just stress you—it shrinks your brain’s capacity to love.", labels: ["Money", "Stress", "Crisis"], concept: [ "Scarcity creates tunneling: the urgent problem consumes attention, while everything else gets neglected.", "Under pressure, couples often become prosecutors instead of teammates." ], experience: [ "You fight about small purchases but feel it’s really about safety.", "You can’t think clearly; everything feels urgent." ], research: [ "Scarcity research shows reduced cognitive bandwidth under financial pressure." ], why: [ "Stress makes you less patient, less empathetic, and more reactive—so love feels harder." ], guidance: [ "Stop fighting without data. Look at the same numbers together.", "Use a short weekly money meeting to distribute the mental load." ], microStepsTonight: [ "Open accounts side-by-side for 10 minutes. No blame. Only facts." ], related: [ { ref: "moneyMeeting", title: "Weekly Money Meeting", desc: "Short, consistent meeting reduces panic fights." }, { ref: "sharedScreen", title: "Shared Screen", desc: "Change the geometry from adversarial to collaborative." } ] },{ id: "restrictorReliever", name: "Restrictor vs. Reliever", oneLiner: "Under stress, one clamps down; the other seeks relief. Both are survival strategies.", labels: ["Money", "Conflict", "Understanding"], concept: [ "Restrictor seeks control to feel safe. Reliever seeks small comfort to feel human.", "If you moralize it, you turn into enemies. If you understand it, you become a team." ], experience: [ "One says: “We can’t spend." The other says: “I can’t live like this."", "You interpret your spouse as irresponsible or controlling." ], research: [ "Stress response differences and coping strategies explain polarization under scarcity." ], why: ["Your spouse’s strategy is usually fear management, not malice."], guidance: [ "Name the fear on both sides.", "Use a dignity budget for non-negotiable autonomy." ], microStepsTonight: [ "Each complete: “When I restrict/relieve, I’m afraid of ___."" ], related: [ { ref: "dignityBudget", title: "Dignity Budget", desc: "Small weekly autonomy lowers war." } ] },{ id: "dignityBudget", name: "Dignity Budget", oneLiner: "A small ‘no-questions’ budget that prevents money stress from crushing the soul.", labels: ["Money", "Peace", "Sustainability"], concept: [ "A small weekly amount each person can spend without approval—protecting autonomy and dignity during pressure." ], experience: [ "Every purchase turns into a trial.", "You feel controlled or unsafe." ], research: [ "Autonomy is a core psychological need; deprivation increases conflict and covert behavior." ], why: ["A tiny pressure-release valve prevents bigger explosions."], guidance: [ "Keep it small. Keep it consistent.", "No interrogation. No sarcasm. No ‘gotcha.’" ], microStepsTonight: [ "Pick a weekly number you can both tolerate (even $10)." ], related: [ { ref: "restrictorReliever", title: "Restrictor vs. Reliever", desc: "The budget reduces polarization." } ] },{ id: "moneyMeeting", name: "Weekly Money Meeting", oneLiner: "Short weekly visibility prevents daily panic.", labels: ["Money", "Structure", "Teamwork"], concept: [ "A 30-minute weekly rhythm to review accounts, bills, and upcoming decisions calmly.", "Money meetings distribute the mental load and reduce suspicion." ], experience: [ "You avoid money until it explodes.", "You fight without knowing the real numbers." ], research: [ "Ritualized check-ins reduce uncertainty-driven conflict and improve follow-through." ], why: ["Visibility creates safety. Safety reduces aggression."], guidance: [ "Start with facts, then decisions.", "End with one appreciation to stop it feeling like punishment." ], microStepsTonight: [ "Schedule it now. Same day/time weekly." ], related: [ { ref: "decisionProtocol", title: "Financial Decision Protocol", desc: "Simple rules stop negotiation fatigue." } ] },{ id: "decisionProtocol", name: "Financial Decision Protocol", oneLiner: "When everything is negotiable, you fight all the time. Rules create peace.", labels: ["Money", "Clarity", "Boundaries"], concept: [ "A simple tiered decision rule reduces fatigue: small purchases don’t require debate; big ones require alignment." ], experience: [ "You relitigate every purchase.", "You feel policed or unsafe." ], research: [ "Decision fatigue increases conflict; clear rules reduce emotional negotiations." ], why: ["Rules protect the relationship from constant arbitration."], guidance: [ "Choose thresholds you can both accept.", "Use ‘two yeses, one no’ for irreversible big decisions." ], microStepsTonight: [ "Agree on 3 tiers: small / medium / big. Write it down." ], related: [ { ref: "twoYesOneNo", title: "Two Yeses, One No", desc: "For irreversible decisions, either can pause the plan." } ] },{ id: "islands", name: "Islands of Predictability", oneLiner: "In crisis, rituals are not cute—they’re survival.", labels: ["Crisis", "Stability", "Hope"], concept: [ "When life is unstable, small predictable rituals signal: “Not everything is taken."", "They preserve humanity and connection under pressure." ], experience: [ "Everything feels like survival; you stop touching, laughing, or connecting.", "You feel like the marriage is on pause—then it becomes the new normal." ], research: [ "Rituals and predictability reduce stress and increase relational security." ], why: ["Tiny predictable connection prevents total emotional collapse."], guidance: [ "Pick 1 daily ritual + 1 weekly ritual. Keep it realistic.", "Protect it even when you don’t feel like it." ], microStepsTonight: [ "Choose one 10-minute predictable ritual for the next 7 days." ], related: [ { ref: "brokeTogether", title: "Broke Together", desc: "Externalize the enemy: poverty/debt is the threat—not each other." } ] },{ id: "brokeTogether", name: "Broke Together (Externalize the Enemy)", oneLiner: "The debt is the enemy. Your spouse is your teammate.", labels: ["Money", "Crisis", "Covenant"], concept: [ "A framing shift: stop fighting each other and fight the problem side-by-side.", "It changes the geometry from adversarial to collaborative." ], experience: [ "You become prosecutors instead of partners.", "You feel alone in fear." ], research: [ "Externalizing the problem is a common evidence-informed therapeutic move: it reduces blame and increases teamwork." ], why: ["If you fight each other, the problem wins twice."], guidance: [ "Use ‘us vs. the problem’ language.", "Look at data together (shared screen)." ], microStepsTonight: [ "Say: “We are on the same side. The problem is the enemy."" ], related: [ { ref: "sharedScreen", title: "Shared Screen", desc: "Look at data together; stop courtroom fights." } ] },/* Parasitism */ { id: "parasite", name: "Parasitic Dynamic (One Carries Reality)", oneLiner: "When one partner carries the infrastructure, love becomes supervision—and desire dies.", labels: ["Respect", "Fairness", "Intimacy"], concept: [ "A parasitic dynamic forms when one partner consistently avoids adult responsibility and the other becomes the carrier of reality.", "The overfunctioner becomes a manager; the underfunctioner becomes a dependent." ], experience: [ "You feel like a parent, not a spouse.", "You can’t respect (or desire) someone you have to manage." ], research: [ "Family systems: overfunctioning/underfunctioning loops stabilize into roles unless disrupted." ], why: [ "Dependents are not erotic. Respect requires responsibility." ], guidance: [ "Resign one domain fully. Make responsibility real.", "Let failure teach. Don’t rescue." ], microStepsTonight: [ "Pick one domain for full transfer. Write what ownership includes." ], related: [ { ref: "competenceTrap", title: "Competence Trap", desc: "Being good at fixing makes you expected to fix." }, { ref: "barosPhortion", title: "Burdens vs. Loads", desc: "Support is love; carrying someone’s load forever is not." } ] },{ id: "competenceTrap", name: "Competence Trap", oneLiner: "The more you rescue, the more you’re required to rescue.", labels: ["Roles", "Resentment", "Change"], concept: [ "Competence creates expectation. Over time, competence becomes obligation.", "This cements the parasitic loop unless responsibility is redistributed." ], experience: [ "You’re exhausted and resentful, but also afraid to stop.", "Your spouse becomes helpless in areas they could learn." ], research: [ "System dynamics: reinforcing feedback loops lock patterns in place." ], why: ["Rescue feels loving short-term, but it often kills respect long-term."], guidance: [ "Stop rescuing one domain.", "Communicate the change clearly and calmly.", "Hold the boundary through discomfort." ], microStepsTonight: [ "Choose one rescue you will stop this week." ], related: [ { ref: "managerResignation", title: "Manager Resignation", desc: "Resign the role that keeps the loop alive." } ] },{ id: "barosPhortion", name: "Burdens vs. Loads", oneLiner: "Helping with a crisis is love. Carrying someone’s daily load forever is not.", labels: ["Support", "Boundaries", "Growth"], concept: [ "Healthy couples help each other with true burdens—but each adult carries their own load.", "Confusing these creates long-term resentment and disrespect." ], experience: [ "You can’t tell the difference between support and enablement.", "You feel guilty setting boundaries." ], research: [ "Boundary frameworks across relationship psychology emphasize clarity about responsibility." ], why: ["This distinction protects love from becoming parenting."], guidance: [ "Name which responsibilities are ‘load’ vs ‘burden.’", "Redistribute loads; support burdens temporarily." ], microStepsTonight: [ "Each list one ‘load’ you should own and one ‘burden’ you need help with this month." ], related: [ { ref: "parasite", title: "Parasitic Dynamic", desc: "This distinction is one of the fastest ways to diagnose it." } ] },/* Crisis / War Room */ { id: "sharedScreen", name: "Shared Screen (Data Together)", oneLiner: "Never fight about a problem without looking at the same data side-by-side.", labels: ["Crisis", "Money", "Teamwork"], concept: [ "Shared screen means you sit together and look at the facts: budget, calendar, to-do list, email, schedule.", "It physically changes the conflict geometry from face-to-face combat to side-by-side collaboration." ], experience: [ "You argue based on assumptions and memory.", "You don’t trust what’s real." ], research: [ "Collaboration and joint attention reduce blame and increase problem-solving effectiveness." ], why: ["Facts reduce paranoia. Side-by-side reduces hostility."], guidance: [ "Use shared screen for money, calendar, parenting logistics.", "No insults while looking at data. Only decisions." ], microStepsTonight: [ "Open your calendar together. Choose one stressful issue and decide one small next step." ], related: [ { ref: "triage72", title: "72-Hour Triage", desc: "Stop the bleeding first—then redesign." } ] },{ id: "triage72", name: "72-Hour Triage", oneLiner: "In crisis, don’t optimize—stabilize.", labels: ["Crisis", "Stability", "Decision"], concept: [ "A short crisis response window: audit truth → cut non-survival → no ‘I told you so.’", "The goal is to stop relational bleeding so you can think again." ], experience: [ "You’re drowning and blaming each other.", "Everything feels urgent, and nothing improves." ], research: [ "Crisis management principles: stabilize the system before attempting improvements." ], why: ["Without triage, couples burn the relationship trying to survive the situation."], guidance: [ "Put everything on the table (truth audit).", "Cancel what you can (ruthless cut).", "Amnesty clause: no punishment language for 72 hours." ], microStepsTonight: [ "Write the top 3 stressors. Choose one cut you can make within 48 hours." ], related: [ { ref: "ringTheory", title: "Ring Theory", desc: "Comfort flows in; stress flows out—protect the marriage." } ] },{ id: "ringTheory", name: "Ring Theory (Comfort In, Stress Out)", oneLiner: "Stop dumping stress into your spouse like they are your trash can.", labels: ["Crisis", "Support", "Boundaries"], concept: [ "In hardship, support moves inward toward the center; venting moves outward to wider circles.", "It protects the closest relationships from becoming the dumping ground." ], experience: [ "You both feel like the other is another problem to manage.", "Your home becomes emotionally unsafe." ], research: [ "Support-seeking research: appropriate targets for stress processing protect primary bonds." ], why: ["Your spouse should be your refuge, not your landfill."], guidance: [ "Identify ‘outer ring’ people/resources (friends, counselor, group).", "Comfort your spouse before you unload." ], microStepsTonight: [ "Name one outer-ring outlet you will use this week for stress." ], related: [ { ref: "islands", title: "Islands of Predictability", desc: "Protect small rituals so crisis doesn’t destroy connection." } ] },{ id: "twoYesOneNo", name: "Two Yeses, One No", oneLiner: "For irreversible decisions, either partner can pause the plan.", labels: ["Crisis", "Decision", "Respect"], concept: [ "If either partner says no to an irreversible decision, it pauses—forcing a third option instead of coercion.", "This preserves trust and dignity during high pressure." ], experience: [ "You feel steamrolled or trapped.", "Big decisions become power struggles." ], research: [ "Consent and autonomy are core trust factors; coercion corrodes long-term stability." ], why: ["You can’t build unity by forcing compliance."], guidance: [ "Use this only for irreversible choices (moves, large debt, major schooling).", "Then brainstorm third options." ], microStepsTonight: [ "Pick one decision that needs a third option. List 3 alternatives." ], related: [ { ref: "decisionProtocol", title: "Financial Decision Protocol", desc: "Rules reduce repeated negotiation wars." } ] } ]; }function SymptomFinder(props){ var items = [ { label: "I’m exhausted and carrying everything", target: "mentalLoad", path: "load" }, { label: "We fight about chores / standards constantly", target: "minStandard", path: "load" }, { label: "He/She ‘helps’ but I still manage", target: "domainOwnership", path: "load" }, { label: "We’re parents now and feel like roommates", target: "uCurve", path: "parenting" }, { label: "Sleep/bedtime is destroying us", target: "sleepCompromise", path: "parenting" }, { label: "Money stress makes us enemies", target: "bandwidthTax", path: "money" }, { label: "One of us clamps down, the other spends to cope", target: "restrictorReliever", path: "money" }, { label: "I feel like I’m parenting my spouse", target: "parasite", path: "roles" }, { label: "We’re in crisis and drowning", target: "triage72", path: "crisis" } ];return h("div", { className:"card p-4" }, h("div", { className:"sectionTitle" }, h("div", null, h("div", { className:"serif", style:{fontSize:18, fontWeight:800} }, "Symptom Finder"), h("div", { className:"sub", style:{marginTop:6} }, "Pick what’s true right now. We’ll open the right concept, then you’ll see a clean path of what to do next.") ), h("div", { className:"kbd" }, "Start here") ), h("div", { className:"divider" }), h("div", { className:"grid gap-2" }, items.map(function(it){ return h("button", { key: it.label, className: "btn btnPrimary", type: "button", style: { justifyContent:"flex-start" }, onClick: function(){ props.onPick(it.target, it.path); } }, it.label); }) ) ); }function Drawer(props){ useEffect(function(){ function onKey(e){ if(!props.open) return; if(e.key === "Escape") props.onClose(); } window.addEventListener("keydown", onKey); return function(){ window.removeEventListener("keydown", onKey); }; }, [props.open]);if(!props.open || !props.concept) return null; var c = props.concept;function stop(e){ e.stopPropagation(); }return h("div", { className:"drawerOverlay", onClick: props.onClose, role:"dialog", "aria-modal":"true" }, h("div", { className:"drawer", onClick: stop }, h("div", { className:"drawerInner" }, h("div", { className:"drawerTop" }, h("div", { style:{minWidth:0} }, h("div", { className:"drawerTitle" }, c.name), h("div", { className:"drawerLead" }, c.oneLiner), h("div", { className:"chipRow", style:{marginTop:10} }, (c.labels||[]).map(function(l){ return h("span", { className:"labelChip", key:l }, l); }) ) ), h("div", { style:{display:"flex", gap:8} }, h("button", { className:"btn btnGhost", type:"button", onClick: props.onClose }, "Close") ) ),h("div", { className:"drawerCols" }, h("div", { className:"panel" }, h("div", { className:"panelH" }, "Concept"), h("div", { className:"panelP" }, (c.concept||[]).map(function(p,i){ return h("div", { key:i, style:{marginTop:i?10:0} }, p); }) ), h("div", { className:"divider" }), h("div", { className:"panelH" }, "What it feels like in real life"), h("ul", { className:"bul" }, (c.experience||[]).map(function(x,i){ return h("li", { key:i }, x); }) ) ),h("div", { className:"panel" }, h("div", { className:"panelH" }, "Grounding (enough to trust this)"), h("ul", { className:"bul" }, (c.research||[]).map(function(x,i){ return h("li", { key:i }, x); }) ), h("div", { className:"divider" }), h("div", { className:"panelH" }, "Why this matters"), h("ul", { className:"bul" }, (c.why||[]).map(function(x,i){ return h("li", { key:i }, x); }) ) ) ),h("div", { className:"drawerCols" }, h("div", { className:"panel" }, h("div", { className:"panelH" }, "What to do next"), h("div", { className:"panelP soft" }, "Household change works best as one small, consistent redesign—repeatable and calm."), h("ul", { className:"bul" }, (c.guidance||[]).map(function(x,i){ return h("li", { key:i }, x); }) ), h("div", { className:"divider" }), h("div", { className:"panelH" }, "Try tonight"), h("ul", { className:"bul" }, (c.microStepsTonight||[]).map(function(x,i){ return h("li", { key:i }, x); }) ) ),h("div", { className:"panel" }, h("div", { className:"panelH" }, "Related concepts"), h("div", { style:{display:"grid", gap:10, marginTop:10} }, (c.related || []).map(function(r){ return h("div", { className:"relItem", key:r.ref }, h("div", { className:"relName" }, r.title), h("div", { className:"relDesc" }, r.desc), h("div", { className:"relAction" }, h("button", { className:"btn btnPrimary", type:"button", onClick:function(){ props.onOpenConcept(r.ref); } }, "Open") ) ); }) ) ) ),h("div", { className:"divider" }), h("div", { className:"footerLinks" }, h("span", { className:"pill" }, h("span", { className:"pillDot" }), "More on DUO:"), HUB_LINKS.map(function(l){ return h("a", { key:l.url, className:"duoLink", href:l.url, target:"_blank", rel:"noreferrer" }, l.label); }), h("span", { className:"soft" }, "•"), h("span", { className:"soft" }, "Deeper detail is in the book + companion pages.") ) ) ) ); }function SevenDayReset(props){ var days = [ { day: 1, title: "Map the Invisible Load", desc: "Turn resentment into visibility. No debate—just reveal reality.", open: "mentalLoad", tiny: "Each list 5 invisible tasks you carried today." }, { day: 2, title: "Assign One Domain Owner", desc: "Transfer one domain fully. Ownership replaces ‘helping.’", open: "domainOwnership", tiny: "Choose 1 domain and assign an owner for 7 days." }, { day: 3, title: "Define ‘Done’ (One Domain)", desc: "Agree on a minimum standard to stop recurring wars.", open: "minStandard", tiny: "Write 3 bullets: what ‘done’ means." }, { day: 4, title: "Schedule the Weekly Meeting", desc: "Quarantine logistics so they stop poisoning your evenings.", open: "weeklyMeeting", tiny: "Pick day/time. 30 minutes max." }, { day: 5, title: "Parenting Protection Step", desc: "Choose one couple ritual to protect under parenting load.", open: "uCurve", tiny: "Pick one daily micro-ritual for 7 days." }, { day: 6, title: "Money Visibility", desc: "Stop fighting without facts. Shared screen changes geometry.", open: "sharedScreen", tiny: "Open accounts/calendar side-by-side for 10 minutes." }, { day: 7, title: "Stop One Rescue", desc: "Break the competence trap. Boundaries rebuild respect.", open: "managerResignation", tiny: "Choose one rescue you will stop this week." } ];var doneCount = days.reduce(function(acc, d){ return acc + (props.done[d.day] ? 1 : 0); }, 0);return h("div", { className:"card p-4" }, h("div", { className:"sectionTitle" }, h("div", null, h("div", { className:"serif", style:{fontSize:18, fontWeight:800} }, "7-Day Household Reset"), h("div", { className:"sub", style:{marginTop:6} }, "Learn first, then run a small redesign. One change per day. Repeat what works.") ), h("div", { className:"pill" }, h("span", { className:"pillDot" }), doneCount + "/7 complete") ), h("div", { className:"divider" }), h("div", { className:"stripGrid" }, days.map(function(d){ var isDone = !!props.done[d.day]; return h("div", { className:"dayCard", key:d.day }, h("div", { className:"dayTop" }, h("div", { className:"dayNum" }, "Day " + d.day), h("div", { className:"checkPill" }, h("span", { className: cx("checkDot", isDone && "checkDotOn") }), "Done" ) ), h("div", { className:"dayTitle" }, d.title), h("div", { className:"dayDesc" }, d.desc), h("div", { className:"dayDesc", style:{marginTop:8} }, h("span", { className:"pill" }, h("span", { className:"pillDot" }), "Tonight: " + d.tiny) ), h("div", { className:"dayActions" }, h("button", { className:"btn btnPrimary", type:"button", onClick:function(){ props.onOpen(d.open); } }, "Open"), h("button", { className: cx("btn", isDone ? "btnSoft" : "btnGhost"), type:"button", onClick:function(){ props.onToggleDone(d.day); } }, isDone ? "Undo" : "Mark done") ) ); }) ), h("div", { className:"divider" }), h("div", { className:"sub" }, "Tip: Don’t add complexity. If you’re overwhelmed, repeat Day 2 + Day 4 weekly until the home feels calmer.") ); }function HouseholdApp(){ var concepts = useMemo(function(){ return makeConcepts(); }, []); var mapById = useMemo(function(){ var m = {}; concepts.forEach(function(c){ m[c.id] = c; }); return m; }, [concepts]);var _open = useState(null); var openId = _open[0]; var setOpenId = _open[1]; var _hl = useState(null); var highlightPath = _hl[0]; var setHighlightPath = _hl[1]; var _tab = useState("learn"); var activeTab = _tab[0]; var setActiveTab = _tab[1]; var _done = useState({}); var resetDone = _done[0]; var setResetDone = _done[1];function openConcept(id){ if(mapById[id]) setOpenId(id); } function close(){ setOpenId(null); } function toggleDone(day){ setResetDone(function(prev){ var next = Object.assign({}, prev); next[day] = !prev[day]; return next; }); }function onPick(conceptId, pathKey){ setHighlightPath(pathKey || null); setActiveTab("learn"); openConcept(conceptId); }var paths = [ { key: "load", title: "Path 1 — Load & Fairness (Stop the resentment machine)", lead: "If you feel like the manager, the only adult, or the one who remembers everything—start here.", tags: ["Mental Load", "Domains", "Standards"], steps: [ "Reveal invisible work (no debating—just visibility).", "Assign one domain owner (full cycle, not ‘helping’).", "Define ‘done’ so standards don’t become war.", "Maintain with a short weekly meeting." ], concepts: ["mentalLoad","domainOwnership","minStandard","weeklyMeeting","familyMyth","managerResignation"] }, { key: "roles", title: "Path 2 — Roles & Respect (Break the parenting-your-spouse loop)", lead: "If love feels like supervision and desire is fading, this is often the hidden cause.", tags: ["Parasitism", "Competence", "Boundaries"], steps: [ "Name the parasitic loop without shame.", "Stop one rescue; transfer one real responsibility.", "Let competence grow through real ownership.", "Rebuild respect through demonstrated adulthood." ], concepts: ["parasite","competenceTrap","managerResignation","barosPhortion","domainOwnership"] }, { key: "parenting", title: "Path 3 — Parenting Partnership (Protect the couple identity)", lead: "If parenting consumed the marriage and you feel like co-workers, start here.", tags: ["Rituals", "Triggers", "Authority"], steps: [ "Accept the parenting drop as normal—but not neutral.", "Add one protected couple ritual daily.", "Use trigger-naming to stop old pain from hijacking the home.", "Assign one parenting domain to reduce gatekeeping and resentment." ], concepts: ["uCurve","weeklyReunion","ghosts","triggerNaming","gatekeeping","sleepCompromise","identityCalendar"] }, { key: "money", title: "Path 4 — Money & Crisis (Become teammates under pressure)", lead: "If money stress turns you into enemies, you need visibility + rules + rituals.", tags: ["Scarcity", "Decisions", "Stability"], steps: [ "Stop fighting without data (shared screen).", "Weekly money meeting (short, consistent).", "Decision protocol (tiers reduce fatigue).", "Islands of predictability (rituals preserve humanity)." ], concepts: ["bandwidthTax","sharedScreen","moneyMeeting","decisionProtocol","restrictorReliever","dignityBudget","islands","brokeTogether","triage72","ringTheory","twoYesOneNo"] } ];function PathCard(p){ return h("div", { className:"pathCard", key:p.key }, h("div", { className:"pathTitle" }, p.title), h("div", { className:"pathLead" }, p.lead), h("div", { className:"chipRow", style:{marginTop:10} }, p.tags.map(function(t){ return h("span", { className:"labelChip", key:t }, t); })), h("ol", { className:"pathSteps" }, p.steps.map(function(s,i){ return h("li", { key:i }, s); })), h("div", { className:"conceptMiniGrid" }, p.concepts.map(function(cid){ var c = mapById[cid]; if(!c) return null; return h("div", { key:cid, className:"conceptMini" }, h("div", { className:"conceptMiniName" }, c.name), h("div", { className:"conceptMiniDesc" }, c.oneLiner), h("div", { className:"conceptMiniRow" }, h("span", { className:"pill" }, h("span", { className:"pillDot" }), (c.labels && c.labels[0]) ? c.labels[0] : "Household"), h("button", { className:"btn btnPrimary", type:"button", onClick:function(){ openConcept(cid); } }, "Open") ) ); }) ) ); }function LearnTab(){ return h("div", null, h("div", { className:"grid2" }, h(SymptomFinder, { onPick: onPick }), h("div", { className:"card p-4" }, h("div", { className:"serif", style:{fontSize:18, fontWeight:800} }, "How to use Household (simple)"), h("div", { className:"sub", style:{marginTop:6} }, "This is not a vocabulary list. It’s a redesign guide. Pick one path, open one concept, then do one small step tonight."), h("div", { className:"divider" }), h("ul", { className:"bul" }, h("li", null, h("b", null, "Pick a symptom"), " (start where it hurts)."), h("li", null, h("b", null, "Open one concept"), " to understand what’s really happening."), h("li", null, h("b", null, "Do the ‘Try tonight’ step"), " — stop while it’s doable."), h("li", null, h("b", null, "Repeat for 7 days"), " before adding more.") ), h("div", { className:"divider" }), h("div", { className:"sub" }, "Household problems are often not a love problem—they’re a systems problem. Fix the system and love gets easier.") ) ), h("div", { style:{height:14} }), h("div", { className:"card p-4" }, h("div", { className:"sectionTitle" }, h("div", null, h("div", { className:"serif", style:{fontSize:18, fontWeight:800} }, "Choose a redesign path"), h("div", { className:"sub", style:{marginTop:6} }, "Pick what matches your season. Open one concept, then take one step.") ), highlightPath ? h("div", { className:"pill" }, h("span", { className:"pillDot" }), "Highlighted by Symptom Finder") : h("div", { className:"pill" }, h("span", { className:"pillDot" }), "Start with one") ), h("div", { className:"divider" }), h("div", { className:"pathGrid" }, paths.map(function(p){ var glow = (highlightPath && highlightPath === p.key); return h("div", { key:p.key, style: glow ? {outline:"2px solid #e8d2b8", borderRadius:16} : null }, PathCard(p)); }) ) ) ); }function ResetTab(){ return h("div", null, h(SevenDayReset, { done: resetDone, onToggleDone: toggleDone, onOpen: openConcept }), h("div", { style:{height:14} }), h("div", { className:"card p-4" }, h("div", { className:"serif", style:{fontSize:18, fontWeight:800} }, "How to run the 7-Day Reset"), h("div", { className:"sub", style:{marginTop:6} }, "This is a small redesign sprint. If a day feels too big, repeat the prior day instead of quitting."), h("div", { className:"divider" }), h("ul", { className:"bul" }, h("li", null, h("b", null, "One change per day"), " for 10–25 minutes."), h("li", null, "Repeat Day 2 (domain ownership) weekly until the home feels calmer."), h("li", null, "If conflict escalates, stop midstream and return during the weekly meeting—don’t damage the bond.") ) ) ); }var openConceptObj = openId ? mapById[openId] : null;return h("div", { className:"duo" }, h("div", { className:"card p-4" }, h("div", { className:"sectionTitle" }, h("div", null, h("div", { className:"serif h1" }, "Household"), h("div", { className:"sub", style:{marginTop:10} }, "Household is the load-bearing wall of marriage: fairness, parenting partnership, money stewardship, and crisis teamwork. When the household system is broken, love starts feeling hard—even if love is real." ), h("div", { className:"tabsWrap" }, h("button", { className: cx("tabBtn", activeTab==="learn" && "tabActive"), type:"button", onClick:function(){ setActiveTab("learn"); } }, "Learn & Explore"), h("button", { className: cx("tabBtn", activeTab==="reset" && "tabActive"), type:"button", onClick:function(){ setActiveTab("reset"); } }, "7-Day Reset") ) ), h("div", { className:"footerLinks", style:{justifyContent:"flex-end"} }, HUB_LINKS.map(function(l){ return h("a", { key:l.url, className:"duoLink", href:l.url, target:"_blank", rel:"noreferrer" }, l.label); }) ) ), h("div", { className:"divider" }), h("div", { className:"sub" }, HOUSEHOLD_DISCLAIMER) ),h("div", { style:{height:14} }), (activeTab === "learn") ? LearnTab() : ResetTab(), h(Drawer, { open: !!openConceptObj, concept: openConceptObj, onClose: close, onOpenConcept: openConcept }) ); }var rootEl = document.getElementById("duo-household-root"); if(!rootEl){ showError("Root element #duo-household-root not found."); return; } var root = ReactDOM.createRoot(rootEl); root.render(h(HouseholdApp));}catch(err){ console.error(err); showError(err && err.message ? err.message : String(err)); } })();
document.addEventListener('DOMContentLoaded', function() { var buttons = document.querySelectorAll('.conversion-btn a, .conversion-btn'); buttons.forEach(function(btn) { btn.addEventListener('click', function(e) { e.preventDefault(); var url = this.getAttribute('href'); gtag_report_conversion(url); }); }); });
(function () { var c = document.body.className; c = c.replace(/woocommerce-no-js/, 'woocommerce-js'); document.body.className = c; })();
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_password_show":"Show password","i18n_password_hide":"Hide password"}; //# sourceURL=woocommerce-js-extra
https://duo.bz/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js
var redditAdsTrackingData = {"ajax_url":"https://duo.bz/wp-admin/admin-ajax.php","is_pixel_enabled":"1","is_conversion_enabled":"1","capi_nonce":"3e819d12cf","prefix":"reddit_for_woocommerce_","currency":"USD"}; //# sourceURL=reddit_tracking-js-extra
https://duo.bz/wp-content/plugins/reddit-for-woocommerce/js/build/tracking.js
window.redditAdsTrackingData = window.redditAdsTrackingData || {}; window.redditAdsTrackingData = Object.assign( window.redditAdsTrackingData, {"pixel_data":{"currency_minor_unit":2,"currency":"USD","products":[]},"PAGE_VIEW":true} ); //# sourceURL=reddit_tracking-js-after
var snapchatAdsTrackingData = {"ajax_url":"https://duo.bz/wp-admin/admin-ajax.php","is_pixel_enabled":"1","is_conversion_enabled":"1","capi_nonce":"3e819d12cf","prefix":"snapchat_for_woocommerce_","user_ip":"103.77.191.163"}; //# sourceURL=snapchat_tracking-js-extra
https://duo.bz/wp-content/plugins/snapchat-for-woocommerce/js/build/tracking.js
window.snapchatAdsTrackingData = window.snapchatAdsTrackingData || {}; window.snapchatAdsTrackingData = Object.assign( window.snapchatAdsTrackingData, {"pixel_data":{"currency_minor_unit":2,"currency":"USD","products":[]},"PAGE_VIEW":true} ); //# sourceURL=snapchat_tracking-js-after
var ct_localizations = {"ajax_url":"https://duo.bz/wp-admin/admin-ajax.php","public_url":"https://duo.bz/wp-content/themes/blocksy/static/bundle/","rest_url":"https://duo.bz/wp-json/","search_url":"https://duo.bz/search/QUERY_STRING/","show_more_text":"Show more","more_text":"More","search_live_results":"Search results","search_live_no_results":"No results","search_live_no_result":"No results","search_live_one_result":"You got %s result. Please press Tab to select it.","search_live_many_results":"You got %s results. Please press Tab to select one.","search_live_stock_status_texts":{"instock":"In stock","outofstock":"Out of stock"},"clipboard_copied":"Copied!","clipboard_failed":"Failed to Copy","expand_submenu":"Expand dropdown menu","collapse_submenu":"Collapse dropdown menu","dynamic_js_chunks":[{"id":"blocksy_sticky_header","selector":"header [data-sticky]","url":"https://duo.bz/wp-content/plugins/blocksy-companion/static/bundle/sticky.js?ver=2.1.35","version":"2.1.35"}],"dynamic_styles":{"lazy_load":"https://duo.bz/wp-content/themes/blocksy/static/bundle/non-critical-styles.min.css?ver=2.1.35","search_lazy":"https://duo.bz/wp-content/themes/blocksy/static/bundle/non-critical-search-styles.min.css?ver=2.1.35","back_to_top":"https://duo.bz/wp-content/themes/blocksy/static/bundle/back-to-top.min.css?ver=2.1.35"},"dynamic_styles_selectors":[{"selector":".ct-header-cart, #woo-cart-panel","url":"https://duo.bz/wp-content/themes/blocksy/static/bundle/cart-header-element-lazy.min.css?ver=2.1.35"},{"selector":".flexy","url":"https://duo.bz/wp-content/themes/blocksy/static/bundle/flexy.min.css?ver=2.1.35"},{"selector":"#account-modal","url":"https://duo.bz/wp-content/plugins/blocksy-companion/static/bundle/header-account-modal-lazy.min.css?ver=2.1.35"},{"selector":".ct-header-account","url":"https://duo.bz/wp-content/plugins/blocksy-companion/static/bundle/header-account-dropdown-lazy.min.css?ver=2.1.35"}],"login_generic_error_msg":"An unexpected error occurred. Please try again later."}; //# sourceURL=ct-scripts-js-extra
https://duo.bz/wp-content/themes/blocksy/static/bundle/main.js
https://duo.bz/wp-content/plugins/jetpack/jetpack_vendor/automattic/woocommerce-analytics/build/woocommerce-analytics-client.js
https://duo.bz/wp-content/plugins/breeze/assets/js/js-front-end/breeze-lazy-load.min.js
function breezeInitLazyLoad() { window.lazyLoadInstance = new LazyLoad({ elements_selector: ".br-lazy", data_src: "breeze", data_srcset: "brsrcset", data_sizes: "brsizes", class_loaded: "br-loaded", threshold: 300, }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", breezeInitLazyLoad); } else { breezeInitLazyLoad(); } //# sourceURL=breeze-lazy-js-after
https://duo.bz/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js
var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"base64":false,"ajaxurl":"https://duo.bz/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","utm_source_platform":"current.plt","utm_creative_format":"current.fmt","utm_marketing_tactic":"current.tct","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}}; //# sourceURL=wc-order-attribution-js-extra
https://duo.bz/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js
window._googlesitekit.wcdata = window._googlesitekit.wcdata || {}; window._googlesitekit.wcdata.products = []; window._googlesitekit.wcdata.add_to_cart = null; window._googlesitekit.wcdata.currency = "USD"; window._googlesitekit.wcdata.eventsToTrack = ["add_to_cart","purchase"]; //# sourceURL=googlesitekit-events-provider-woocommerce-js-before
https://duo.bz/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-woocommerce-454120fdf8df4537b59f.js
_stq = window._stq || []; _stq.push([ "view", {"v":"ext","blog":"252820655","post":"2803","tz":"0","srv":"duo.bz","j":"1:16.0.1"} ]); _stq.push([ "clickTrackerInit", "252820655", "2803" ]); //# sourceURL=jetpack-stats-js-before
(function(){ if(window.__duoEmailInit)return; window.__duoEmailInit=true; var U="https://afgmlkduuapquqkcqdsk.supabase.co"; var K="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFmZ21sa2R1dWFwcXVxa2NxZHNrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzgzNDA2NzYsImV4cCI6MjA5MzkxNjY3Nn0.-WQ34Jxy9CmI-SsQfcMNWPZi5AfZCzv9jZHDQ6ccEWc"; async function s(f,sr){ var e=f.querySelector("input[type=email]"),n=f.querySelector("input[name=duo_name]"),m=f.querySelector(".duo-msg"),b=f.querySelector("button"),em=e.value.trim(),nm=n?n.value.trim():""; if(!em||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(em)){if(m){m.textContent="Please enter a valid email.";m.style.display="block";m.style.color="#ef4444";}return;} if(b){b.disabled=true;if(!b.getAttribute("data-original"))b.setAttribute("data-original",b.textContent);b.textContent="Subscribing...";} try{ var r=await fetch(U+"/rest/v1/duo_subscribers",{method:"POST",headers:{"Content-Type":"application/json",apikey:K,Authorization:"Bearer "+K},body:JSON.stringify({email:em,name:nm||null,source:sr})}); if(r.ok){if(m){m.textContent="✓ Welcome to DUO!";m.style.display="block";m.style.color="#22c55e";}if(e)e.value="";if(n)n.value="";} else{var er=await r.json();if(er.code==="23505"){if(m){m.textContent="Already subscribed!";m.style.display="block";m.style.color="#22c55e";}}else{throw new Error(er.message||"Error");}} }catch(err){if(m){m.textContent=err.message||"Please try again.";m.style.display="block";m.style.color="#ef4444";}} finally{if(b){b.disabled=false;b.textContent=b.getAttribute("data-original")||"Subscribe";}} } document.addEventListener("DOMContentLoaded",function(){ document.querySelectorAll(".duo-email-form").forEach(function(f){ var sr=f.getAttribute("data-duo-source")||"website"; f.addEventListener("submit",function(e){e.preventDefault();s(f,sr);}); }); var ov=document.getElementById("duo-popup-overlay"); if(ov&&!sessionStorage.getItem("duo_popup_shown")){ setTimeout(function(){ov.style.display="flex";sessionStorage.setItem("duo_popup_shown","1");},8000); } var cb=document.getElementById("duo-popup-close"); if(cb){cb.addEventListener("click",function(){document.getElementById("duo-popup-overlay").style.display="none";});} if(ov){ov.addEventListener("click",function(e){if(e.target===ov)ov.style.display="none";});} }); })();
(function() { window.wcAnalytics = window.wcAnalytics || {}; const wcAnalytics = window.wcAnalytics;// Set the assets URL for webpack to find the split assets. wcAnalytics.assets_url = 'https://duo.bz/wp-content/plugins/jetpack/jetpack_vendor/automattic/woocommerce-analytics/src/../build/';// Set the REST API tracking endpoint URL. wcAnalytics.trackEndpoint = "https://duo.bz/wp-json/woocommerce-analytics/v1/track";// Set common properties for all events. wcAnalytics.commonProps = {"session_id":null,"landing_page":null,"is_engaged":null,"ui":0,"blog_id":252820655,"store_id":"4735d1d5-c7ab-4559-898b-2f4ef0eaef06","url":"https://duo.bz","woo_version":"10.6.1","wp_version":"7.0.3","store_admin":0,"device":"desktop","store_currency":"USD","timezone":"+00:00","is_guest":1,"_via_ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 13_6_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.139 Safari/537.36","_via_ip":"103.77.191.163","_lg":"","_dr":"","_dl":"https://duo.bz/ho2/","_via_ref":""};// Set the event queue. wcAnalytics.eventQueue = [];// Features. wcAnalytics.features = { ch: false, sessionTracking: false, proxy: false, };wcAnalytics.breadcrumbs = ["The Household"];// Page context flags. wcAnalytics.pages = { isAccountPage: false, isCart: false, }; })();
(function(){ if(window.__duoEmailInit)return; window.__duoEmailInit=true; var U="https://afgmlkduuapquqkcqdsk.supabase.co"; var K="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImFmZ21sa2R1dWFwcXVxa2NxZHNrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzgzNDA2NzYsImV4cCI6MjA5MzkxNjY3Nn0.-WQ34Jxy9CmI-SsQfcMNWPZi5AfZCzv9jZHDQ6ccEWc"; async function s(f,sr){ var e=f.querySelector("input[type=email]"),n=f.querySelector("input[name=duo_name]"),m=f.querySelector(".duo-msg"),b=f.querySelector("button"),em=e.value.trim(),nm=n?n.value.trim():""; if(!em||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(em)){if(m){m.textContent="Please enter a valid email.";m.style.display="block";m.style.color="#ef4444";}return;} if(b){b.disabled=true;if(!b.getAttribute("data-original"))b.setAttribute("data-original",b.textContent);b.textContent="Subscribing...";} try{ var r=await fetch(U+"/rest/v1/duo_subscribers",{method:"POST",headers:{"Content-Type":"application/json",apikey:K,Authorization:"Bearer "+K},body:JSON.stringify({email:em,name:nm||null,source:sr})}); if(r.ok){if(m){m.textContent="✓ Welcome to DUO!";m.style.display="block";m.style.color="#22c55e";}if(e)e.value="";if(n)n.value="";} else{var er=await r.json();if(er.code==="23505"){if(m){m.textContent="Already subscribed!";m.style.display="block";m.style.color="#22c55e";}}else{throw new Error(er.message||"Error");}} }catch(err){if(m){m.textContent=err.message||"Please try again.";m.style.display="block";m.style.color="#ef4444";}} finally{if(b){b.disabled=false;b.textContent=b.getAttribute("data-original")||"Subscribe";}} } document.addEventListener("DOMContentLoaded",function(){ document.querySelectorAll(".duo-email-form").forEach(function(f){ var sr=f.getAttribute("data-duo-source")||"website"; f.addEventListener("submit",function(e){e.preventDefault();s(f,sr);}); }); var ov=document.getElementById("duo-popup-overlay"); if(ov&&!sessionStorage.getItem("duo_popup_shown")){ setTimeout(function(){ov.style.display="flex";sessionStorage.setItem("duo_popup_shown","1");},8000); } var cb=document.getElementById("duo-popup-close"); if(cb){cb.addEventListener("click",function(){document.getElementById("duo-popup-overlay").style.display="none";});} if(ov){ov.addEventListener("click",function(e){if(e.target===ov)ov.style.display="none";});} }); })();

Stay Connected

Get our best marriage frameworks delivered weekly. Free.