1 2<!DOCTYPE html> 3<html lang="en" class="h-full"> 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 8 9 10 11 <title>Blog â Wellness Guides, Research & Stories | Good.You</title> 12 13 <meta name="description" content="Practical wellness guides, research roundups, and habit stories from the Good.You editorial team."> 14 <meta name="robots" content="index, follow"> 15 16 <!-- Canonical --> 17 <link rel="canonical" href="https://good.you/blog/"> 18 19 <!-- Open Graph --> 20 <meta property="og:site_name" content="Good.You"> 21 <meta property="og:locale" content="en_US"> 22 <meta property="og:type" content="website"> 23 <meta property="og:title" content="Blog â Wellness Guides, Research & Stories"> 24 <meta property="og:description" content="Practical wellness guides, research roundups, and habit stories from the Good.You editorial team."> 25 <meta property="og:url" content="https://good.you/blog/"> 26 <meta property="og:image" content="https://good.you/static/img/og-default.webp"> 27 28 <!-- Twitter Card --> 29 <meta name="twitter:card" content="summary_large_image"> 30 <meta name="twitter:title" content="Blog â Wellness Guides, Research & Stories"> 31 <meta name="twitter:description" content="Practical wellness guides, research roundups, and habit stories from the Good.You editorial team."> 32 <meta name="twitter:image" content="https://good.you/static/img/og-default.webp"> 33 34 <!-- Favicons & PWA --> 35 <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> 36 <link rel="icon" type="image/png" sizes="32x32" href="/static/img/favicon-32.png"> 37 <link rel="apple-touch-icon" sizes="180x180" href="/static/img/apple-touch-icon.png"> 38 <link rel="manifest" href="/static/manifest.json"> 39 <meta name="theme-color" content="#1a365d"> 40 <meta name="msapplication-TileColor" content="#1a365d"> 41 42 <!-- Versioned local assets avoid render-blocking third-party CDN requests. --> 43 <link rel="stylesheet" href="/static/css/tailwind.css?v=15"> 44
44<script src="/static/vendor/htmx.min.js?v=15"></script>
44 45
45<script defer src="/static/vendor/cdn.min.js?v=15"></script>
45 46 47 <style> 48 [x-cloak] { display: none !important; } 49 /* Card links: only the title is the link (clean anchor text); its ::after 50 stretches over the card (which is position:relative) so the whole card stays clickable. */ 51 .stretched-link, .stretched-link:hover { color: inherit; text-decoration: none; } 52 .stretched-link::after { content: ""; position: absolute; inset: 0; z-index: 1; } 53 .glass { 54 background: rgba(255, 255, 255, 0.7); 55 backdrop-filter: blur(10px); 56 -webkit-backdrop-filter: blur(10px); 57 border: 1px solid rgba(255, 255, 255, 0.18); 58 } 59 </style> 60 61 <!-- Schema.org JSON-LD --> 62
62<script type="application/ld+json"> 63 { 64 "@context": "https://schema.org", 65 "@graph": [ 66 {"@type": "Organization", "@id": "https://good.you/#organization", "name": "Good.You", "url": "https://good.you", "logo": {"@type": "ImageObject", "url": "https://good.you/static/img/logo-icon.webp"}}, 67 {"@type": "WebSite", "@id": "https://good.you/#website", "name": "Good.You", "url": "https://good.you", "inLanguage": "en", "publisher": {"@id": "https://good.you/#organization"}} 68 ] 69 } 70 </script>
70 71 72 73 74 75 <!-- Playwire RAMP init (Pub 1025215 / Site 77527) --> 76
76<script data-cfasync="false"> 77 window.ramp = window.ramp || {}; 78 window.ramp.que = window.ramp.que || []; 79 window.ramp.passiveMode = true; 80 </script>
80 81 82 <!-- Stay22 LetMeAllez: restored from the archived good.you integration. --> 83
83<script data-cfasync="false"> 84 (function (s, t, a, y, twenty, two) { 85 s.Stay22 = s.Stay22 || {}; 86 s.Stay22.params = { lmaID: '68efedb38ea049886c672eaa' }; 87 twenty = t.createElement(a); 88 two = t.getElementsByTagName(a)[0]; 89 twenty.async = 1; 90 twenty.src = y; 91 two.parentNode.insertBefore(twenty, two); 92 })(window, document, 'script', 'https://scripts.stay22.com/letmeallez.js'); 93 </script>
93 94<!-- Matomo -->
95<script> 96 var _paq = window._paq = window._paq || []; 97 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 98 _paq.push(['trackPageView']); 99 _paq.push(['enableLinkTracking']); 100 (function() { 101 var u="//tracking.good.you/"; 102 _paq.push(['setTrackerUrl', u+'matomo.php']); 103 _paq.push(['setSiteId', '921']); 104 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 105 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 106 })(); 107</script>
107 108<!-- End Matomo Code --> 109</head> 110<body class="h-full font-sans antialiased bg-slate-50 flex flex-col"> 111 112 <!-- Navigation --> 113 114 <nav class="bg-white/90 sticky top-0 z-50 glass border-b border-gray-100" x-data="{ open: false, healthOpen: false, wellbeingOpen: false }"> 115 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> 116 <div class="flex justify-between h-16"> 117 <div class="flex items-center"> 118 <a href="/" class="flex-shrink-0 flex items-center gap-1.5 mr-10"> 119 <img src="/static/img/logo-icon.webp" alt="Good.You" class="w-8 h-8 rounded-lg" loading="eager"> 120 <span class="text-2xl font-bold font-display"><span class="text-primary">Good.</span><span class="text-accent" style="margin-left:-0.15em">You</span></span> 121 </a> 122 <div class="hidden md:flex md:space-x-1"> 123 <a href="/health" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Health</a> 124 <a href="/wellbeing" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Wellbeing</a> 125 <a href="/growth" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Growth</a> 126 <a href="/lifestyle" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Lifestyle</a> 127 <a href="/tools" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Tools</a> 128 <a href="/blog" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">Blog</a> 129 <a href="/about" class="text-gray-600 hover:text-primary px-3 py-2 text-sm font-medium rounded-lg hover:bg-gray-50 transition">About</a> 130 </div> 131 </div> 132 <div class="flex items-center space-x-3"> 133 <!-- Search --> 134 <a href="/search" class="hidden md:flex items-center text-gray-400 hover:text-primary transition p-2 rounded-lg hover:bg-gray-50"> 135 <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/></svg> 136 </a> 137 138 <a href="/features" class="hidden md:block text-sm font-medium text-gray-500 hover:text-primary px-3 py-2 rounded-lg hover:bg-gray-50 transition">Features</a> 139 <a href="/auth/login/google" class="bg-primary text-white px-5 py-2 rounded-full text-sm font-medium hover:bg-slate-800 shadow-lg shadow-primary/20 transition flex items-center"> 140 <svg class="w-4 h-4 mr-2" fill="currentColor" viewBox="0 0 24 24"><path d="M12.24 10.285V14.4h6.806c-.275 1.765-2.056 5.174-6.806 5.174-4.095 0-7.439-3.389-7.439-7.574s3.345-7.574 7.439-7.574c2.33 0 3.891.989 4.785 1.849l3.254-3.138C18.189 1.186 15.479 0 12.24 0c-6.635 0-12 5.365-12 12s5.365 12 12 12c6.926 0 11.52-4.869 11.52-11.726 0-.788-.085-1.39-.189-1.989H12.24z"/></svg> 141 Sign in 142 </a> 143 144 <!-- Mobile menu --> 145 <button @click="open = !open" class="md:hidden p-2 rounded-lg text-gray-600 hover:bg-gray-100"> 146 <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 147 <path x-show="!open" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/> 148 <path x-show="open" x-cloak stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/> 149 </svg> 150 </button> 151 </div> 152 </div> 153 </div> 154 <!-- Mobile menu --> 155 <div x-show="open" x-cloak class="md:hidden bg-white border-t border-gray-100 px-4 py-4 space-y-1"> 156 <a href="/health" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Health</a> 157 <a href="/wellbeing" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Wellbeing</a> 158 <a href="/growth" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Growth</a> 159 <a href="/lifestyle" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Lifestyle</a> 160 <a href="/tools" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Tools</a> 161 <a href="/blog" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Blog</a> 162 <a href="/about" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">About</a> 163 <a href="/features" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Features</a> 164 <a href="/search" class="block px-4 py-2 text-sm text-gray-700 rounded-lg hover:bg-gray-50">Search</a> 165 </div> 166 </nav> 167 168 169 <!-- Breadcrumbs (optional, injected by templates) --> 170 171 172 <!-- Main Content --> 173 <main class="flex-grow"> 174 175 176 177 178<!-- Header --> 179<section class="bg-primary py-20 lg:py-28"> 180 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> 181 <nav class="text-xs font-bold uppercase tracking-widest text-white/50 mb-6"> 182 <a href="/" class="hover:text-white transition">Home</a>
183 <span class="mx-2">/</span> 184 <span class="text-white/80">Blog</span> 185 </nav> 186 <h1 class="text-5xl lg:text-6xl font-display font-bold text-white mb-4">The latest wellness guides and research roundups</h1> 187 <p class="text-xl text-white/70 leading-relaxed max-w-2xl">Practical guides, research roundups, and wellness stories â no hype, no filler.</p> 188 </div> 189</section> 190 191<!-- Category Nav --> 192<div class="bg-white border-b border-gray-100 sticky top-16 z-20"> 193 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex items-center gap-2 py-3 overflow-x-auto scrollbar-none"> 194 <a href="/blog" class="px-4 py-2 rounded-full text-sm font-bold bg-primary text-white whitespace-nowrap flex-shrink-0">All Posts</a> 195 196 <a href="/blog/category/guides" class="px-4 py-2 rounded-full text-sm font-semibold text-gray-600 hover:bg-gray-100 hover:text-primary transition whitespace-nowrap flex-shrink-0">Guides</a> 197 198 <a href="/blog/category/research-roundup" class="px-4 py-2 rounded-full text-sm font-semibold text-gray-600 hover:bg-gray-100 hover:text-primary transition whitespace-nowrap flex-shrink-0">Research Roundup</a> 199 200 <a href="/blog/category/news" class="px-4 py-2 rounded-full text-sm font-semibold text-gray-600 hover:bg-gray-100 hover:text-primary transition whitespace-nowrap flex-shrink-0">News</a> 201 202 <a href="/blog/category/tools" class="px-4 py-2 rounded-full text-sm font-semibold text-gray-600 hover:bg-gray-100 hover:text-primary transition whitespace-nowrap flex-shrink-0">Tools</a> 203 204 <a href="/blog/category/stories" class="px-4 py-2 rounded-full text-sm font-semibold text-gray-600 hover:bg-gray-100 hover:text-primary transition whitespace-nowrap flex-shrink-0">Stories</a> 205 206 </div> 207</div> 208 209<div class="bg-slate-50 min-h-screen"> 210<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16"> 211 212 <!-- Featured post --> 213 214 <div class="mb-14"> 215 <div 216 class="group flex flex-col lg:flex-row gap-0 bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-lg transition overflow-hidden relative focus-within:shadow-lg"> 217 <!-- Color accent strip --> 218 <div class="lg:w-8 bg-gradient-to-b from-violet-500 to-indigo-600 flex-shrink-0 h-2 lg:h-auto"></div> 219 <div class="flex-1 p-8 lg:p-12"> 220 <div class="flex items-center gap-3 mb-5"> 221 <span class="inline-block px-3 py-1 bg-violet-50 text-violet-700 text-xs font-bold uppercase tracking-widest rounded-full">Featured</span> 222 223 </div> 224 <h2 class="text-3xl lg:text-4xl font-display font-bold text-gray-900 mb-4 group-hover:text-primary transition leading-tight group-focus-within:text-primary"><a href="/blog/conscientiousness-long-term-health" class="stretched-link">How Conscientiousness Shapes Long-Term Health Outcomes, Per Behavioral Research</a></h2> 225 <p class="text-gray-500 leading-relaxed mb-6 max-w-2xl text-lg">Conscientiousness predicts long-term health better than most interventions. Here's the biology behind why self-discipline shapes longevity.</p> 226 <div class="flex items-center gap-4 text-xs text-gray-400 font-semibold uppercase tracking-widest"> 227 228 <span>October 6, 2026</span> 229 <span class="text-gray-200">·</span> 230 <span>8 min read</span> 231 <span class="ml-auto text-violet-600 font-bold group-hover:translate-x-1 transition group-focus-within:translate-x-1">Read â</span> 232 </div> 233 </div> 234 </div> 235 </div> 236 237 238 <!-- Post grid --> 239 240 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> 241 242 243 244 245 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 246 247 <!-- Top accent bar --> 248 <div class="h-1 bg-violet-500"></div> 249 <div class="p-6 flex flex-col flex-1"> 250 <div class="flex items-center justify-between mb-4">
251 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 252 Guides 253 </span> 254 <span class="text-xs text-gray-400">5 min</span> 255 </div> 256 <div class="flex-1 relative"> 257 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/behaviour-change-for-people-who-are-already-overwhelmed" class="stretched-link">Behaviour Change for People Who Are Already Overwhelmed</a></h3> 258 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Standard behaviour change advice assumes you have spare capacity. When you're overwhelmed, the rules change â and the strategies need to change with them.</p> 259 </div> 260 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 261 <span class="text-xs text-gray-400">Oct 5, 2026</span> 262 <a href="/blog/guides/behaviour-change-for-people-who-are-already-overwhelmed" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 263 </div> 264 </div> 265 </article> 266 267 268 269 270 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 271 272 <!-- Top accent bar --> 273 <div class="h-1 bg-violet-500"></div> 274 <div class="p-6 flex flex-col flex-1"> 275 <div class="flex items-center justify-between mb-4"> 276 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 277 Guides 278 </span> 279 <span class="text-xs text-gray-400">5 min</span> 280 </div> 281 <div class="flex-1 relative"> 282 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/how-to-reduce-resistance-to-the-habits-you-need-most" class="stretched-link">How to Reduce Resistance to the Habits You Need Most</a></h3> 283 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">The habits we resist most are often the ones that would help most. Understanding why resistance forms helps you dissolve it before it derails the attempt.</p> 284 </div> 285 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 286 <span class="text-xs text-gray-400">Oct 5, 2026</span> 287 <a href="/blog/guides/how-to-reduce-resistance-to-the-habits-you-need-most" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 288 </div> 289 </div> 290 </article> 291 292 293 294 295 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 296 297 <!-- Top accent bar --> 298 <div class="h-1 bg-violet-500"></div> 299 <div class="p-6 flex flex-col flex-1"> 300 <div class="flex items-center justify-between mb-4"> 301 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 302 Guides 303 </span> 304 <span class="text-xs text-gray-400">5 min</span> 305 </div> 306 <div class="flex-1 relative"> 307 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/why-small-repeated-choices-shape-identity-faster-than-big-wins" class="stretched-link">Why Small Repeated Choices Shape Identity Faster Than Big Wins</a></h3> 308 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Big achievements feel defining, but it's the small, repeated choices that actually construct the identity of a healthy person over time.</p> 309 </div> 310 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between">
311 <span class="text-xs text-gray-400">Oct 5, 2026</span> 312 <a href="/blog/guides/why-small-repeated-choices-shape-identity-faster-than-big-wins" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 313 </div> 314 </div> 315 </article> 316 317 318 319 320 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 321 322 <!-- Top accent bar --> 323 <div class="h-1 bg-violet-500"></div> 324 <div class="p-6 flex flex-col flex-1"> 325 <div class="flex items-center justify-between mb-4"> 326 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 327 Guides 328 </span> 329 <span class="text-xs text-gray-400">5 min</span> 330 </div> 331 <div class="flex-1 relative"> 332 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/how-to-build-personal-systems-that-survive-stress" class="stretched-link">How to Build Personal Systems That Survive Stress</a></h3> 333 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">The habits most people build work well under normal conditions and collapse during stress â which is exactly when they're most needed.</p> 334 </div> 335 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 336 <span class="text-xs text-gray-400">Sep 28, 2026</span> 337 <a href="/blog/guides/how-to-build-personal-systems-that-survive-stress" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 338 </div> 339 </div> 340 </article> 341 342 343 344 345 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 346 347 <!-- Top accent bar --> 348 <div class="h-1 bg-violet-500"></div> 349 <div class="p-6 flex flex-col flex-1"> 350 <div class="flex items-center justify-between mb-4"> 351 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 352 Guides 353 </span> 354 <span class="text-xs text-gray-400">5 min</span> 355 </div> 356 <div class="flex-1 relative"> 357 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/why-self-discipline-drops-when-decision-load-rises" class="stretched-link">Why Self-Discipline Drops When Decision Load Rises</a></h3> 358 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Self-discipline isn't a fixed character trait â it's a resource that depletes as decision load increases throughout the day.</p> 359 </div> 360 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 361 <span class="text-xs text-gray-400">Sep 28, 2026</span> 362 <a href="/blog/guides/why-self-discipline-drops-when-decision-load-rises" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 363 </div> 364 </div> 365 </article> 366 367 368 369 370 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 371 372 <!-- Top accent bar --> 373 <div class="h-1 bg-violet-500"></div> 374 <div class="p-6 flex flex-col flex-1"> 375 <div class="flex items-center justify-between mb-4">
376 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 377 Guides 378 </span> 379 <span class="text-xs text-gray-400">5 min</span> 380 </div> 381 <div class="flex-1 relative"> 382 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/what-to-do-when-you-keep-breaking-promises-to-yourself" class="stretched-link">What to Do When You Keep Breaking Promises to Yourself</a></h3> 383 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Breaking self-promises repeatedly erodes trust in yourself. The good news is that self-trust is rebuilt the same way any trust is â through small, consistent follow-through.</p> 384 </div> 385 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 386 <span class="text-xs text-gray-400">Sep 28, 2026</span> 387 <a href="/blog/guides/what-to-do-when-you-keep-breaking-promises-to-yourself" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 388 </div> 389 </div> 390 </article> 391 392 393 394 395 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 396 397 <!-- Top accent bar --> 398 <div class="h-1 bg-violet-500"></div> 399 <div class="p-6 flex flex-col flex-1"> 400 <div class="flex items-center justify-between mb-4"> 401 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 402 Guides 403 </span> 404 <span class="text-xs text-gray-400">5 min</span> 405 </div> 406 <div class="flex-1 relative"> 407 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/how-to-make-healthy-choices-more-automatic" class="stretched-link">How to Make Healthy Choices More Automatic</a></h3> 408 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">The goal of behaviour change isn't to make every decision deliberately â it's to reduce how many decisions need making at all.</p> 409 </div> 410 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 411 <span class="text-xs text-gray-400">Sep 21, 2026</span> 412 <a href="/blog/guides/how-to-make-healthy-choices-more-automatic" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 413 </div> 414 </div> 415 </article> 416 417 418 419 420 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 421 422 <!-- Top accent bar --> 423 <div class="h-1 bg-violet-500"></div> 424 <div class="p-6 flex flex-col flex-1"> 425 <div class="flex items-center justify-between mb-4"> 426 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 427 Guides 428 </span> 429 <span class="text-xs text-gray-400">5 min</span> 430 </div> 431 <div class="flex-1 relative"> 432 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/why-behaviour-change-fails-when-your-environment-stays-the-same" class="stretched-link">Why Behaviour Change Fails When Your Environment Stays the Same</a></h3> 433 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Trying to change your behaviour while your environment stays exactly the same is like trying to row against a current. The environment almost always wins.</p> 434 </div> 435 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between">
436 <span class="text-xs text-gray-400">Sep 21, 2026</span> 437 <a href="/blog/guides/why-behaviour-change-fails-when-your-environment-stays-the-same" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 438 </div> 439 </div> 440 </article> 441 442 443 444 445 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 446 447 <!-- Top accent bar --> 448 <div class="h-1 bg-violet-500"></div> 449 <div class="p-6 flex flex-col flex-1"> 450 <div class="flex items-center justify-between mb-4"> 451 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 452 Guides 453 </span> 454 <span class="text-xs text-gray-400">5 min</span> 455 </div> 456 <div class="flex-1 relative"> 457 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/the-role-of-friction-in-good-and-bad-habits" class="stretched-link">The Role of Friction in Good and Bad Habits</a></h3> 458 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Friction â how easy or hard a behaviour is to perform â is one of the most underestimated variables in habit formation and change.</p> 459 </div> 460 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 461 <span class="text-xs text-gray-400">Sep 21, 2026</span> 462 <a href="/blog/guides/the-role-of-friction-in-good-and-bad-habits" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 463 </div> 464 </div> 465 </article> 466 467 468 469 470 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 471 472 <!-- Top accent bar --> 473 <div class="h-1 bg-violet-500"></div> 474 <div class="p-6 flex flex-col flex-1"> 475 <div class="flex items-center justify-between mb-4"> 476 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 477 Guides 478 </span> 479 <span class="text-xs text-gray-400">5 min</span> 480 </div> 481 <div class="flex-1 relative"> 482 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/the-problem-with-restarting-from-zero-every-monday" class="stretched-link">The Problem With Restarting From Zero Every Monday</a></h3> 483 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">The restart mentality â 'I'll begin fresh on Monday' â is one of the most reliable ways to make sure nothing ever changes for long.</p> 484 </div> 485 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 486 <span class="text-xs text-gray-400">Sep 14, 2026</span> 487 <a href="/blog/guides/the-problem-with-restarting-from-zero-every-monday" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 488 </div> 489 </div> 490 </article> 491 492 493 494 495 <article class="bg-white rounded-3xl border border-gray-100 shadow-sm hover:shadow-md focus-within:shadow-md transition overflow-hidden group flex flex-col"> 496 497 <!-- Top accent bar --> 498 <div class="h-1 bg-violet-500"></div> 499 <div class="p-6 flex flex-col flex-1"> 500 <div class="flex items-center justify-between mb-4">
501 <span class="px-2.5 py-1 text-xs font-bold uppercase tracking-widest rounded-full bg-violet-50 text-violet-700"> 502 Guides 503 </span> 504 <span class="text-xs text-gray-400">5 min</span> 505 </div> 506 <div class="flex-1 relative"> 507 <h3 class="text-lg font-display font-bold text-gray-900 group-hover:text-primary transition leading-snug mb-3 line-clamp-2 group-focus-within:text-primary"><a href="/blog/guides/why-inconsistency-is-usually-a-system-problem" class="stretched-link">Why Inconsistency Is Usually a System Problem</a></h3> 508 <p class="text-sm text-gray-500 leading-relaxed line-clamp-3">Blaming inconsistency on a lack of discipline misses the real cause. Most inconsistency is a system design failure â and systems can be fixed.</p> 509 </div> 510 <div class="mt-5 pt-4 border-t border-gray-50 flex items-center justify-between"> 511 <span class="text-xs text-gray-400">Sep 14, 2026</span> 512 <a href="/blog/guides/why-inconsistency-is-usually-a-system-problem" class="text-xs font-bold text-violet-600 hover:text-violet-800 transition">Read â</a> 513 </div> 514 </div> 515 </article> 516 517 </div> 518 519 520 521 522<nav class="flex items-center justify-center gap-2 mt-10" aria-label="Pagination"> 523 524 525 526 527 <a href="/blog/?page=1" 528 class="px-4 py-2 rounded-full text-sm font-bold transition shadow-sm bg-primary text-white"> 529 1 530 </a> 531 532 533 534 <a href="/blog/?page=2" 535 class="px-4 py-2 rounded-full text-sm font-bold transition shadow-sm bg-white border border-gray-200 text-gray-600 hover:border-accent hover:text-accent"> 536 2 537 </a> 538 539 540 541 <a href="/blog/?page=3" 542 class="px-4 py-2 rounded-full text-sm font-bold transition shadow-sm bg-white border border-gray-200 text-gray-600 hover:border-accent hover:text-accent"> 543 3 544 </a> 545 546 547 548 549 <a href="/blog/?page=2" 550 class="px-4 py-2 bg-white border border-gray-200 rounded-full text-sm font-bold text-gray-600 hover:border-accent hover:text-accent transition shadow-sm"> 551 Next â 552 </a> 553 554</nav> 555 556 557</div> 558</div> 559 560 </main> 561 562 <!-- Playwire in-content ad: hard-coded .pw-placeholder-container (server-rendered so 563 RAMP/Playwire detects it). Bottom Rail, Left Rail, Sticky Sidebar & Corner Ad Video 564 are tagless and injected automatically by ramp.js. --> 565 <div class="max-w-4xl mx-auto px-4"> 566 <div class="pw-placeholder-container"></div> 567 </div> 568 569 <!-- Footer --> 570 <footer class="bg-white border-t border-gray-200 pt-16 pb-8 mt-auto"> 571 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> 572 <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-8 mb-12"> 573 <!-- Brand --> 574 <div class="col-span-2 lg:col-span-2"> 575 <a href="/" class="flex items-center gap-2 mb-4"> 576 <img src="/static/img/logo-icon.webp" alt="Good.You" class="w-7 h-7 rounded-md" loading="lazy"> 577 <span class="text-xl font-bold font-display text-primary">Good.</span><span class="text-xl font-bold font-display text-accent">You</span> 578 </a> 579 <p class="text-gray-500 text-sm leading-relaxed max-w-xs mb-4"> 580 An evidence-aware wellness publication providing practical guidance, free tools, and transparent editorial standards. 581 </p> 582 <div class="flex items-center space-x-2 text-xs text-gray-400"> 583 <span class="w-2 h-2 rounded-full bg-accent inline-block"></span> 584 <span>All content for informational purposes only.</span> 585 </div> 586 </div> 587 <!-- Categories --> 588 <div> 589 <h3 class="text-xs font-bold text-gray-900 tracking-widest uppercase mb-4">Topics</h3> 590 <ul class="space-y-2"> 591 <li><a href="/health" class="text-sm text-gray-500 hover:text-primary transition">Health</a></li> 592 <li><a href="/wellbeing" class="text-sm text-gray-500 hover:text-primary transition">Wellbeing</a></li> 593 <li><a href="/growth" class="text-sm text-gray-500 hover:text-primary transition">Growth</a></li> 594 <li><a href="/lifestyle" class="text-sm text-gray-500 hover:text-primary transition">Lifestyle</a></li> 595 <li><a href="/tools" class="text-sm text-gray-500 hover:text-primary transition">All Tools</a></li> 596 <li><a href="/blog" class="text-sm text-gray-500 hover:text-primary transition">Blog</a></li> 597 </ul> 598 </div> 599 <!-- Trust --> 600 <div> 601 <h3 class="text-xs font-bold text-gray-900 tracking-widest uppercase mb-4">Trust</h3> 602 <ul class="space-y-2"> 603 <li><a href="/about" class="text-sm text-gray-500 hover:text-primary transition">About Us</a></li> 604 <li><a href="/authors" class="text-sm text-gray-500 hover:text-primary transition">Our Authors</a></li> 605 <li><a href="/editorial-policy" class="text-sm text-gray-500 hover:text-primary transition">Editorial Policy</a></li> 606 <li><a href="/research-methodology" class="text-sm text-gray-500 hover:text-primary transition">Research Methodology</a></li> 607 <li><a href="/medical-disclaimer" class="text-sm text-gray-500 hover:text-primary transition">Medical Disclaimer</a></li> 608 <li><a href="/affiliate-disclosure" class="text-sm text-gray-500 hover:text-primary transition">Affiliate Disclosure</a></li> 609 </ul> 610 </div> 611 <!-- Support --> 612 <div> 613 <h3 class="text-xs font-bold text-gray-900 tracking-widest uppercase mb-4">Support</h3> 614 <ul class="space-y-2"> 615 <li><a href="/contact" class="text-sm text-gray-500 hover:text-primary transition">Contact Us</a></li> 616 <li><a href="/feedback" class="text-sm text-gray-500 hover:text-primary transition">Send Feedback</a></li> 617 <li><a href="/faq" class="text-sm text-gray-500 hover:text-primary transition">FAQ</a></li> 618 <li><a href="/features" class="text-sm text-gray-500 hover:text-primary transition">Features</a></li> 619 <li><a href="/accessibility" class="text-sm text-gray-500 hover:text-primary transition">Accessibility</a></li> 620 </ul> 621 </div> 622 <!-- Legal & Connect --> 623 <div> 624 <h3 class="text-xs font-bold text-gray-900 tracking-widest uppercase mb-4">Legal</h3> 625 <ul class="space-y-2"> 626 <li><a href="/privacy" class="text-sm text-gray-500 hover:text-primary transition">Privacy Policy</a></li> 627 <li><a href="/terms" class="text-sm text-gray-500 hover:text-primary transition">Terms of Use</a></li> 628 <li><a href="/cookies" class="text-sm text-gray-500 hover:text-primary transition">Cookie Policy</a></li> 629 </ul> 630 <h3 class="text-xs font-bold text-gray-900 tracking-widest uppercase mt-6 mb-4">Connect</h3> 631 <ul class="space-y-2"> 632 <li><a href="/newsletter" class="text-sm text-gray-500 hover:text-primary transition">Newsletter</a></li> 633 <li>
633<a href="/rss.xml" class="text-sm text-gray-500 hover:text-primary transition">RSS Feed</a></li> 634 </ul> 635 </div> 636 </div> 637 <div class="border-t border-gray-100 pt-8 flex flex-col md:flex-row justify-between items-center gap-4"> 638 <p class="text-sm text-gray-400"> 639 © 2026 Good.You. All rights reserved. 640 </p> 641 <div class="flex items-center space-x-6 text-xs text-gray-400"> 642 <a href="/sitemap" class="hover:text-primary transition">Sitemap</a> 643 <span>|</span> 644 <span>Content is for informational purposes only — not medical advice.</span> 645 </div> 646 </div> 647 </div> 648 </footer> 649 650
650<script> 651 // Pass current year to footer 652 document.addEventListener('DOMContentLoaded', function() { 653 document.querySelectorAll('.footer-year').forEach(el => { 654 el.textContent = new Date().getFullYear(); 655 }); 656 }); 657 658 // Inject CSRF token into every HTMX request automatically 659 document.body.addEventListener('htmx:configRequest', function(evt) { 660 evt.detail.headers['X-CSRFToken'] = 'Ijg2ZDg0NWEwMzVjNWU1ZmU3NzM5MjVhMzI2YmQ5ZmRmNzVmOTQ5ZDUi.asdxPQ.NpmkG68AUWKwcAVGFNEOHAJv7Js'; 661 }); 662 </script>
662 663 664 <!-- Push notifications SDK --> 665
665<script async data-cfasync="false"> 666 (function() { 667 const url = new URL(window.location.href); 668 const clickID = url.searchParams.get("click_id"); 669 const sourceID = "good.you"; 670 let growthState = null; 671 try { growthState = JSON.parse(localStorage.getItem("you:growth:v1:" + location.hostname.replace(/^www\./, ""))); } catch (_) {} 672 if (!growthState || !growthState.lastVisit) return; 673 const trackPush = (event) => { if (window.youGrowth) window.youGrowth.track(event); }; 674 675 const s = document.createElement("script"); 676 s.dataset.cfasync = "false"; 677 s.src = "https://sdk4push.com/f/sdk.js?z=2187891"; 678 s.onload = (opts) => { 679 opts.zoneID = 2187891; 680 opts.extClickID = clickID; 681 opts.subID1 = sourceID; 682 opts.actions.onPermissionGranted = () => trackPush("push_granted"); 683 opts.actions.onPermissionDenied = () => trackPush("push_denied"); 684 opts.actions.onAlreadySubscribed = () => trackPush("push_subscribed"); 685 opts.actions.onError = () => trackPush("push_error"); 686 }; 687 document.head.appendChild(s); 688 })() 689 </script>
689 690 691
691<script src="/static/js/growth.js?v=1" defer></script>
691 692 693 <!-- Playwire RAMP loader (Pub 1025215 / Site 77527). In-content ad uses the hard-coded 694 .pw-placeholder-container div above; other units are tagless / auto-injected. --> 695
695<script data-cfasync="false" async src="//cdn.intergient.com/1025215/77527/ramp.js"></script>
695 696
696<script data-cfasync="false"> 697 window.ramp.que.push(function () { window.ramp.spaNewPage(); }); 698 </script>
698 699</body> 700</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.