{"title":"Renovate","description":"\u003cp\u003eAdd serious value on a budget. Kitchen, bathroom, full-house reno playbooks and the tradie management system — everything to renovate smarter.\u003c\/p\u003e","products":[{"product_id":"the-bathroom-renovation-playbook","title":"The Bathroom Renovation Playbook","description":"\u003cdiv style=\"background-color: #f0f8ff; border-left: 4px solid #0066cc; padding: 15px; margin-bottom: 20px;\"\u003e\n\u003cp style=\"margin: 0; font-weight: bold;\"\u003e📧 Course Access via Email Only\u003c\/p\u003e\n\u003cp style=\"margin: 5px 0 0 0; font-size: 14px;\"\u003eYour course login link will be sent to your email address immediately after purchase. Please ensure you provide a valid email at checkout - SMS\/text delivery is not available.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ch1 data-start=\"152\" data-end=\"216\"\u003eYou're One Step Away From Running Your Bathroom Like a Builder\u003c\/h1\u003e\n\u003cp data-start=\"218\" data-end=\"247\"\u003eYou don't need another quote.\u003c\/p\u003e\n\u003cp data-start=\"249\" data-end=\"288\"\u003eYou don't need another Pinterest board.\u003c\/p\u003e\n\u003cp data-start=\"290\" data-end=\"309\"\u003eYou need structure.\u003c\/p\u003e\n\u003cp data-start=\"311\" data-end=\"348\"\u003eThis system shows you exactly how to:\u003c\/p\u003e\n\u003cp data-start=\"350\" data-end=\"598\"\u003e• Lock your budget before it drifts\u003cbr data-start=\"385\" data-end=\"388\"\u003e• Keep plumbing where it saves money\u003cbr data-start=\"424\" data-end=\"427\"\u003e• Buy products without paying markup\u003cbr data-start=\"463\" data-end=\"466\"\u003e• Hire licensed trades confidently\u003cbr data-start=\"500\" data-end=\"503\"\u003e• Sequence the job correctly\u003cbr data-start=\"531\" data-end=\"534\"\u003e• Stay compliant and insured\u003cbr data-start=\"562\" data-end=\"565\"\u003e• Close the renovation properly\u003c\/p\u003e\n\u003cp data-start=\"600\" data-end=\"637\"\u003eNo fluff. No filler. Just the system.\u003c\/p\u003e\n\u003chr data-start=\"639\" data-end=\"642\"\u003e\n\u003ch2 data-start=\"644\" data-end=\"666\"\u003eWhat You're Getting\u003c\/h2\u003e\n\u003cp data-start=\"668\" data-end=\"906\"\u003e✔ The Bathroom Renovation Playbook (step-by-step system)\u003cbr data-start=\"724\" data-end=\"727\"\u003e✔ Budget planner\u003cbr data-start=\"743\" data-end=\"746\"\u003e✔ Layout lock worksheet\u003cbr data-start=\"769\" data-end=\"772\"\u003e✔ Scope of works template\u003cbr data-start=\"797\" data-end=\"800\"\u003e✔ Trade comparison sheet\u003cbr data-start=\"824\" data-end=\"827\"\u003e✔ Timeline planner\u003cbr data-start=\"845\" data-end=\"848\"\u003e✔ Variation approval form\u003cbr data-start=\"873\" data-end=\"876\"\u003e✔ Final inspection checklist\u003c\/p\u003e\n\u003cp data-start=\"908\" data-end=\"945\"\u003eEverything in order. Nothing guessed.\u003c\/p\u003e\n\u003chr data-start=\"947\" data-end=\"950\"\u003e\n\u003ch2 data-start=\"952\" data-end=\"968\"\u003eThe Real Math\u003c\/h2\u003e\n\u003cp data-start=\"970\" data-end=\"1057\"\u003eMost fully managed bathroom renovations include \u003cstrong data-start=\"1018\" data-end=\"1037\"\u003e$10,000–$20,000\u003c\/strong\u003e in builder margins.\u003c\/p\u003e\n\u003cp data-start=\"1059\" data-end=\"1085\"\u003eThis system costs \u003cstrong data-start=\"1077\" data-end=\"1084\"\u003e$97\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp data-start=\"1087\" data-end=\"1195\"\u003eIf it helps you avoid just one unnecessary layout change or one poor variation decision, it pays for itself.\u003c\/p\u003e\n\u003chr data-start=\"1197\" data-end=\"1200\"\u003e\n\u003ch2 data-start=\"1202\" data-end=\"1219\"\u003eCalm Guarantee\u003c\/h2\u003e\n\u003cp data-start=\"1221\" data-end=\"1373\"\u003eIf you go through the course and decide it's not clear, structured, or useful for your renovation, email within 7 days and you'll receive a full refund.\u003c\/p\u003e\n\u003cp data-start=\"1375\" data-end=\"1404\"\u003eNo arguments. No awkwardness.\u003c\/p\u003e\n\u003cp data-start=\"1406\" data-end=\"1453\"\u003eThis is about giving you clarity, not pressure.\u003c\/p\u003e\n\u003chr data-start=\"1455\" data-end=\"1458\"\u003e\n\u003ch2 data-start=\"1460\" data-end=\"1477\"\u003ePricing Anchor\u003c\/h2\u003e\n\u003cp data-start=\"1479\" data-end=\"1525\"\u003eBuilder project management costs five figures.\u003c\/p\u003e\n\u003cp data-start=\"1527\" data-end=\"1560\"\u003eThis course is currently \u003cstrong data-start=\"1552\" data-end=\"1559\"\u003e$97\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp data-start=\"1562\" data-end=\"1626\"\u003eIt will increase as more case studies and refinements are added.\u003c\/p\u003e\n\u003cp data-start=\"1628\" data-end=\"1717\"\u003eIf you're planning a renovation within the next 12 months, this is the lowest it will be.\u003c\/p\u003e\n\u003chr data-start=\"1719\" data-end=\"1722\"\u003e\n\u003ch2 data-start=\"1724\" data-end=\"1743\"\u003eBefore You Click\u003c\/h2\u003e\n\u003cp data-start=\"1745\" data-end=\"1874\"\u003eIf you want someone else to handle everything and you never want to think about sequencing or budget control, this isn't for you.\u003c\/p\u003e\n\u003cp data-start=\"1876\" data-end=\"1972\"\u003eIf you want to understand the structure behind the number and keep control of your money, it is.\u003c\/p\u003e\n\u003chr data-start=\"1974\" data-end=\"1977\"\u003e\n\u003ch2 data-start=\"1979\" data-end=\"1992\"\u003eFinal Step\u003c\/h2\u003e\n\u003cp data-start=\"1994\" data-end=\"2057\"\u003eRenovations get expensive when decisions are made out of order.\u003c\/p\u003e\n\u003cp data-start=\"2059\" data-end=\"2100\"\u003eYou now have a system that prevents that.\u003c\/p\u003e\n\u003cp data-start=\"2102\" data-end=\"2140\"\u003eTake control before demolition starts.\u003c\/p\u003e\n\u003cp data-start=\"2142\" data-end=\"2176\"\u003e\u003cstrong data-start=\"2142\" data-end=\"2176\"\u003e[ Complete My Purchase – $97 ]\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-start=\"2142\" data-end=\"2176\"\u003e \u003c\/p\u003e\n\u003cp data-start=\"2142\" data-end=\"2176\"\u003e \u003c\/p\u003e\n\u003cp class=\"p1\"\u003e \u003c\/p\u003e\n\u003ch2\u003e\u003cspan class=\"s1\"\u003eLegal Disclaimer\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eThe Bathroom Renovation Playbook is an educational resource only.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eThe information provided in this course is for general guidance and informational purposes. It does not constitute building, legal, financial, engineering, or professional advice.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eRenovation laws, building codes, waterproofing requirements, plumbing regulations, and electrical regulations vary by state, territory, and local council. It is your responsibility to ensure all work carried out complies with applicable laws, Australian Standards, and licensing requirements in your area.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eAny building, plumbing, waterproofing, or electrical work must be completed by appropriately licensed and qualified professionals where required by law.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eThe author and publisher of this course are not responsible for:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003e• Any loss, damage, or injury resulting from the use of this information\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003e• Cost overruns, construction defects, or workmanship issues\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003e• Decisions made by you based on the content\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003e• Reliance on outdated pricing, supplier information, or regulations\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eAll renovation projects carry financial and construction risk. You acknowledge that you are undertaking any renovation at your own risk.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eBy purchasing or using this course, you agree that the author and publisher are not liable for any direct, indirect, incidental, or consequential damages arising from the use of this material.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s2\"\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e\u003cspan class=\"s2\"\u003eAlways seek independent professional advice before commencing renovation work.\u003c\/span\u003e\u003c\/p\u003e","brand":"Flipping Aussies","offers":[{"title":"Default Title","offer_id":45854493769962,"sku":null,"price":97.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/bathroom_reno_playbook.png?v=1775799549"},{"product_id":"the-kitchen-reno-playbook-product","title":"The Kitchen Reno Playbook","description":"\u003cdiv style=\"max-width:100%;overflow:hidden;font-family:inherit;color:#2C2420;\"\u003e\n\n\u003cdiv style=\"text-align:center;padding:20px 0;border-bottom:1px solid #eee;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/IMG_1915.jpg?v=1774915169\" alt=\"Testimonial\" style=\"max-width:100%;border-radius:8px;\"\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"text-align:center;padding:20px 0;border-bottom:1px solid #eee;\"\u003e\n\u003cp style=\"font-size:20px;font-weight:900;margin:0 0 4px;\"\u003eWe spent $9K on this kitchen.\u003c\/p\u003e\n\u003cp style=\"font-size:16px;color:#B8975A;font-weight:800;margin:0 0 16px;\"\u003eAdded $60K to the sale price.\u003c\/p\u003e\n\u003cdiv style=\"display:flex;gap:8px;\"\u003e\n\u003cdiv style=\"flex:1;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/4.jpg?v=1775426604\" alt=\"Before\" style=\"width:100%;border-radius:8px;\"\u003e\u003cp style=\"font-size:11px;color:#999;margin-top:4px;\"\u003eBefore\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex:1;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/3.jpg?v=1775426603\" alt=\"After\" style=\"width:100%;border-radius:8px;\"\u003e\u003cp style=\"font-size:11px;color:#B8975A;margin-top:4px;\"\u003eAfter\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"padding:20px 0;border-bottom:1px solid #eee;\"\u003e\n\u003cp style=\"font-size:18px;font-weight:900;text-align:center;margin:0 0 8px;\"\u003eWhat's in the playbook\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#777;text-align:center;margin:0 0 16px;\"\u003eEverything I know about kitchen renos. DIY, hire trades, or both.\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;line-height:1.7;margin:0 0 8px;\"\u003e💰 \u003cstrong\u003eEvery cost, mapped out\u003c\/strong\u003e — Real Aussie prices for cabinets, benchtop, splashback, appliances, trades.\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;line-height:1.7;margin:0 0 8px;\"\u003e📋 \u003cstrong\u003eDay-by-day, step-by-step\u003c\/strong\u003e — Day 1 to Day 10. What to do, what order, when each trade comes in.\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;line-height:1.7;margin:0 0 8px;\"\u003e🤝 \u003cstrong\u003eDon't get ripped off\u003c\/strong\u003e — Exact scripts I use for quotes. The Tradie Playbook comes free.\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;line-height:1.7;margin:0 0 8px;\"\u003e✨ \u003cstrong\u003eMake it look expensive\u003c\/strong\u003e — 8 tricks to make a $6K kitchen look like $30K. Cost: under $300.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"padding:20px 0;border-bottom:1px solid #eee;text-align:center;\"\u003e\n\u003cp style=\"font-size:14px;color:#444;margin:0 0 4px;\"\u003e📧 Instant email access\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;margin:0 0 4px;\"\u003e📱 PDF + Interactive App + Tradie Playbook\u003c\/p\u003e\n\u003cp style=\"font-size:14px;color:#444;margin:0;\"\u003e♾️ Yours forever — no subscriptions\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"padding:20px 0;text-align:center;\"\u003e\n\u003cp style=\"font-size:14px;color:#777;margin:0;\"\u003e✌️ \u003cstrong style=\"color:#2C2420;\"\u003eGuarantee\u003c\/strong\u003e — Not worth it? Email me. I'll sort it.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Flipping Aussies","offers":[{"title":"Default Title","offer_id":45941457682666,"sku":null,"price":97.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/Kitchen_renovation_playbook_emblem.png?v=1775800182"},{"product_id":"how-to-deal-with-tradies-playbook","title":"Tricks Of The Trade Playbook","description":"\u003c!-- ============================================== --\u003e\n\u003c!-- TRADIE PLAYBOOK PRODUCT PAGE SECTION           --\u003e\n\u003c!-- Paste this entire block into your Shopify     --\u003e\n\u003c!-- product description (Source\/HTML view).        --\u003e\n\u003c!-- All styles \u0026 scripts are scoped to .tp-root    --\u003e\n\u003c!-- so nothing will leak into your theme.          --\u003e\n\u003c!-- ============================================== --\u003e\n\n\u003cdiv class=\"tp-root\"\u003e\n\n\u003cstyle\u003e\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue\u0026family=Outfit:wght@300;400;500;600;700;800\u0026display=swap');\n\n  .tp-root {\n    --tp-navy: #0C1B2A;\n    --tp-navy-2: #142839;\n    --tp-navy-3: #1c3247;\n    --tp-gold: #B8975A;\n    --tp-gold-bright: #D4AF37;\n    --tp-cream: #FDF8F0;\n    --tp-cream-dim: rgba(253, 248, 240, 0.72);\n    --tp-cream-faint: rgba(253, 248, 240, 0.14);\n    --tp-line: rgba(184, 151, 90, 0.25);\n    --tp-red: #c44e4e;\n    --tp-green: #6ba368;\n\n    display: block;\n    width: 100%;\n    max-width: 100%;\n    margin: 0 auto;\n    font-family: 'Outfit', system-ui, sans-serif;\n    font-weight: 400;\n    color: var(--tp-cream);\n    background: var(--tp-navy);\n    line-height: 1.55;\n    -webkit-font-smoothing: antialiased;\n    text-rendering: optimizeLegibility;\n    overflow: hidden;\n    border-radius: 4px;\n  }\n\n  .tp-root *, .tp-root *::before, .tp-root *::after {\n    box-sizing: border-box;\n    font-family: inherit;\n  }\n\n  .tp-root p { margin: 0 0 1em; }\n  .tp-root h1, .tp-root h2, .tp-root h3, .tp-root h4 {\n    font-family: 'Bebas Neue', 'Outfit', sans-serif;\n    font-weight: 400;\n    letter-spacing: 0.02em;\n    line-height: 1.05;\n    margin: 0 0 0.5em;\n    color: var(--tp-cream);\n  }\n  .tp-root button { font-family: inherit; cursor: pointer; }\n  .tp-root strong, .tp-root b { font-weight: 700; color: var(--tp-cream); }\n\n  \/* ============ HERO ============ *\/\n  .tp-hero {\n    position: relative;\n    padding: 56px 28px 48px;\n    text-align: center;\n    background:\n      radial-gradient(ellipse at top, rgba(184,151,90,0.12), transparent 60%),\n      linear-gradient(180deg, var(--tp-navy-2) 0%, var(--tp-navy) 100%);\n    border-bottom: 1px solid var(--tp-line);\n  }\n  .tp-eyebrow {\n    display: inline-block;\n    font-family: 'Outfit', sans-serif;\n    font-weight: 600;\n    font-size: 11px;\n    letter-spacing: 0.32em;\n    color: var(--tp-gold-bright);\n    text-transform: uppercase;\n    padding: 8px 14px;\n    border: 1px solid var(--tp-gold);\n    border-radius: 2px;\n    margin-bottom: 24px;\n  }\n  .tp-h1 {\n    font-size: clamp(38px, 7vw, 64px);\n    letter-spacing: 0.01em;\n    margin-bottom: 16px;\n  }\n  .tp-h1-accent { color: var(--tp-gold-bright); display: block; }\n  .tp-hero-sub {\n    font-size: clamp(15px, 2vw, 17px);\n    color: var(--tp-cream-dim);\n    max-width: 580px;\n    margin: 0 auto 32px;\n    font-weight: 300;\n  }\n  .tp-price-wrap {\n    display: inline-flex;\n    align-items: baseline;\n    gap: 14px;\n    margin-bottom: 24px;\n  }\n  .tp-price-old {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 26px;\n    color: var(--tp-cream-dim);\n    text-decoration: line-through;\n    text-decoration-color: var(--tp-red);\n  }\n  .tp-price-new {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 56px;\n    color: var(--tp-gold-bright);\n    letter-spacing: 0.02em;\n  }\n  .tp-save-badge {\n    display: inline-block;\n    background: var(--tp-gold);\n    color: var(--tp-navy);\n    font-weight: 700;\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    padding: 6px 12px;\n    text-transform: uppercase;\n    margin-left: 4px;\n    border-radius: 2px;\n    align-self: center;\n  }\n  .tp-cta {\n    display: inline-block;\n    background: var(--tp-gold-bright);\n    color: var(--tp-navy);\n    font-weight: 700;\n    font-size: 15px;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n    padding: 18px 36px;\n    border: none;\n    border-radius: 2px;\n    transition: transform 0.15s ease, background 0.15s ease;\n    text-decoration: none;\n    cursor: pointer;\n  }\n  .tp-cta:hover { transform: translateY(-1px); background: var(--tp-cream); }\n  .tp-cta-sub {\n    display: block;\n    font-size: 12px;\n    color: var(--tp-cream-dim);\n    margin-top: 14px;\n    letter-spacing: 0.05em;\n  }\n\n  \/* ============ COUNTDOWN ============ *\/\n  .tp-countdown {\n    background: linear-gradient(90deg, var(--tp-navy-2) 0%, var(--tp-navy-3) 50%, var(--tp-navy-2) 100%);\n    border-top: 1px solid var(--tp-gold);\n    border-bottom: 1px solid var(--tp-gold);\n    padding: 22px 28px;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .tp-countdown::before {\n    content: \"\";\n    position: absolute;\n    inset: 0;\n    background: radial-gradient(ellipse at center, rgba(212,175,55,0.10), transparent 70%);\n    pointer-events: none;\n    animation: tp-pulse 3s ease-in-out infinite;\n  }\n  @keyframes tp-pulse {\n    0%, 100% { opacity: 0.6; }\n    50% { opacity: 1; }\n  }\n  .tp-countdown-eyebrow {\n    font-family: 'Outfit', sans-serif;\n    font-size: 11px;\n    letter-spacing: 0.3em;\n    color: var(--tp-gold-bright);\n    text-transform: uppercase;\n    font-weight: 700;\n    margin-bottom: 6px;\n    position: relative;\n  }\n  .tp-countdown-time {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(48px, 9vw, 68px);\n    color: var(--tp-cream);\n    line-height: 1;\n    letter-spacing: 0.06em;\n    margin: 2px 0;\n    font-variant-numeric: tabular-nums;\n    text-shadow: 0 0 28px rgba(212,175,55,0.35);\n    position: relative;\n  }\n  .tp-countdown-sub {\n    font-size: 12px;\n    color: var(--tp-cream-dim);\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n    position: relative;\n  }\n  .tp-countdown-sub strong { color: var(--tp-gold-bright); font-weight: 700; }\n  .tp-countdown.tp-expired { border-color: var(--tp-red); }\n  .tp-countdown.tp-expired::before { animation: none; opacity: 0; }\n  .tp-countdown.tp-expired .tp-countdown-eyebrow { color: var(--tp-red); }\n  .tp-countdown.tp-expired .tp-countdown-time {\n    color: var(--tp-cream-dim);\n    text-shadow: none;\n  }\n\n  \/* ============ TRUST BAR ============ *\/\n  .tp-trust {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    background: var(--tp-navy);\n    border-bottom: 1px solid var(--tp-line);\n  }\n  .tp-trust-item {\n    padding: 28px 18px;\n    text-align: center;\n    border-right: 1px solid var(--tp-line);\n  }\n  .tp-trust-item:last-child { border-right: none; }\n  .tp-trust-num {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 38px;\n    color: var(--tp-gold-bright);\n    line-height: 1;\n    margin-bottom: 6px;\n  }\n  .tp-trust-label {\n    font-size: 11px;\n    color: var(--tp-cream-dim);\n    text-transform: uppercase;\n    letter-spacing: 0.14em;\n    font-weight: 500;\n  }\n  @media (max-width: 640px) {\n    .tp-trust { grid-template-columns: repeat(2, 1fr); }\n    .tp-trust-item:nth-child(2) { border-right: none; }\n    .tp-trust-item:nth-child(1),\n    .tp-trust-item:nth-child(2) { border-bottom: 1px solid var(--tp-line); }\n    .tp-trust-num { font-size: 32px; }\n  }\n\n  \/* ============ SECTION SHARED ============ *\/\n  .tp-section {\n    padding: 64px 28px;\n    border-bottom: 1px solid var(--tp-line);\n  }\n  .tp-section-label {\n    font-family: 'Outfit', sans-serif;\n    font-size: 11px;\n    color: var(--tp-gold);\n    letter-spacing: 0.32em;\n    text-transform: uppercase;\n    margin-bottom: 12px;\n    font-weight: 600;\n  }\n  .tp-section-h {\n    font-size: clamp(32px, 5vw, 48px);\n    margin-bottom: 24px;\n    max-width: 720px;\n  }\n  .tp-section-lead {\n    font-size: clamp(15px, 1.8vw, 17px);\n    color: var(--tp-cream-dim);\n    max-width: 640px;\n    font-weight: 300;\n  }\n\n  \/* ============ PROBLEM SECTION ============ *\/\n  .tp-problem-quote {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(28px, 4.5vw, 42px);\n    line-height: 1.15;\n    color: var(--tp-cream);\n    border-left: 3px solid var(--tp-gold-bright);\n    padding: 8px 0 8px 24px;\n    margin: 36px 0;\n    letter-spacing: 0.01em;\n  }\n  .tp-problem-quote span { color: var(--tp-gold-bright); }\n\n  \/* ============ CHAPTERS ACCORDION ============ *\/\n  .tp-chapters { margin-top: 36px; }\n  .tp-chapter {\n    border: 1px solid var(--tp-line);\n    background: var(--tp-navy-2);\n    margin-bottom: 10px;\n    border-radius: 3px;\n    overflow: hidden;\n    transition: border-color 0.2s ease;\n  }\n  .tp-chapter[open] { border-color: var(--tp-gold); }\n  .tp-chapter summary {\n    list-style: none;\n    cursor: pointer;\n    padding: 22px 24px;\n    display: flex;\n    align-items: center;\n    gap: 18px;\n    transition: background 0.15s ease;\n  }\n  .tp-chapter summary::-webkit-details-marker { display: none; }\n  .tp-chapter summary:hover { background: var(--tp-navy-3); }\n  .tp-chapter-num {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 28px;\n    color: var(--tp-gold-bright);\n    flex-shrink: 0;\n    min-width: 38px;\n  }\n  .tp-chapter-title {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(20px, 2.4vw, 26px);\n    color: var(--tp-cream);\n    letter-spacing: 0.02em;\n    flex: 1;\n  }\n  .tp-chapter-icon {\n    width: 24px; height: 24px;\n    color: var(--tp-gold);\n    flex-shrink: 0;\n    transition: transform 0.25s ease;\n  }\n  .tp-chapter[open] .tp-chapter-icon { transform: rotate(45deg); }\n  .tp-chapter-body {\n    padding: 0 24px 24px 80px;\n    color: var(--tp-cream-dim);\n    font-size: 15px;\n    line-height: 1.65;\n  }\n  .tp-chapter-body ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n  }\n  .tp-chapter-body li {\n    padding: 6px 0 6px 22px;\n    position: relative;\n  }\n  .tp-chapter-body li::before {\n    content: \"→\";\n    position: absolute;\n    left: 0;\n    color: var(--tp-gold-bright);\n    font-weight: 700;\n  }\n  @media (max-width: 640px) {\n    .tp-chapter-body { padding-left: 24px; }\n  }\n\n  \/* ============ COMPARISON TOGGLE ============ *\/\n  .tp-compare { margin-top: 36px; }\n  .tp-tabs {\n    display: flex;\n    background: var(--tp-navy-2);\n    border: 1px solid var(--tp-line);\n    border-radius: 3px;\n    padding: 6px;\n    margin-bottom: 24px;\n    gap: 6px;\n  }\n  .tp-tab {\n    flex: 1;\n    padding: 14px 16px;\n    background: transparent;\n    border: none;\n    color: var(--tp-cream-dim);\n    font-family: 'Outfit', sans-serif;\n    font-weight: 600;\n    font-size: 13px;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n    border-radius: 2px;\n    transition: all 0.2s ease;\n  }\n  .tp-tab.tp-active {\n    background: var(--tp-gold-bright);\n    color: var(--tp-navy);\n  }\n  .tp-compare-panel {\n    background: var(--tp-navy-2);\n    border: 1px solid var(--tp-line);\n    border-radius: 3px;\n    padding: 32px;\n    display: none;\n  }\n  .tp-compare-panel.tp-active { display: block; }\n  .tp-compare-panel ul { list-style: none; padding: 0; margin: 0; }\n  .tp-compare-panel li {\n    padding: 14px 0 14px 36px;\n    position: relative;\n    color: var(--tp-cream);\n    font-size: 15px;\n    border-bottom: 1px solid var(--tp-cream-faint);\n  }\n  .tp-compare-panel li:last-child { border-bottom: none; }\n  .tp-compare-panel li::before {\n    position: absolute;\n    left: 0;\n    top: 12px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: 22px;\n    line-height: 1;\n  }\n  .tp-without li::before { content: \"✕\"; color: var(--tp-red); }\n  .tp-with li::before { content: \"✓\"; color: var(--tp-green); }\n\n  \/* ============ CALCULATOR ============ *\/\n  .tp-calc {\n    background: linear-gradient(135deg, var(--tp-navy-2) 0%, var(--tp-navy) 100%);\n    border: 1px solid var(--tp-line);\n    border-radius: 3px;\n    padding: 40px 32px;\n    margin-top: 32px;\n    text-align: center;\n  }\n  .tp-calc-q {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(22px, 3vw, 28px);\n    margin-bottom: 28px;\n    letter-spacing: 0.02em;\n  }\n  .tp-slider-wrap {\n    max-width: 460px;\n    margin: 0 auto 24px;\n    position: relative;\n  }\n  .tp-slider {\n    width: 100%;\n    -webkit-appearance: none;\n    appearance: none;\n    height: 4px;\n    background: var(--tp-cream-faint);\n    border-radius: 2px;\n    outline: none;\n  }\n  .tp-slider::-webkit-slider-thumb {\n    -webkit-appearance: none;\n    appearance: none;\n    width: 26px;\n    height: 26px;\n    background: var(--tp-gold-bright);\n    border-radius: 50%;\n    cursor: pointer;\n    border: 3px solid var(--tp-navy);\n    box-shadow: 0 0 0 1px var(--tp-gold-bright);\n  }\n  .tp-slider::-moz-range-thumb {\n    width: 26px;\n    height: 26px;\n    background: var(--tp-gold-bright);\n    border-radius: 50%;\n    cursor: pointer;\n    border: 3px solid var(--tp-navy);\n  }\n  .tp-slider-labels {\n    display: flex;\n    justify-content: space-between;\n    margin-top: 8px;\n    font-size: 11px;\n    color: var(--tp-cream-dim);\n    letter-spacing: 0.1em;\n  }\n  .tp-calc-readout {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 16px;\n    margin-top: 32px;\n    max-width: 580px;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .tp-calc-card {\n    padding: 24px 18px;\n    border-radius: 3px;\n    background: var(--tp-navy);\n    border: 1px solid var(--tp-line);\n  }\n  .tp-calc-label {\n    font-size: 11px;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n    color: var(--tp-cream-dim);\n    margin-bottom: 8px;\n  }\n  .tp-calc-num {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(28px, 4.5vw, 40px);\n    line-height: 1;\n    letter-spacing: 0.01em;\n  }\n  .tp-calc-num.tp-loss { color: var(--tp-red); }\n  .tp-calc-num.tp-save { color: var(--tp-gold-bright); }\n  .tp-calc-foot {\n    margin-top: 24px;\n    font-size: 14px;\n    color: var(--tp-cream-dim);\n    font-style: italic;\n  }\n  @media (max-width: 480px) {\n    .tp-calc-readout { grid-template-columns: 1fr; }\n  }\n\n  \/* ============ JIMMI ============ *\/\n  .tp-jimmi {\n    background: var(--tp-navy-2);\n    padding: 56px 28px;\n    border-bottom: 1px solid var(--tp-line);\n  }\n  .tp-jimmi-inner {\n    max-width: 680px;\n    margin: 0 auto;\n    text-align: center;\n  }\n  .tp-jimmi-line {\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(20px, 2.6vw, 26px);\n    color: var(--tp-gold-bright);\n    letter-spacing: 0.04em;\n    margin-bottom: 16px;\n  }\n  .tp-jimmi-body {\n    font-size: clamp(15px, 1.8vw, 17px);\n    color: var(--tp-cream-dim);\n    font-weight: 300;\n  }\n  .tp-sig {\n    margin-top: 24px;\n    font-family: 'Bebas Neue', sans-serif;\n    color: var(--tp-cream);\n    font-size: 18px;\n    letter-spacing: 0.06em;\n  }\n\n  \/* ============ FAQ ============ *\/\n  .tp-faq { margin-top: 32px; }\n  .tp-faq-item {\n    border-bottom: 1px solid var(--tp-line);\n  }\n  .tp-faq-item summary {\n    list-style: none;\n    cursor: pointer;\n    padding: 22px 0;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 16px;\n    font-family: 'Bebas Neue', sans-serif;\n    font-size: clamp(17px, 2.2vw, 22px);\n    color: var(--tp-cream);\n    letter-spacing: 0.02em;\n    transition: color 0.15s ease;\n  }\n  .tp-faq-item summary::-webkit-details-marker { display: none; }\n  .tp-faq-item summary:hover { color: var(--tp-gold-bright); }\n  .tp-faq-item[open] summary { color: var(--tp-gold-bright); }\n  .tp-faq-icon {\n    width: 18px;\n    height: 18px;\n    color: var(--tp-gold);\n    transition: transform 0.25s ease;\n    flex-shrink: 0;\n  }\n  .tp-faq-item[open] .tp-faq-icon { transform: rotate(45deg); }\n  .tp-faq-body {\n    padding: 0 0 22px;\n    color: var(--tp-cream-dim);\n    font-size: 15px;\n    line-height: 1.65;\n    max-width: 680px;\n  }\n\n  \/* ============ FINAL CTA ============ *\/\n  .tp-final {\n    text-align: center;\n    padding: 72px 28px;\n    background:\n      radial-gradient(ellipse at center, rgba(184,151,90,0.18), transparent 70%),\n      var(--tp-navy);\n  }\n  .tp-final-h {\n    font-size: clamp(36px, 6vw, 56px);\n    margin-bottom: 18px;\n  }\n  .tp-final-sub {\n    color: var(--tp-cream-dim);\n    font-size: clamp(15px, 1.8vw, 17px);\n    margin-bottom: 32px;\n    max-width: 540px;\n    margin-left: auto;\n    margin-right: auto;\n    font-weight: 300;\n  }\n  .tp-final .tp-price-new { font-size: 72px; }\n  .tp-guarantee {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    margin-top: 24px;\n    padding: 12px 18px;\n    background: var(--tp-navy-2);\n    border: 1px solid var(--tp-line);\n    border-radius: 2px;\n    font-size: 12px;\n    color: var(--tp-cream-dim);\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n  }\n  .tp-guarantee svg { color: var(--tp-gold-bright); }\n\u003c\/style\u003e\n\n\u003c!-- ============ HERO ============ --\u003e\n\u003csection class=\"tp-hero\"\u003e\n  \u003cdiv class=\"tp-eyebrow\"\u003eThe Tradie Playbook\u003c\/div\u003e\n  \u003ch1 class=\"tp-h1\"\u003e\n    Stop getting\u003cbr\u003e\n    \u003cspan class=\"tp-h1-accent\"\u003eripped off\u003c\/span\u003e by tradies.\n  \u003c\/h1\u003e\n  \u003cp class=\"tp-hero-sub\"\u003e\n    Six chapters. Real Aussie rates. The exact scripts, contracts and red flags I've learned in 21 years of hiring trades on flips.\n  \u003c\/p\u003e\n  \u003cdiv class=\"tp-price-wrap\" data-tp-price-wrap\u003e\n    \u003cspan class=\"tp-price-old\" data-tp-price-old\u003e$697\u003c\/span\u003e\n    \u003cspan class=\"tp-price-new\" data-tp-price-new\u003e$197\u003c\/span\u003e\n    \u003cspan class=\"tp-save-badge\" data-tp-save-badge\u003eSave $500\u003c\/span\u003e\n  \u003c\/div\u003e\n  \u003cbr\u003e\n  \u003ca href=\"#tp-buy\" class=\"tp-cta\"\u003eGet Instant Access\u003c\/a\u003e\n  \u003cspan class=\"tp-cta-sub\"\u003eLifetime access · 30-day money-back guarantee\u003c\/span\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ COUNTDOWN ============ --\u003e\n\u003csection class=\"tp-countdown\" id=\"tp-countdown\"\u003e\n  \u003cdiv class=\"tp-countdown-eyebrow\"\u003e⏱ Flash offer · Ends in\u003c\/div\u003e\n  \u003cdiv class=\"tp-countdown-time\" id=\"tp-timer\"\u003e10:00\u003c\/div\u003e\n  \u003cdiv class=\"tp-countdown-sub\"\u003eAfter this, price returns to \u003cstrong\u003e$697\u003c\/strong\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ TRUST BAR ============ --\u003e\n\u003csection class=\"tp-trust\"\u003e\n  \u003cdiv class=\"tp-trust-item\"\u003e\n    \u003cdiv class=\"tp-trust-num\"\u003e21\u003c\/div\u003e\n    \u003cdiv class=\"tp-trust-label\"\u003eYears on site\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tp-trust-item\"\u003e\n    \u003cdiv class=\"tp-trust-num\"\u003e100+\u003c\/div\u003e\n    \u003cdiv class=\"tp-trust-label\"\u003eFlips completed\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tp-trust-item\"\u003e\n    \u003cdiv class=\"tp-trust-num\"\u003e6\u003c\/div\u003e\n    \u003cdiv class=\"tp-trust-label\"\u003eFull chapters\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tp-trust-item\"\u003e\n    \u003cdiv class=\"tp-trust-num\"\u003e$10k+\u003c\/div\u003e\n    \u003cdiv class=\"tp-trust-label\"\u003eReno-ready\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ PROBLEM ============ --\u003e\n\u003csection class=\"tp-section\"\u003e\n  \u003cdiv class=\"tp-section-label\"\u003eThe Reality\u003c\/div\u003e\n  \u003ch2 class=\"tp-section-h\"\u003eIt's the worst time in 20 years to hire a tradie blind.\u003c\/h2\u003e\n  \u003cp class=\"tp-section-lead\"\u003e\n    3,217 Aussie builders went broke last year *(ASIC, 2024)*. Unlicensed tradie complaints are up 20%. 1 in 4 Aussie renovations end in regret — and it's almost never the paint or the tiles. It's the trades.\n  \u003c\/p\u003e\n  \u003cdiv class=\"tp-problem-quote\"\u003e\n    You don't need to be a builder.\u003cbr\u003e\n    You just need to know \u003cspan\u003ewhat things cost,\u003cbr\u003ewho to trust, and what to say.\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ CHAPTERS ============ --\u003e\n\u003csection class=\"tp-section\"\u003e\n  \u003cdiv class=\"tp-section-label\"\u003eWhat's Inside\u003c\/div\u003e\n  \u003ch2 class=\"tp-section-h\"\u003eSix chapters. Built for the phone in your pocket.\u003c\/h2\u003e\n  \u003cp class=\"tp-section-lead\"\u003eTap any chapter to see what's covered.\u003c\/p\u003e\n\n  \u003cdiv class=\"tp-chapters\"\u003e\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e01\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eFinding Good Trades\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eWhere to actually find skilled tradies (and where to never look)\u003c\/li\u003e\n          \u003cli\u003eWhich platforms work for which trade — hipages, Airtasker, word of mouth\u003c\/li\u003e\n          \u003cli\u003eHow to read reviews properly (and the fake ones to ignore)\u003c\/li\u003e\n          \u003cli\u003eThe \"warm intro\" hack that gets you better pricing instantly\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e02\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eGetting Honest Quotes\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eThe interactive trade cost estimator — real Aussie rates for plumbers, sparkies, tilers, painters, chippies, demo, renderers\u003c\/li\u003e\n          \u003cli\u003eWord-for-word scripts for requesting quotes\u003c\/li\u003e\n          \u003cli\u003eHow to compare apples with apples across 3+ quotes\u003c\/li\u003e\n          \u003cli\u003eThe questions that get you 20-30% off without a tradie pulling out\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e03\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eVetting \u0026amp; Red Flags\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eRed flag guide — spot dodgy operators in the first phone call\u003c\/li\u003e\n          \u003cli\u003eGreen flag guide — what a real pro sounds like\u003c\/li\u003e\n          \u003cli\u003eHow to check licences, insurance and history in 60 seconds\u003c\/li\u003e\n          \u003cli\u003eThe exact moment to walk away from a tradie (even a good one)\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e04\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eThe Correct Booking Order\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eThe right sequence to book trades on any reno\u003c\/li\u003e\n          \u003cli\u003eHow to avoid paying twice for rework (the #1 hidden cost)\u003c\/li\u003e\n          \u003cli\u003eLead times to plan for in 2025\/26\u003c\/li\u003e\n          \u003cli\u003eWhat to do when one trade falls behind and holds up the rest\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e05\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eManaging the Job\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eScripts for handling mid-job surprises (without burning the relationship)\u003c\/li\u003e\n          \u003cli\u003eHow to call out bad work and get it fixed — not redone wrong\u003c\/li\u003e\n          \u003cli\u003eChecklists for every stage of the build\u003c\/li\u003e\n          \u003cli\u003eWhat to do when a tradie wants more money mid-job\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-chapter\"\u003e\n      \u003csummary\u003e\n        \u003cspan class=\"tp-chapter-num\"\u003e06\u003c\/span\u003e\n        \u003cspan class=\"tp-chapter-title\"\u003eThe Payment Framework\u003c\/span\u003e\n        \u003csvg class=\"tp-chapter-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-chapter-body\"\u003e\n        \u003cul\u003e\n          \u003cli\u003eComplete payment framework for jobs from $500 to $10k+\u003c\/li\u003e\n          \u003cli\u003eWhat deposit % is fair (and what's a scam)\u003c\/li\u003e\n          \u003cli\u003eProgress payments structured so YOU stay in control\u003c\/li\u003e\n          \u003cli\u003eThe final payment clause every contract needs\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ COMPARISON ============ --\u003e\n\u003csection class=\"tp-section\"\u003e\n  \u003cdiv class=\"tp-section-label\"\u003eThe Difference\u003c\/div\u003e\n  \u003ch2 class=\"tp-section-h\"\u003eWithout the playbook vs with it.\u003c\/h2\u003e\n\n  \u003cdiv class=\"tp-compare\"\u003e\n    \u003cdiv class=\"tp-tabs\"\u003e\n      \u003cbutton class=\"tp-tab tp-active\" data-target=\"tp-without\"\u003eWithout the Playbook\u003c\/button\u003e\n      \u003cbutton class=\"tp-tab\" data-target=\"tp-with\"\u003eWith the Playbook\u003c\/button\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"tp-compare-panel tp-without tp-active\" id=\"tp-without\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eQuoted 20-40% above market — and you'd never know\u003c\/li\u003e\n        \u003cli\u003eHire blind. Hope for the best.\u003c\/li\u003e\n        \u003cli\u003ePay deposits with no contract. No recourse if they vanish.\u003c\/li\u003e\n        \u003cli\u003eGet smashed on \"mid-job surprises\" you can't push back on\u003c\/li\u003e\n        \u003cli\u003eTrades arrive in the wrong order — pay twice for rework\u003c\/li\u003e\n        \u003cli\u003eConfrontation over bad work either burns the bridge or gets nothing fixed\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"tp-compare-panel tp-with\" id=\"tp-with\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eKnow fair Aussie rates before you pick up the phone\u003c\/li\u003e\n        \u003cli\u003eVet any tradie in 60 seconds — red flags catch the cowboys\u003c\/li\u003e\n        \u003cli\u003eContracts and payment structures that protect YOU\u003c\/li\u003e\n        \u003cli\u003eScripts for surprises, bad work, and price-creep\u003c\/li\u003e\n        \u003cli\u003eBook trades in the right order — zero rework\u003c\/li\u003e\n        \u003cli\u003eManage the job like you've done it a hundred times\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ CALCULATOR ============ --\u003e\n\u003csection class=\"tp-section\"\u003e\n  \u003cdiv class=\"tp-section-label\"\u003eWhat You Could Save\u003c\/div\u003e\n  \u003ch2 class=\"tp-section-h\"\u003eThe first-timer tax, calculated.\u003c\/h2\u003e\n  \u003cp class=\"tp-section-lead\"\u003eFirst-timers typically overspend by 30% on renovations. Drag the slider to see what that looks like on your next job.\u003c\/p\u003e\n\n  \u003cdiv class=\"tp-calc\"\u003e\n    \u003cdiv class=\"tp-calc-q\"\u003eMy next renovation budget is roughly...\u003c\/div\u003e\n    \u003cdiv class=\"tp-slider-wrap\"\u003e\n      \u003cinput type=\"range\" min=\"10000\" max=\"200000\" step=\"5000\" value=\"50000\" class=\"tp-slider\" id=\"tp-slider\"\u003e\n      \u003cdiv class=\"tp-slider-labels\"\u003e\n        \u003cspan\u003e$10k\u003c\/span\u003e\n        \u003cspan\u003e$200k\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"font-family: 'Bebas Neue', sans-serif; font-size: 42px; color: var(--tp-gold-bright); margin: 16px 0; letter-spacing: 0.02em;\" id=\"tp-budget\"\u003e$50,000\u003c\/div\u003e\n\n    \u003cdiv class=\"tp-calc-readout\"\u003e\n      \u003cdiv class=\"tp-calc-card\"\u003e\n        \u003cdiv class=\"tp-calc-label\"\u003eFirst-timer overspend\u003c\/div\u003e\n        \u003cdiv class=\"tp-calc-num tp-loss\" id=\"tp-overspend\"\u003e$15,000\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-calc-card\"\u003e\n        \u003cdiv class=\"tp-calc-label\"\u003ePlaybook pays for itself\u003c\/div\u003e\n        \u003cdiv class=\"tp-calc-num tp-save\" id=\"tp-payback\"\u003e76×\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-calc-foot\"\u003e\n      One phone call typically saves you 5-10× the price of the Playbook.\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ JIMMI ============ --\u003e\n\u003csection class=\"tp-jimmi\"\u003e\n  \u003cdiv class=\"tp-jimmi-inner\"\u003e\n    \u003cdiv class=\"tp-section-label\" style=\"margin-bottom: 24px;\"\u003eFrom the Author\u003c\/div\u003e\n    \u003cdiv class=\"tp-jimmi-line\"\u003e21 years. Hundreds of tradies hired. One playbook.\u003c\/div\u003e\n    \u003cp class=\"tp-jimmi-body\"\u003e\n      I'm Jimmi. My dad's a builder — I grew up on Aussie sites. I've hired hundreds of tradies, fired plenty, and learned the hard way what works and what doesn't. This is the playbook I wish someone handed me before my first flip 21 years ago.\n    \u003c\/p\u003e\n    \u003cdiv class=\"tp-sig\"\u003e— Jimmi xx\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ FAQ ============ --\u003e\n\u003csection class=\"tp-section\"\u003e\n  \u003cdiv class=\"tp-section-label\"\u003eCommon Questions\u003c\/div\u003e\n  \u003ch2 class=\"tp-section-h\"\u003eFAQ\u003c\/h2\u003e\n\n  \u003cdiv class=\"tp-faq\"\u003e\n    \u003cdetails class=\"tp-faq-item\"\u003e\n      \u003csummary\u003e\n        Is this just for property flippers?\n        \u003csvg class=\"tp-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-faq-body\"\u003e\n        Nope. It's built for anyone renovating in Australia — your first bathroom, a full house flip, a pre-sale tidy-up, even an investment property tune-up. If you're hiring tradies, you need this.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-faq-item\"\u003e\n      \u003csummary\u003e\n        Will it work in my state?\n        \u003csvg class=\"tp-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-faq-body\"\u003e\n        Yes. The rates are national averages with state-by-state notes, and the principles (vetting, contracts, scripts, payment structures) work the same in QLD, NSW, VIC, WA, SA and Tassie.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-faq-item\"\u003e\n      \u003csummary\u003e\n        How long does it take to go through?\n        \u003csvg class=\"tp-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-faq-body\"\u003e\n        About 2 hours start to finish — but you don't read it like a book. It's a reference. Open it on your phone when you're getting a quote, before paying a deposit, when bad work needs calling out. Use it on site.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-faq-item\"\u003e\n      \u003csummary\u003e\n        Do I get updates?\n        \u003csvg class=\"tp-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-faq-body\"\u003e\n        Lifetime access. Every time rates or regulations shift, you get the update. Free, forever.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails class=\"tp-faq-item\"\u003e\n      \u003csummary\u003e\n        What if it's not what I expected?\n        \u003csvg class=\"tp-faq-icon\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cline x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\u003e\u003c\/line\u003e\u003cline x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\u003e\u003c\/line\u003e\u003c\/svg\u003e\n      \u003c\/summary\u003e\n      \u003cdiv class=\"tp-faq-body\"\u003e\n        30-day money-back guarantee. No drama. Email us, get a refund. Simple.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- ============ FINAL CTA ============ --\u003e\n\u003csection class=\"tp-final\" id=\"tp-buy\"\u003e\n  \u003ch2 class=\"tp-final-h\"\u003eGrab it for $197.\u003c\/h2\u003e\n  \u003cp class=\"tp-final-sub\"\u003e\n    Less than one tradie call-out fee. Saves you thousands on the next job — usually within the first phone call.\n  \u003c\/p\u003e\n  \u003cdiv class=\"tp-price-wrap\" data-tp-price-wrap\u003e\n    \u003cspan class=\"tp-price-old\" data-tp-price-old\u003e$697\u003c\/span\u003e\n    \u003cspan class=\"tp-price-new\" data-tp-price-new\u003e$197\u003c\/span\u003e\n  \u003c\/div\u003e\n  \u003cbr\u003e\n  \u003ca href=\"#\" class=\"tp-cta\" onclick=\"document.querySelector('form[action*=\\'\/cart\/add\\'] button[type=submit], button[name=add], .product-form__submit')?.scrollIntoView({behavior:'smooth',block:'center'}); return false;\"\u003eAdd to Cart\u003c\/a\u003e\n  \u003cdiv\u003e\n    \u003cspan class=\"tp-guarantee\"\u003e\n      \u003csvg width=\"14\" height=\"14\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M12 2L4 6v6c0 5 3.5 9 8 10 4.5-1 8-5 8-10V6l-8-4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      30-day money-back guarantee\n    \u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n(function() {\n  var root = document.currentScript.closest('.tp-root');\n  if (!root) return;\n\n  \/\/ Comparison tabs\n  var tabs = root.querySelectorAll('.tp-tab');\n  var panels = root.querySelectorAll('.tp-compare-panel');\n  tabs.forEach(function(tab) {\n    tab.addEventListener('click', function() {\n      tabs.forEach(function(t) { t.classList.remove('tp-active'); });\n      panels.forEach(function(p) { p.classList.remove('tp-active'); });\n      tab.classList.add('tp-active');\n      var target = root.querySelector('#' + tab.dataset.target);\n      if (target) target.classList.add('tp-active');\n    });\n  });\n\n  \/\/ Calculator\n  var slider = root.querySelector('#tp-slider');\n  var budgetEl = root.querySelector('#tp-budget');\n  var overspendEl = root.querySelector('#tp-overspend');\n  var paybackEl = root.querySelector('#tp-payback');\n\n  function fmt(n) {\n    return '$' + Math.round(n).toLocaleString('en-AU');\n  }\n\n  function update() {\n    var budget = parseInt(slider.value, 10);\n    var overspend = Math.round(budget * 0.30);\n    var payback = Math.round(overspend \/ 197);\n    budgetEl.textContent = fmt(budget);\n    overspendEl.textContent = fmt(overspend);\n    paybackEl.textContent = payback + '×';\n  }\n\n  if (slider) {\n    slider.addEventListener('input', update);\n    update();\n  }\n\n  \/\/ ============ COUNTDOWN ============\n  var TIMER_DURATION = 10 * 60 * 1000; \/\/ 10 minutes\n  var STORAGE_KEY = 'tp_playbook_deadline';\n  var GRACE_WINDOW = 24 * 60 * 60 * 1000; \/\/ 24h after expiry before resetting\n\n  var timerEl = root.querySelector('#tp-timer');\n  var countdownEl = root.querySelector('#tp-countdown');\n  var timerInterval;\n\n  function safeGet(k) {\n    try { return localStorage.getItem(k); } catch (e) { return null; }\n  }\n  function safeSet(k, v) {\n    try { localStorage.setItem(k, v); } catch (e) {}\n  }\n\n  function getDeadline() {\n    var stored = safeGet(STORAGE_KEY);\n    if (stored) {\n      var dl = parseInt(stored, 10);\n      \/\/ Respect existing deadline if it's still active OR within 24h of expiry\n      if (!isNaN(dl) \u0026\u0026 dl \u003e Date.now() - GRACE_WINDOW) {\n        return dl;\n      }\n    }\n    var newDeadline = Date.now() + TIMER_DURATION;\n    safeSet(STORAGE_KEY, String(newDeadline));\n    return newDeadline;\n  }\n\n  function expireOffer() {\n    if (!countdownEl) return;\n    countdownEl.classList.add('tp-expired');\n    var eyebrow = countdownEl.querySelector('.tp-countdown-eyebrow');\n    var sub = countdownEl.querySelector('.tp-countdown-sub');\n    if (eyebrow) eyebrow.textContent = '✕ Offer expired';\n    if (sub) sub.innerHTML = 'Standard price now applies';\n\n    root.querySelectorAll('[data-tp-price-old]').forEach(function(el) {\n      el.style.display = 'none';\n    });\n    root.querySelectorAll('[data-tp-price-new]').forEach(function(el) {\n      el.textContent = '$697';\n    });\n    root.querySelectorAll('[data-tp-save-badge]').forEach(function(el) {\n      el.style.display = 'none';\n    });\n  }\n\n  function updateTimer() {\n    var remaining = deadline - Date.now();\n    if (remaining \u003c= 0) {\n      if (timerEl) timerEl.textContent = '00:00';\n      expireOffer();\n      if (timerInterval) clearInterval(timerInterval);\n      return;\n    }\n    var minutes = Math.floor(remaining \/ 60000);\n    var seconds = Math.floor((remaining % 60000) \/ 1000);\n    if (timerEl) {\n      timerEl.textContent =\n        String(minutes).padStart(2, '0') + ':' + String(seconds).padStart(2, '0');\n    }\n  }\n\n  var deadline = getDeadline();\n  if (timerEl) {\n    updateTimer();\n    timerInterval = setInterval(updateTimer, 1000);\n  }\n})();\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n\u003c!-- ============ END TRADIE PLAYBOOK SECTION ============ --\u003e","brand":"Flipping Aussies","offers":[{"title":"Default Title","offer_id":45944175493354,"sku":null,"price":197.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/1839\/8442\/files\/tricks_of_the_trade_playbook.png?v=1781746158"}],"url":"https:\/\/www.flippingaussies.com\/collections\/renovate.oembed","provider":"Flipping Aussies","version":"1.0","type":"link"}