/* Homepage: Personal Plan teaser + Resources. Compact by design. */
.pp-home-wrap { width: 100%; position: relative; z-index: 1; overflow-x: clip; }
.pp-home { position: relative; text-align: center; margin: 8px auto 0; padding: 28px 22px; border-radius: 20px; border: 1px solid rgba(230,0,126,0.45); background: linear-gradient(160deg, rgba(230,0,126,0.12), rgba(19,19,32,0.9) 60%); box-shadow: 0 0 60px rgba(230,0,126,0.12); max-width: 100%; box-sizing: border-box; }
.pp-home-heading { font-family: 'Space Grotesk', sans-serif; font-size: clamp(22px, 5.6vw, 30px); line-height: 1.18; letter-spacing: -0.01em; margin: 6px 0 10px; color: var(--text); }
.pp-home-heading span { color: var(--accent-2); }
.pp-home-price { margin: 10px 0 16px; font-size: 14px; color: var(--text-dim); }
.pp-home-price strong { color: var(--text); font: 700 24px 'Space Grotesk', sans-serif; }
.pp-home-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 28px; border-radius: 14px; background: var(--accent); color: #fff; font: 800 16px 'Manrope', sans-serif; text-decoration: none; box-shadow: 0 8px 26px rgba(230,0,126,0.32); max-width: 100%; }
.pp-home-cta:hover { filter: brightness(1.08); }
.pp-home-cta:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; }
@media (min-width: 681px) { .pp-home-wrap { display: flex; justify-content: center; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 0 32px; box-sizing: border-box; } .pp-home { max-width: 860px; width: 100%; padding: 30px 40px; } }
.pp-footer { width: 100%; max-width: 460px; margin: 56px auto 0; padding: 0 0 72px; text-align: center; position: relative; z-index: 1; }
.pp-footer-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 14px; font: 500 13px 'Manrope', sans-serif; color: rgba(200,204,225,.55); }
.pp-footer-links a, .pp-footer-links button { color: rgba(214,218,238,.78); background: none; border: 0; padding: 8px 2px; font: inherit; text-decoration: none; cursor: pointer; transition: color .18s; }
.pp-footer-links a:hover, .pp-footer-links button:hover { color: #fff; }
.pp-footer-links a:focus-visible, .pp-footer-links button:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; border-radius: 4px; color: #fff; }

/* Compact product row: Overthinking Reset + Strong Mind (secondary products -- deliberately much smaller than Coach / Personal Plan / Mind Studio). */
.pp-tools-wrap { width: 100%; position: relative; z-index: 1; margin-top: 16px; }
.pp-tools { display: grid; grid-template-columns: 1fr; gap: 12px; width: 100%; }
.pp-tool {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; box-sizing: border-box;
  padding: 20px 20px 18px; border-radius: 18px; min-height: 0;
  background: linear-gradient(155deg, rgba(16, 26, 62, .74) 0%, rgba(9, 14, 36, .68) 55%, rgba(12, 14, 40, .76) 100%);
  border: 1px solid rgba(120, 165, 255, .18);
  box-shadow: inset 0 1px 0 rgba(170, 210, 255, .12), inset 0 0 0 1px rgba(70, 100, 210, .06), 0 18px 40px -20px rgba(0, 0, 0, .7), 0 0 40px -22px rgba(70, 130, 255, .30);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  transition: border-color .2s, box-shadow .2s;
}
.pp-tool--reset { border-color: rgba(34, 211, 238, .26); background-image: radial-gradient(70% 60% at 0% 0%, rgba(34, 211, 238, .10), transparent 70%), linear-gradient(155deg, rgba(16, 26, 62, .74), rgba(9, 14, 36, .68) 55%, rgba(12, 14, 40, .76)); }
.pp-tool--strong { border-color: rgba(139, 120, 255, .30); background-image: radial-gradient(70% 60% at 100% 0%, rgba(139, 92, 246, .14), transparent 70%), linear-gradient(155deg, rgba(18, 24, 64, .76), rgba(10, 13, 38, .70) 55%, rgba(14, 14, 44, .78)); }
.pp-tool:hover, .pp-tool:focus-within { box-shadow: inset 0 1px 0 rgba(170, 210, 255, .16), inset 0 0 0 1px rgba(70, 100, 210, .08), 0 18px 40px -20px rgba(0, 0, 0, .7), 0 0 46px -14px rgba(80, 150, 255, .42); }
.pp-tool-badge { position: absolute; top: 14px; right: 14px; padding: 4px 10px; border-radius: 999px; font: 800 11px/1 'Manrope', sans-serif; letter-spacing: .08em; color: #8ff0ff; background: rgba(34, 211, 238, .12); border: 1px solid rgba(34, 211, 238, .4); }
.pp-tool--strong .pp-tool-badge { color: #d4c8ff; background: rgba(139, 92, 246, .16); border-color: rgba(167, 139, 250, .5); }
.pp-tool-name { margin: 0; padding-right: 64px; font: 700 15px/1.25 'Space Grotesk', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: #fff; }
.pp-tool-kicker { margin: 2px 0 0; font: 700 13px/1.35 'Manrope', sans-serif; color: #8ff0ff; }
.pp-tool-text { margin: 0; flex: 1; font-size: 13.5px; line-height: 1.5; color: rgba(226, 229, 244, .86); }
.pp-tool-cta { margin-top: 10px; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; font: 700 13.5px 'Manrope', sans-serif; text-decoration: none; cursor: pointer; border: 1px solid rgba(34, 211, 238, .55); background: rgba(34, 211, 238, .13); color: #8ff0ff; transition: background .18s, border-color .18s, color .18s; }
.pp-tool-cta:hover { background: rgba(34, 211, 238, .26); border-color: #5fe6fa; color: #fff; }
.pp-tool--strong .pp-tool-cta { border-color: rgba(167, 139, 250, .6); background: rgba(139, 92, 246, .2); color: #e3dbff; }
.pp-tool--strong .pp-tool-cta:hover { background: rgba(139, 92, 246, .36); border-color: #b9a5ff; color: #fff; }
.pp-tool-cta:focus-visible { outline: 2px solid var(--accent-2); outline-offset: 3px; }
@media (min-width: 681px) {
  .pp-tools-wrap { display: flex; justify-content: center; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 0 32px; box-sizing: border-box; }
  .pp-tools { grid-template-columns: repeat(2, minmax(0, 270px)); justify-content: center; gap: 16px; width: auto; }
  .pp-tool { min-height: 230px; }
}
