/* The complete Practices family: quick sessions first, deeper resources next. */
.parallel-practices-page :is(.pp-guide-library, .pp-resources) { scroll-margin-top: 104px; }
.pp-tool-directory { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; }
.pp-tool-directory > span { color: #5e6a54; font-size: 11px; line-height: 1.7; }
.pp-tool-directory .p-text-link { font-size: 11px; }
.pp-guide-library { padding-block: 67px 66px; }
.pp-section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 64px; margin-bottom: 32px; }
.pp-section-heading .j-kicker { margin-bottom: 17px; }
.pp-section-heading h2 { max-width: 650px; font-size: clamp(33px, 3.6vw, 49px); letter-spacing: -.055em; line-height: 1.09; }
.pp-section-heading > p { max-width: 420px; margin-bottom: 2px; color: #5c6556; font-size: 14px; line-height: 1.8; }
.pp-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pp-guide { --pp-guide-theme: #e3eadb; min-width: 0; border: 1px solid #d8ded0; border-radius: 15px; background: #fffdf6; }
.pp-guide[data-theme="blue"] { --pp-guide-theme: #e0ebee; }
.pp-guide[data-theme="peach"] { --pp-guide-theme: #f1e5d8; }
.pp-guide > a { display: flex; flex-direction: column; height: 100%; min-height: 278px; padding: 25px 26px 19px; border-radius: inherit; transition: background .2s; }
.pp-guide-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 21px; border-radius: 50%; background: var(--pp-guide-theme); color: #506444; }
.pp-guide-icon svg { width: 23px; height: 23px; }
.pp-guide-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.pp-guide-category { color: #67735d; font-size: 9px; font-weight: 500; letter-spacing: .085em; line-height: 1.6; text-transform: uppercase; }
.pp-guide h3 { margin-top: 8px; font-size: 27px; font-weight: 550; line-height: 1.16; letter-spacing: -.045em; }
.pp-guide p { margin-top: 12px; margin-bottom: 18px; color: #606959; font-size: 13px; line-height: 1.75; }
.pp-guide-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 9px; margin-top: auto; }
.pp-guide-bottom > span:first-child { color: #647158; font-size: 9px; line-height: 1.5; }
.pp-guide-action { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #334e2c; font-size: 10px; font-weight: 500; white-space: nowrap; }
.pp-guide-action .j-arrow { width: 14px; height: 14px; transition: transform .2s var(--j-ease); }
.pp-guide > a:hover { background: #f1f5e9; }
.pp-guide > a:hover .j-arrow { transform: translateX(3px); }
.pp-resources { padding-block: 51px 52px; background: #e3eade; }
.pp-resource-heading { margin-bottom: 27px; }
.pp-resource-heading .j-kicker { margin-bottom: 15px; color: #5c6b50; }
.pp-resource-heading h2 { font-size: clamp(28px, 2.7vw, 38px); letter-spacing: -.047em; line-height: 1.13; }
.pp-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 42px; }
.pp-resource { display: grid; grid-template-columns: 38px minmax(0,1fr) 28px; align-items: start; gap: 17px; min-height: 153px; padding-block: 25px 22px; border-top: 1px solid #9baa8e7a; transition: color .2s; }
.pp-resource-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-top: 7px; border-radius: 50%; color: #3b5831; background: #f4f7edab; }
.pp-resource-icon svg { width: 21px; height: 21px; }
.pp-resource-eyebrow { color: #56674a; font-size: 9px; font-weight: 500; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.pp-resource h3 { margin-top: 7px; font-size: 23px; letter-spacing: -.035em; line-height: 1.2; font-weight: 550; }
.pp-resource p { max-width: 420px; margin-top: 10px; color: #53634a; font-size: 13px; line-height: 1.7; }
.pp-resource-arrow { display: grid; place-items: center; width: 28px; height: 28px; margin-top: 22px; }
.pp-resource-arrow .j-arrow { width: 18px; height: 18px; transition: transform .2s var(--j-ease); }
.pp-resource:hover { color: #426b31; }
.pp-resource:hover .pp-resource-arrow .j-arrow { transform: translateX(3px); }
.pp-resource:focus-visible { outline-offset: 7px; border-radius: 3px; }
@media (max-width: 1100px) {
  .pp-section-heading { gap: 38px; }
  .pp-guide > a { padding-inline: 22px; }
  .pp-guide h3 { font-size: 25px; }
  .pp-guide-bottom { display: block; }
  .pp-guide-bottom > span:first-child { display: block; }
  .pp-guide-action { margin-top: 1px; }
}
@media (max-width: 850px) {
  .pp-guide-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
  .pp-guide > a { min-height: 281px; }
  .pp-guide-bottom { display: flex; }
  .pp-resource-grid { gap: 0 25px; }
  .pp-resource { grid-template-columns: 30px minmax(0,1fr) 20px; gap: 12px; }
  .pp-resource-icon { width: 30px; height: 30px; }
  .pp-resource-icon svg { width: 18px; height: 18px; }
  .pp-resource-arrow { width: 20px; }
  .pp-resource h3 { font-size: 21px; }
}
@media (max-width: 720px) {
  .parallel-practices-page :is(.pp-guide-library, .pp-resources) { scroll-margin-top: 90px; }
  .pp-tool-directory { display: block; margin-top: 18px; }
  .pp-tool-directory > span { font-size: 11px; }
  .pp-tool-directory .p-text-link { display: flex; justify-content: space-between; font-size: 12px; margin-top: 3px; }
  .pp-guide-library { padding-block: 43px; }
  .pp-section-heading { display: block; margin-bottom: 23px; }
  .pp-section-heading .j-kicker { font-size: 9px; margin-bottom: 15px; }
  .pp-section-heading h2 { max-width: 390px; font-size: 34px; }
  .pp-section-heading > p { max-width: 420px; margin-top: 17px; font-size: 16px; line-height: 1.65; }
  .pp-guide-grid { grid-template-columns: 1fr; gap: 13px; }
  .pp-guide > a { display: grid; grid-template-columns: 39px minmax(0,1fr); align-items: start; gap: 14px; min-height: 0; padding: 21px 20px 13px; }
  .pp-guide-icon { width: 39px; height: 39px; margin-top: 2px; margin-bottom: 0; }
  .pp-guide-icon svg { width: 21px; height: 21px; }
  .pp-guide h3 { margin-top: 6px; font-size: 25px; }
  .pp-guide-category { font-size: 8px; }
  .pp-guide p { font-size: 15px; line-height: 1.65; margin-top: 10px; margin-bottom: 10px; }
  .pp-guide-bottom { gap: 2px 8px; }
  .pp-guide-bottom > span:first-child { font-size: 9px; }
  .pp-guide-action { font-size: 10px; }
  .pp-resources { padding-block: 36px 25px; }
  .pp-resource-heading { margin-bottom: 23px; }
  .pp-resource-heading .j-kicker { font-size: 9px; }
  .pp-resource-heading h2 { max-width: 450px; font-size: 31px; }
  .pp-resource-grid { grid-template-columns: 1fr; }
  .pp-resource { min-height: 0; padding-block: 22px; grid-template-columns: 35px minmax(0,1fr) 20px; gap: 14px; }
  .pp-resource-icon { width: 35px; height: 35px; }
  .pp-resource-icon svg { width: 20px; height: 20px; }
  .pp-resource h3 { font-size: 22px; }
  .pp-resource p { font-size: 15px; line-height: 1.65; }
  .pp-resource-eyebrow { font-size: 8px; }
}
@media (max-width: 360px) {
  .pp-section-heading h2 { font-size: 31px; }
  .pp-guide > a { padding-inline: 16px; gap: 11px; grid-template-columns: 33px minmax(0,1fr); }
  .pp-guide-icon { width: 33px; height: 33px; }
  .pp-guide-icon svg { width: 19px; height: 19px; }
  .pp-guide h3 { font-size: 24px; }
  .pp-guide-bottom { display: block; }
  .pp-guide-action { margin-top: 1px; }
  .pp-resource-heading h2 { font-size: 29px; }
  .pp-resource { gap: 10px; grid-template-columns: 31px minmax(0,1fr) 18px; }
  .pp-resource-icon { width: 31px; height: 31px; }
  .pp-resource-arrow { width: 18px; }
  .pp-resource h3 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .parallel-practices-page :is(.pp-guide > a, .pp-guide-action .j-arrow, .pp-resource, .pp-resource-arrow .j-arrow) { transition: none; }
}
