/* Content-only rules. Enqueued for the eight approved Solutions page IDs. */
.tc-solutions-page {
  margin: 0 !important;
  width: 100%;
  color: var(--tc-ink, #1e2522);
  background: var(--tc-surface, #f4f1e8);
  font-family: var(--wp--preset--font-family--system);
  font-size: 17px;
  line-height: 1.65;
}
.tc-solutions-page *, .tc-solutions-page *::before, .tc-solutions-page *::after { box-sizing: border-box; }
.tc-solutions-page .wp-block-post-content { margin: 0; }
.tc-solutions-page :where(h1,h2,h3,p,figure,ul,ol,.wp-block-group,.wp-block-buttons) { margin-block: 0; }
.tc-solutions-page :where(h1,h2,h3) { color: inherit; letter-spacing: 0; font-weight: 760; }
.tc-solutions-page h1 { font-size: 54px; line-height: 1.08; max-width: 920px; margin-inline: auto; text-wrap: balance; }
.tc-solutions-page h2 { font-size: 36px; line-height: 1.15; text-wrap: balance; }
.tc-solutions-page h3 { font-size: 22px; line-height: 1.25; }
.tc-solutions-page p { overflow-wrap: break-word; }
.tc-solutions-page .tc-sol-inner { max-width: var(--tc-max, 1180px); width: 100%; margin-inline: auto; padding-inline: 48px; }
.tc-solutions-page .tc-sol-band { padding-block: 58px; }
.tc-solutions-page .tc-sol-soft { background: var(--tc-surface-soft, #e6dfd2); }
.tc-solutions-page .tc-sol-dark { background: var(--tc-deep, #15231f); color: var(--tc-panel, #fffdf7); }
.tc-solutions-page .tc-sol-hero { text-align: center; padding-block: 48px 32px; }
.tc-solutions-page .tc-sol-eyebrow { color: var(--tc-accent, #577069); font-size: 12px; line-height: 1.4; font-weight: 750; text-transform: uppercase; margin-bottom: 12px; }
.tc-solutions-page .tc-sol-intro { max-width: 740px; margin: 20px auto 24px; color: var(--tc-muted, #69706a); font-size: 18px; line-height: 1.6; }
.tc-solutions-page .tc-sol-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-block: 24px 0; }
.tc-solutions-page .tc-sol-actions .wp-block-button { min-width: 0; }
.tc-solutions-page .tc-sol-actions .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 23px; border: 1px solid var(--tc-accent-dark,#233b35); border-radius: 999px; background: var(--tc-accent-dark,#233b35); color: var(--tc-panel,#fffdf7); font: inherit; font-size: 15px; line-height: 1.35; font-weight: 700; text-decoration: none; }
.tc-solutions-page .tc-sol-actions .tc-sol-secondary .wp-block-button__link { background: transparent; color: inherit; border-color: #87968e; }
.tc-solutions-page .tc-sol-dark .tc-sol-actions .wp-block-button:not(.tc-sol-secondary) .wp-block-button__link { background: var(--tc-panel,#fffdf7); color: var(--tc-deep,#15231f); border-color: var(--tc-panel,#fffdf7); }
.tc-solutions-page a:hover { text-decoration-thickness: 2px; }
.tc-solutions-page .wp-block-button__link:hover { filter: brightness(0.93); }
.tc-solutions-page :where(a,summary):focus-visible { outline: 3px solid #779a8a; outline-offset: 4px; }
.tc-solutions-page .tc-sol-hero-image { max-width: 1084px; margin: 30px auto 0; }
.tc-solutions-page .tc-sol-hero-image img { display: block; width: 100%; height: 370px; object-fit: contain; background: #e8e7e3; border-radius: var(--tc-radius,8px); }
.tc-solutions-page figcaption { color: var(--tc-muted,#69706a); font-size: 12px; line-height: 1.5; margin-top: 10px; text-align: left; }
.tc-solutions-page .tc-sol-section-head { max-width: 760px; margin-bottom: 28px; }
.tc-solutions-page .tc-sol-section-head p:not(.tc-sol-eyebrow) { margin-top: 14px; color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px 24px; }
.tc-solutions-page .tc-sol-card { min-width: 0; border-bottom: 1px solid var(--tc-line,#d5ccbd); padding-bottom: 20px; }
.tc-solutions-page .tc-sol-card img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--tc-radius,8px); }
.tc-solutions-page .tc-sol-card h3 { font-size: 21px; margin-top: 16px; }
.tc-solutions-page .tc-sol-card p { color: var(--tc-muted,#69706a); margin-top: 10px; font-size: 15px; line-height: 1.55; }
.tc-solutions-page .tc-sol-card .tc-sol-link { color: var(--tc-accent-dark,#233b35); font-weight: 700; margin-top: 16px; }
.tc-solutions-page .tc-sol-card h3 a { text-decoration: none; }
.tc-solutions-page .tc-sol-caption { color: var(--tc-muted,#69706a); font-size: 13px; margin-top: 22px; }
.tc-solutions-page .tc-sol-two { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: start; }
.tc-solutions-page .tc-sol-copy > * + * { margin-top: 18px; }
.tc-solutions-page .tc-sol-copy p { color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-dark p { color: #c7d3cc; }
.tc-solutions-page .tc-sol-dark .tc-sol-section-head p:not(.tc-sol-eyebrow) { color: #c7d3cc; }
.tc-solutions-page .tc-sol-dark .tc-sol-eyebrow { color: #b5cbbf; }
.tc-solutions-page .tc-sol-rule-list { list-style: none; padding: 0; }
.tc-solutions-page .tc-sol-rule-item { border-top: 1px solid var(--tc-line,#d5ccbd); padding-block: 16px; }
.tc-solutions-page .tc-sol-rule-item h3 { font-size: 21px; margin-bottom: 5px; }
.tc-solutions-page .tc-sol-rule-list p { font-size: 15px; color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.tc-solutions-page .tc-sol-check { border-top: 1px solid var(--tc-line,#d5ccbd); padding-top: 20px; }
.tc-solutions-page .tc-sol-check h3 { font-size: 21px; }
.tc-solutions-page .tc-sol-check p { margin-top: 12px; font-size: 16px; color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-dark .tc-sol-check { border-color: #53665d; }
.tc-solutions-page .tc-sol-dark .tc-sol-check p { color: #c7d3cc; }
.tc-solutions-page .tc-sol-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.tc-solutions-page .tc-sol-option { border-top: 1px solid var(--tc-line,#d5ccbd); padding-top: 18px; }
.tc-solutions-page .tc-sol-option p { margin-top: 10px; font-size: 16px; color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-table { overflow: visible; }
.tc-solutions-page .tc-sol-table table { border-collapse: collapse; table-layout: fixed; width: 100%; font-size: 16px; }
.tc-solutions-page .tc-sol-table :where(th,td) { border: 0; border-bottom: 1px solid var(--tc-line,#d5ccbd); padding: 17px 16px; text-align: left; vertical-align: top; overflow-wrap: break-word; }
.tc-solutions-page .tc-sol-table th { font-size: 13px; color: var(--tc-accent-dark,#233b35); background: rgb(255 253 247 / 45%); }
.tc-solutions-page .tc-sol-table td:first-child { width: 47%; }
.tc-solutions-page .tc-sol-table thead { border: 0; }
.tc-solutions-page .tc-sol-faq { max-width: 900px; }
.tc-solutions-page .tc-sol-faq h2 { margin-bottom: 26px; }
.tc-solutions-page .wp-block-details { border-top: 1px solid var(--tc-line,#d5ccbd); padding-block: 19px; }
.tc-solutions-page .wp-block-details:last-child { border-bottom: 1px solid var(--tc-line,#d5ccbd); }
.tc-solutions-page .wp-block-details summary { cursor: pointer; font-size: 17px; font-weight: 700; padding-right: 12px; }
.tc-solutions-page .wp-block-details > p { margin-top: 14px; color: var(--tc-muted,#69706a); }
.tc-solutions-page .tc-sol-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 25px; }
.tc-solutions-page .tc-sol-related > p { border-top: 1px solid var(--tc-line,#d5ccbd); padding-top: 17px; font-size: 16px; }
.tc-solutions-page .tc-sol-related strong { display: block; margin-bottom: 7px; font-size: 18px; }
.tc-solutions-page .tc-sol-back { font-size: 14px; margin-bottom: 18px; }
.tc-solutions-page .tc-sol-cta { text-align: center; padding-block: 54px; }
.tc-solutions-page .tc-sol-cta h2 { max-width: 740px; margin-inline: auto; }
.tc-solutions-page .tc-sol-cta .tc-sol-intro { font-size: 17px; margin-bottom: 0; color: #c7d3cc; }
.tc-solutions-page [id] { scroll-margin-top: 110px; }
@media (max-width: 1100px) {
  .tc-solutions-page h1 { font-size: 48px; }
  .tc-solutions-page h2 { font-size: 32px; }
  .tc-solutions-page .tc-sol-inner { padding-inline: 32px; }
  .tc-solutions-page .tc-sol-two { gap: 30px; }
}
@media (max-width: 800px) {
  .tc-solutions-page .tc-sol-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tc-solutions-page .tc-sol-two { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .tc-solutions-page .tc-sol-checks { gap: 22px; }
  .tc-solutions-page .tc-sol-hero-image img { height: 310px; }
  .tc-solutions-page .tc-sol-band { padding-block: 44px; }
}
@media (max-width: 600px) {
  .tc-solutions-page { font-size: 16px; }
  .tc-solutions-page .tc-sol-inner { padding-inline: 20px; }
  .tc-solutions-page h1 { font-size: 35px; }
  .tc-solutions-page h2 { font-size: 28px; }
  .tc-solutions-page h3 { font-size: 20px; }
  .tc-solutions-page .tc-sol-hero { padding-block: 32px 22px; }
  .tc-solutions-page .tc-sol-intro { font-size: 16px; margin-top: 16px; }
  .tc-solutions-page .tc-sol-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .tc-solutions-page .tc-sol-actions .wp-block-button__link { width: 100%; font-size: 13px; padding: 12px 8px; min-height: 47px; }
  .tc-solutions-page .tc-sol-hero-image { margin-top: 24px; }
  .tc-solutions-page .tc-sol-hero-image img { height: auto; aspect-ratio: 3/2; }
  .tc-solutions-page .tc-sol-grid { gap: 24px 16px; }
  .tc-solutions-page .tc-sol-card h3 { font-size: 18px; }
  .tc-solutions-page .tc-sol-card p { font-size: 14px; }
  .tc-solutions-page .tc-sol-checks,.tc-solutions-page .tc-sol-options,.tc-solutions-page .tc-sol-related { grid-template-columns: minmax(0,1fr); gap: 23px; }
  .tc-solutions-page .tc-sol-table table { font-size: 14px; }
  .tc-solutions-page .tc-sol-table :where(th,td) { padding: 14px 10px; }
  .tc-solutions-page .tc-sol-band { padding-block: 36px; }
  .tc-solutions-page .tc-sol-cta { padding-block: 38px; }
  .tc-solutions-page .wp-block-details summary { font-size: 16px; }
}
