:root{--tpp-ink:#21332b;--tpp-cream:#fbf7ef;--tpp-sage:#dfe9df;--tpp-green:#38634f;--tpp-coral:#e78065;--tpp-gold:#e7bc66;--tpp-white:#fff;--tpp-muted:#65736c;--tpp-radius:20px;--tpp-shadow:0 14px 40px rgba(33,51,43,.10)}
body{color:var(--tpp-ink)}
.home .entry-hero.page-hero-section{display:none}
.home .content-area{margin-bottom:0;margin-top:0}
.home .site-main>article{margin:0}
.home .entry-content-wrap{padding:0}
.home .entry-content{margin:0}
h1,h2,h3{letter-spacing:-.025em}
a{color:var(--tpp-green)}
.tpp-hero,.tpp-page-hero{background:linear-gradient(135deg,var(--tpp-cream),#f1eadb);box-sizing:border-box;overflow:hidden;padding-block:clamp(3rem,6vw,5.5rem);width:100%}
/* The full-width hero owns its horizontal inset. This remains effective even
   if WordPress/Kadence changes or omits an inner Gutenberg wrapper. */
body.home .tpp-hero{padding-left:clamp(1.5rem,5vw,4rem)!important;padding-right:clamp(1.5rem,5vw,4rem)!important}
.home .tpp-hero>.tpp-hero-inner{box-sizing:border-box;margin-left:auto!important;margin-right:auto!important;max-width:1280px!important;padding-left:0!important;padding-right:0!important;width:100%!important}
.home .tpp-hero>.tpp-hero-inner>.wp-block-columns{gap:clamp(2rem,5vw,4.5rem);margin:0;width:100%}
.tpp-page-hero{padding-inline:clamp(1.5rem,5vw,4rem)}
/* Kadence can apply full-width negative margins and inherited block gaps to
   constrained groups on interior pages. Keep the panel full-width while
   giving its direct content a reliable centered inset and compact rhythm. */
body.page:not(.home) .content-area{margin-top:0}
body.page:not(.home) .site-main>article{margin-top:0}
body.page:not(.home) .entry-content>.tpp-page-hero{box-sizing:border-box!important;margin-top:0!important;padding:clamp(3.25rem,5vw,4.5rem) clamp(1.5rem,5vw,4rem)!important}
body.page:not(.home) .entry-content>.tpp-page-hero>*{box-sizing:border-box;margin-left:auto!important;margin-right:auto!important;max-width:1160px!important;width:100%!important}
body.page:not(.home) .entry-content>.tpp-page-hero>.tpp-eyebrow{margin-bottom:.9rem!important;margin-top:0!important}
body.page:not(.home) .entry-content>.tpp-page-hero>h1{margin-bottom:1rem!important;margin-top:0!important}
body.page:not(.home) .entry-content>.tpp-page-hero>.has-large-font-size{margin-bottom:0!important;margin-top:0!important}
.tpp-hero h1{font-size:clamp(2.75rem,5.5vw,5rem);line-height:1;max-width:720px;margin-bottom:1.25rem}
.tpp-hero .has-large-font-size{line-height:1.55;max-width:680px}
.tpp-page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.tpp-page-hero>p{max-width:760px}
.tpp-eyebrow{color:var(--tpp-coral);font-size:.78rem;font-weight:800;letter-spacing:.16em;margin-bottom:.75rem}
.tpp-microcopy{color:var(--tpp-muted);font-size:.88rem}
.tpp-hero-photo{aspect-ratio:4/5;border:10px solid rgba(255,255,255,.7);border-radius:46% 46% 18% 18%;box-shadow:var(--tpp-shadow);margin:0;overflow:hidden;transform:rotate(1.5deg)}
.tpp-hero-photo img{display:block;height:100%;object-fit:cover;width:100%}
.tpp-section{box-sizing:border-box;margin-left:auto!important;margin-right:auto!important;max-width:1160px!important;padding:clamp(3rem,6vw,5rem) 1.5rem;width:100%}
.tpp-article{box-sizing:border-box;margin-left:auto!important;margin-right:auto!important;max-width:820px!important;padding:clamp(2.5rem,5vw,4.5rem) 1.5rem;width:100%}
.tpp-article>h2{margin-top:2.25rem}.tpp-article>h2:first-child{margin-top:0}.tpp-article p,.tpp-article li{line-height:1.75}.tpp-article li+li{margin-top:.45rem}
.tpp-takeaway{background:var(--tpp-sage);border-radius:var(--tpp-radius);margin-top:2.5rem;padding:1.5rem 1.75rem}.tpp-takeaway h2{font-size:1.35rem;margin-top:0}.tpp-takeaway p{margin-bottom:0}
.tpp-medical-note{border-top:1px solid rgba(56,99,79,.18);color:var(--tpp-muted);font-size:.88rem;margin-top:2.5rem;padding-top:1.25rem}
.tpp-card-grid{gap:1.5rem;flex-wrap:wrap}
.tpp-card-grid>.wp-block-column{min-width:240px}
.tpp-card{background:var(--tpp-white);border:1px solid rgba(56,99,79,.15);border-radius:var(--tpp-radius);box-shadow:0 8px 28px rgba(33,51,43,.07);height:100%;padding:1.75rem;transition:transform .2s ease,box-shadow .2s ease}
.tpp-card:hover{box-shadow:var(--tpp-shadow);transform:translateY(-4px)}
.tpp-card h3{margin-top:0}
.tpp-card a{font-weight:750;text-decoration:none}
.tpp-band{background:var(--tpp-green);color:var(--tpp-white);padding:clamp(3rem,6vw,5rem) 1.5rem}
.tpp-band h2,.tpp-band p{color:var(--tpp-white)}
.tpp-band .wp-block-buttons{justify-content:center;margin-top:1.5rem}.tpp-band .wp-block-button__link{background:var(--tpp-white)!important;color:var(--tpp-green)!important}.tpp-band-note{font-size:.86rem;margin-top:.75rem;opacity:.8}
.tpp-optin{background:var(--tpp-sage);border-radius:var(--tpp-radius);margin-bottom:3rem;max-width:1160px!important;padding:clamp(2rem,5vw,4rem);width:calc(100% - 3rem)!important}
/* Kadence applies its own spacing to wide constrained groups. Target the live
   Starter Pack block directly so its contents cannot sit against the panel
   border even when the theme's group rule wins the normal cascade. */
body.home #starter-pack.tpp-optin{box-sizing:border-box!important;padding:clamp(2rem,5vw,4rem)!important}
body.home #starter-pack.tpp-optin>.wp-block-columns{box-sizing:border-box;gap:clamp(2rem,4vw,3.5rem);margin:0!important;width:100%!important}
body.home #starter-pack.tpp-optin>.wp-block-columns>.wp-block-column{box-sizing:border-box;min-width:0}
body.home #starter-pack .tpp-email-form{max-width:100%;overflow:hidden}
.tpp-form-placeholder,.tpp-email-form{background:var(--tpp-white);border-radius:16px;box-shadow:var(--tpp-shadow);box-sizing:border-box;padding:2rem;width:100%}
.tpp-form-placeholder h3{margin:.35rem 0 .75rem}.tpp-form-placeholder p{margin-bottom:0}.tpp-form-kicker{color:var(--tpp-coral);font-size:.72rem;font-weight:850;letter-spacing:.14em}
.tpp-email-form input[type="text"],.tpp-email-form input[type="email"]{background:#fff;border:1px solid rgba(33,51,43,.3);border-radius:10px;box-sizing:border-box;font:inherit;min-height:48px;padding:.75rem 1rem;width:100%}.tpp-email-form input:focus{border-color:var(--tpp-green);box-shadow:0 0 0 3px rgba(56,99,79,.16);outline:0}.tpp-email-form button,.tpp-email-form input[type="submit"]{background:var(--tpp-coral);border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-weight:750;margin-top:.75rem;min-height:48px;padding:.8rem 1.35rem}.tpp-email-form label{color:var(--tpp-ink);font-weight:700}
.wp-block-button__link,.tpp-button{background:var(--tpp-coral)!important;border-radius:999px!important;color:var(--tpp-white)!important;display:inline-block;font-weight:750;padding:.85rem 1.35rem;text-decoration:none}
.wp-block-button__link:hover,.tpp-button:hover{filter:brightness(.94);transform:translateY(-1px)}
.wp-block-button__link:focus-visible,.tpp-button:focus-visible,.tpp-footer-nav a:focus-visible{outline:3px solid var(--tpp-gold);outline-offset:3px}
#starter-pack{scroll-margin-top:2rem}
.tpp-disclosure{background:var(--tpp-cream);border-left:4px solid var(--tpp-gold);font-size:.9rem;margin:1.5rem 0;padding:1rem 1.25rem}
.tpp-product{align-items:center;background:var(--tpp-sage);border-radius:var(--tpp-radius);display:flex;gap:2rem;justify-content:space-between;margin:2rem 0;padding:1.5rem}
.tpp-product h3{margin:.25rem 0}.tpp-product p{margin:.25rem 0}.tpp-product-kicker{color:var(--tpp-green);font-size:.7rem;font-weight:850;letter-spacing:.14em}
.tpp-post-grid li{background:var(--tpp-white);border:1px solid rgba(56,99,79,.12);border-radius:16px;padding:1.25rem}
#colophon.site-footer{display:none}
.tpp-site-footer{background:var(--tpp-ink);color:rgba(255,255,255,.78);padding:3.25rem 1.5rem 2rem}
.tpp-footer-inner{margin:0 auto;max-width:1160px}
.tpp-footer-brand strong{color:var(--tpp-white);font-size:1.35rem}.tpp-footer-brand p{margin:.35rem 0 1.5rem}
.tpp-footer-nav{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem}.tpp-footer-nav a{color:var(--tpp-white);font-size:.92rem;font-weight:700;text-decoration:none}.tpp-footer-nav a:hover{text-decoration:underline}
.tpp-footer-note{border-top:1px solid rgba(255,255,255,.14);font-size:.78rem;margin:2rem 0 0;padding-top:1.25rem}
@media(max-width:781px){.tpp-hero{text-align:center}body.home .tpp-hero{padding-left:1.25rem!important;padding-right:1.25rem!important}.home .tpp-hero>.tpp-hero-inner>.wp-block-columns{gap:1.5rem}.tpp-hero h1{font-size:clamp(2.45rem,12vw,4rem)}.tpp-hero .wp-block-buttons{justify-content:center}.tpp-hero-photo{aspect-ratio:4/3;margin:1rem auto 0;max-width:560px}.tpp-optin{width:calc(100% - 2.5rem)!important}body.home #starter-pack.tpp-optin{padding:2rem!important}body.home #starter-pack.tpp-optin>.wp-block-columns{gap:1.5rem}.tpp-product{align-items:flex-start;flex-direction:column}.tpp-card-grid{display:block}.tpp-card-grid>.wp-block-column{margin-bottom:1rem}}
@media(max-width:480px){.tpp-hero{padding-block:2.5rem}body.home .tpp-hero{padding-left:1rem!important;padding-right:1rem!important}.tpp-hero h1{font-size:2.55rem;line-height:1.04}.tpp-hero .has-large-font-size{font-size:1.05rem!important}.tpp-hero-photo{border-width:7px}.tpp-section{padding-left:1rem;padding-right:1rem}.tpp-optin{width:calc(100% - 2rem)!important}body.home #starter-pack.tpp-optin{padding:1.25rem!important}.tpp-form-placeholder,.tpp-email-form{padding:1.35rem}body.page:not(.home) .entry-content>.tpp-page-hero{padding:2.5rem 1rem!important}.tpp-page-hero h1{font-size:clamp(2.25rem,11vw,3rem);line-height:1.08}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.tpp-card,.wp-block-button__link,.tpp-button{transition:none!important}.tpp-card:hover,.wp-block-button__link:hover,.tpp-button:hover{transform:none!important}}
