/** Shopify CDN: Minification failed

Line 515:36 Unexpected "*"

**/
/* ============================================================
   TherapyCards.co — Master CSS v5
   File: Assets/therapycards-custom.css
   Theme: Dawn v15.4.1
   NOTE: Dawn sets html { font-size: 10px } — 1rem = 10px
         ALL font-sizes MUST be in px, never rem.
   Last updated: 2026-04-11
   ============================================================ */

/* ------------------------------------------------------------
   GOOGLE FONTS IMPORT
   ------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Livvic:wght@700;900&family=Raleway:wght@400;500;600&display=swap');

/* ------------------------------------------------------------
   CSS CUSTOM PROPERTIES (Brand Tokens)
   ------------------------------------------------------------ */
:root {
  --font-heading-family: 'Livvic', sans-serif;
  --font-heading-style: normal;
  --font-heading-weight: 900;
  --font-body-family: 'Raleway', sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;

  --tc-light-blue:  #d5e7f1;
  --tc-navy:        #5b6d88;
  --tc-steel-blue:  #7eb4c4;
  --tc-cream:       #fdf8f0;
  --tc-warm-gray:   #dbd2c8;
  --tc-olive:       #80a636;
  --tc-gold:        #c9a84c;

  --tc-font-heading: 'Livvic', sans-serif;
  --tc-font-body:    'Raleway', sans-serif;

  --tc-transition-base:   0.3s ease;
  --tc-transition-reveal: 0.65s cubic-bezier(0.22, 1, 0.36, 1);

  --tc-radius-sm:   8px;
  --tc-radius-md:   16px;
  --tc-radius-pill: 50px;

  --tc-shadow-card:  0 4px 24px rgba(91, 109, 136, 0.12);
  --tc-shadow-hover: 0 8px 40px rgba(91, 109, 136, 0.22);
}

/* ------------------------------------------------------------
   ANNOUNCEMENT BAR — Force Raleway
   ------------------------------------------------------------ */
.announcement-bar-section,
.announcement-bar-section * {
  font-family: var(--tc-font-body) !important;
}

/* ------------------------------------------------------------
   HERO BANNER — Frosted Glass
   ------------------------------------------------------------ */
.banner__box {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

/* ------------------------------------------------------------
   GLOBAL BASE FOR TC SECTIONS
   ------------------------------------------------------------ */
.tc-section *,
.tc-section *::before,
.tc-section *::after {
  box-sizing: border-box;
}

.tc-section {
  font-family: var(--tc-font-body);
  font-size: 17px;
  line-height: 1.7;
  color: #333;
}

@media (max-width: 749px) {
  .tc-section { font-size: 16px; }
}

/* ------------------------------------------------------------
   GLOBAL BUTTON STYLES
   ------------------------------------------------------------ */
.tc-btn-primary {
  display: inline-block;
  background-color: var(--tc-navy);
  color: #ffffff;
  font-family: var(--tc-font-body);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: var(--tc-radius-pill);
  border: 2px solid var(--tc-navy);
  cursor: pointer;
  transition: background-color var(--tc-transition-base),
              border-color var(--tc-transition-base),
              color var(--tc-transition-base),
              transform var(--tc-transition-base),
              box-shadow var(--tc-transition-base);
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}

.tc-btn-primary:hover,
.tc-btn-primary:focus-visible {
  background-color: var(--tc-gold);
  border-color: var(--tc-gold);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(201, 168, 76, 0.35);
  text-decoration: none;
}

.tc-btn-primary:active {
  transform: translateY(0);
  box-shadow: none;
}

.tc-btn-secondary {
  display: inline-block;
  background-color: transparent;
  color: var(--tc-navy);
  font-family: var(--tc-font-body);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  padding: 14px 38px;
  border-radius: var(--tc-radius-pill);
  border: 2px solid var(--tc-navy);
  cursor: pointer;
  transition: background-color var(--tc-transition-base),
              color var(--tc-transition-base),
              transform var(--tc-transition-base);
  text-align: center;
  line-height: 1.4;
}

.tc-btn-secondary:hover,
.tc-btn-secondary:focus-visible {
  background-color: var(--tc-navy);
  color: #ffffff;
  transform: translateY(-2px);
  text-decoration: none;
}

.tc-btn-light {
  display: inline-block;
  background-color: #ffffff;
  color: var(--tc-navy);
  font-family: var(--tc-font-body);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  padding: 16px 40px;
  border-radius: var(--tc-radius-pill);
  border: 2px solid #ffffff;
  cursor: pointer;
  transition: background-color var(--tc-transition-base),
              border-color var(--tc-transition-base),
              color var(--tc-transition-base),
              transform var(--tc-transition-base),
              box-shadow var(--tc-transition-base);
  text-align: center;
  line-height: 1.4;
}

.tc-btn-light:hover,
.tc-btn-light:focus-visible {
  background-color: var(--tc-gold);
  border-color: var(--tc-gold);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(201, 168, 76, 0.35);
  text-decoration: none;
}

@media (max-width: 749px) {
  .tc-btn-primary,
  .tc-btn-secondary,
  .tc-btn-light {
    font-size: 16px;
    padding: 14px 28px;
    width: 100%;
    max-width: 360px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    white-space: normal;
  }
}

/* ------------------------------------------------------------
   SCROLL REVEAL BASE CLASSES
   ------------------------------------------------------------ */
.tc-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity var(--tc-transition-reveal),
              transform var(--tc-transition-reveal);
  will-change: opacity, transform;
}

.tc-reveal.tc-revealed {
  opacity: 1;
  transform: translateY(0);
}

.tc-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity var(--tc-transition-reveal),
              transform var(--tc-transition-reveal);
  will-change: opacity, transform;
}

.tc-reveal-left.tc-revealed {
  opacity: 1;
  transform: translateX(0);
}

.tc-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity var(--tc-transition-reveal),
              transform var(--tc-transition-reveal);
  will-change: opacity, transform;
}

.tc-reveal-right.tc-revealed {
  opacity: 1;
  transform: translateX(0);
}

.tc-reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity var(--tc-transition-reveal),
              transform var(--tc-transition-reveal);
  will-change: opacity, transform;
}

.tc-reveal-scale.tc-revealed {
  opacity: 1;
  transform: scale(1);
}

/* ------------------------------------------------------------
   STAGGER DELAY CLASSES
   ------------------------------------------------------------ */
.tc-stagger-1 { transition-delay: 100ms; }
.tc-stagger-2 { transition-delay: 200ms; }
.tc-stagger-3 { transition-delay: 300ms; }
.tc-stagger-4 { transition-delay: 400ms; }
.tc-stagger-5 { transition-delay: 500ms; }
.tc-stagger-6 { transition-delay: 600ms; }

/* ------------------------------------------------------------
   REDUCED MOTION OVERRIDE
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .tc-reveal,
  .tc-reveal-left,
  .tc-reveal-right,
  .tc-reveal-scale {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .tc-stagger-1,
  .tc-stagger-2,
  .tc-stagger-3,
  .tc-stagger-4,
  .tc-stagger-5,
  .tc-stagger-6 {
    transition-delay: 0ms;
  }

  .tc-btn-primary,
  .tc-btn-secondary,
  .tc-btn-light {
    transition: none;
  }

  .tc-btn-primary:hover,
  .tc-btn-secondary:hover,
  .tc-btn-light:hover {
    transform: none;
    box-shadow: none;
  }
}

/* ------------------------------------------------------------
   LAYOUT UTILITIES
   ------------------------------------------------------------ */
.tc-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 749px) {
  .tc-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.tc-text-center { text-align: center; }
.tc-text-left   { text-align: left; }
.tc-text-right  { text-align: right; }

/* ------------------------------------------------------------
   HEADING UTILITY CLASSES
   ------------------------------------------------------------ */
.tc-heading {
  font-family: var(--tc-font-heading);
  font-weight: 900;
  line-height: 1.15;
  color: var(--tc-navy);
  margin-top: 0;
}

.tc-heading-xl { font-size: 48px; }
.tc-heading-lg { font-size: 38px; }
.tc-heading-md { font-size: 28px; }
.tc-heading-sm { font-size: 22px; }

@media (max-width: 749px) {
  .tc-heading-xl { font-size: 30px; }
  .tc-heading-lg { font-size: 26px; }
  .tc-heading-md { font-size: 22px; }
  .tc-heading-sm { font-size: 18px; }
}

.tc-accent-line {
  display: block;
  width: 48px;
  height: 4px;
  background-color: var(--tc-gold);
  border-radius: 2px;
  margin-bottom: 20px;
}

.tc-accent-line--center {
  margin-left: auto;
  margin-right: auto;
}

.tc-stars {
  color: var(--tc-gold);
  font-size: 18px;
  letter-spacing: 2px;
  display: block;
  margin-bottom: 8px;
}

.tc-badge {
  display: inline-block;
  background-color: var(--tc-light-blue);
  color: var(--tc-navy);
  font-family: var(--tc-font-body);
  font-size: 13px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: var(--tc-radius-pill);
  letter-spacing: 0.3px;
  margin: 4px 4px 4px 0;
}

/* ------------------------------------------------------------
   INFINITE MARQUEE ANIMATION (Trust Bar)
   ------------------------------------------------------------ */
@keyframes tc-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ------------------------------------------------------------
   SCROLLBAR HIDE UTILITY (carousels)
   ------------------------------------------------------------ */
.tc-scrollbar-hide {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.tc-scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* ------------------------------------------------------------
   ACCESSIBILITY — FOCUS VISIBLE
   ------------------------------------------------------------ */
.tc-section *:focus-visible {
  outline: 3px solid var(--tc-gold);
  outline-offset: 3px;
  border-radius: 3px;
}

/* ============================================================
   HOLISTIC SPACING, ALIGNMENT & DAWN OVERRIDE PASS
   ============================================================ */

/* ------------------------------------------------------------
   PAGE TITLE OVERRIDES
   ------------------------------------------------------------ */
.template-page .page-header h1,
.template-page .page-title,
.page-header h1 {
  font-family: var(--tc-font-heading);
  font-weight: 900;
  color: var(--tc-navy);
  text-align: left;
  font-size: 40px;
  padding-top: 0;
  margin-top: 20px;
  margin-bottom: 8px;
  line-height: 1.2;
}

@media (max-width: 749px) {
  .template-page .page-header h1,
  .template-page .page-title,
  .page-header h1 {
    font-size: 28px;
    margin-top: 12px;
  }
}

/* ------------------------------------------------------------
   HOMEPAGE SECTION VERTICAL RHYTHM
   ------------------------------------------------------------ */
.tc-audience   { padding-top: 88px; padding-bottom: 88px; }
.tc-steps-v2   { padding-top: 88px; padding-bottom: 88px; }
.tc-test       { padding-top: 88px; padding-bottom: 88px; }
.tc-story-v2   { padding-top: 88px; padding-bottom: 88px; }
.tc-founder-v2 { padding-top: 88px; padding-bottom: 88px; }
.tc-ripple     { padding-top: 88px; padding-bottom: 88px; }

.tc-newsletter-v2 { padding-top: 56px; padding-bottom: 56px; }

@media (max-width: 749px) {
  .tc-audience,
  .tc-steps-v2,
  .tc-test,
  .tc-story-v2,
  .tc-founder-v2,
  .tc-ripple {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .tc-newsletter-v2 {
    padding-top: 36px;
    padding-bottom: 36px;
  }
}

/* ------------------------------------------------------------
   SHOP PAGE SECTION VERTICAL RHYTHM
   ------------------------------------------------------------ */
.ws-v2  { padding-top: 88px; padding-bottom: 88px; }
.hu-v2  { padding-top: 88px; padding-bottom: 88px; }
.faq-v2 { padding-top: 88px; padding-bottom: 88px; }
.fc-v2  { padding-top: 72px;  padding-bottom: 72px; }

@media (max-width: 749px) {
  .ws-v2,
  .hu-v2,
  .faq-v2 { padding-top: 56px; padding-bottom: 56px; }

  .fc-v2  { padding-top: 48px; padding-bottom: 48px; }
}

/* ------------------------------------------------------------
   ADDITIONAL PAGES — CONTENT SECTIONS
   ------------------------------------------------------------ */
.tc-faq-page,
.tc-contact-page,
.tc-story-page {
  padding-top: 8px;
  padding-bottom: 40px;
}

@media (max-width: 749px) {
  .tc-faq-page,
  .tc-contact-page,
  .tc-story-page {
    padding-top: 8px;
    padding-bottom: 28px;
  }
}

/* ------------------------------------------------------------
   DAWN BUILT-IN SECTION SPACING REDUCTION
   ------------------------------------------------------------ */
.shopify-section .section-template--* {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* ------------------------------------------------------------
   DAWN PRODUCT PAGE — TIGHTEN GAP ABOVE CUSTOM SECTIONS
   ------------------------------------------------------------ */
.template-product .shopify-section + .shopify-section--custom-liquid {
  margin-top: -20px;
}

/* ------------------------------------------------------------
   GLOBAL LINK STYLING WITHIN TC SECTIONS
   ------------------------------------------------------------ */
.tc-faq-page a,
.tc-contact-page a,
.tc-story-page a {
  color: var(--tc-gold);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--tc-transition-base);
}

.tc-faq-page a:hover,
.tc-contact-page a:hover,
.tc-story-page a:hover {
  color: #b8973e;
  text-decoration: underline;
}

.tc-faq-cta a,
.tc-contact-cta a,
.tc-story-cta a {
  color: #2c3e50;
}

.tc-faq-cta a:hover,
.tc-contact-cta a:hover,
.tc-story-cta a:hover {
  color: #2c3e50;
  text-decoration: none;
}

/* ------------------------------------------------------------
   DAWN BODY / MAIN CONTENT AREA
   ------------------------------------------------------------ */
.shopify-section--custom-liquid .page-width {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* ------------------------------------------------------------
   SELECTION HIGHLIGHT — BRAND STYLE
   ------------------------------------------------------------ */
::selection      { background-color: var(--tc-gold); color: #ffffff; }
::-moz-selection { background-color: var(--tc-gold); color: #ffffff; }
