/* Font binding (Plus Jakarta Sans feeds --font-sans/display/serif) */
:root{ --font-jakarta:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; }

/* Scroll reveal (ports RevealOnScroll). No-JS visitors see content immediately. */
.has-js .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease-out, transform .7s ease-out; will-change:opacity,transform; }
.has-js .reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .has-js .reveal{ opacity:1 !important; transform:none !important; } }

/* Pillars wheel state */
.tlp-bubble{background:var(--color-bg);border:1px solid color-mix(in oklab,var(--color-cream) 80%,transparent);box-shadow:0 1px 2px rgba(0,0,0,.05);}
.tlp-bubble .tlp-ic{color:var(--color-coral);}
.tlp-bubble .tlp-name{color:var(--color-deep);}
.tlp-bubble .tlp-sub{color:var(--color-coral);}
.tlp-btn:hover .tlp-bubble{box-shadow:0 6px 14px rgba(0,0,0,.07);transform:scale(1.05);}
.tlp-btn[aria-pressed="true"] .tlp-bubble{background:var(--color-coral);border-color:transparent;box-shadow:0 12px 24px rgba(250,114,104,.3);transform:scale(1.1);}
.tlp-btn[aria-pressed="true"] .tlp-ic,.tlp-btn[aria-pressed="true"] .tlp-name{color:var(--color-bg);}
.tlp-btn[aria-pressed="true"] .tlp-sub{color:rgba(255,250,246,.9);}
.tlp-dot{height:6px;width:8px;border-radius:9999px;background:color-mix(in oklab,var(--color-tl-gray) 40%,transparent);transition:all .3s;}
.tlp-dot[aria-pressed="true"]{background:var(--color-coral);width:32px;}
@keyframes pillar-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Mobile menu */
.menu-x{display:none}
[data-mobile-toggle][aria-expanded="true"] .menu-bars{display:none}
[data-mobile-toggle][aria-expanded="true"] .menu-x{display:inline}

/* Article prose (blog post body) */
.article-prose{color:#4a5560;font-size:18px;line-height:1.75;font-weight:300;}
.article-prose p{margin:0 0 1.4em;}
.article-prose h2{font-family:var(--font-jakarta);font-weight:600;color:#17484e;font-size:28px;line-height:1.25;margin:1.8em 0 .6em;}
.article-prose h3{font-family:var(--font-jakarta);font-weight:600;color:#17484e;font-size:22px;line-height:1.3;margin:1.6em 0 .5em;}
.article-prose h4{font-family:var(--font-jakarta);font-weight:600;color:#17484e;font-size:19px;margin:1.4em 0 .4em;}
.article-prose a{color:#e55a50;text-decoration:underline;text-underline-offset:3px;}
.article-prose a:hover{color:#fa7268;}
.article-prose strong{color:#17484e;font-weight:600;}
.article-prose ul,.article-prose ol{margin:0 0 1.4em;padding-left:1.4em;}
.article-prose ul{list-style:disc;}
.article-prose ol{list-style:decimal;}
.article-prose li{margin:.4em 0;}
.article-prose blockquote{border-left:3px solid #fa7268;padding-left:1.1em;margin:1.6em 0;font-style:italic;color:#17484e;}
.article-prose img{border-radius:16px;margin:1.6em 0;max-width:100%;height:auto;}
.article-prose figure{margin:1.6em 0;}
.article-prose figcaption{font-size:14px;color:#8ca4a0;text-align:center;margin-top:.6em;}
.article-prose > *:first-child{margin-top:0;}
.article-prose h2 a,.article-prose h3 a{text-decoration:none;}

/* Therapist filter selects */
[data-therapist-filter] select{-webkit-appearance:none;-moz-appearance:none;appearance:none;}

/* Therapist directory filter bar */
.tf-bar{background:var(--color-bg);border-bottom:1px solid color-mix(in oklab,var(--color-light-gray) 30%,transparent);padding:28px 0;}
.tf-inner{max-width:80rem;margin:0 auto;padding:0 1.5rem;}
@media(min-width:768px){.tf-inner{padding:0 3rem;}}
.tf-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.tf-field{position:relative;display:flex;}
.tf-field.tf-search{flex:1 1 280px;min-width:220px;}
.tf-field.tf-sel{flex:0 0 auto;}
.tf-input,.tf-select{height:52px;width:100%;border:1px solid color-mix(in oklab,var(--color-light-gray) 55%,transparent);border-radius:9999px;background:var(--color-cream);color:var(--color-deep);font-size:15px;font-family:inherit;line-height:52px;transition:border-color .2s,background .2s;}
.tf-input{padding:0 20px 0 46px;}
.tf-input::placeholder{color:var(--color-tl-gray);}
.tf-input:focus,.tf-select:focus{outline:none;border-color:var(--color-coral);background:var(--color-bg);}
.tf-select{padding:0 44px 0 20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;min-width:210px;}
.tf-ico{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-tl-gray);pointer-events:none;}
.tf-ico.tf-left{left:16px;}
.tf-ico.tf-right{right:16px;}
.tf-count{color:var(--color-ink-muted);font-size:14px;margin-top:14px;}
@media(max-width:767px){.tf-row{flex-direction:column;align-items:stretch;}.tf-field,.tf-select{width:100%;}.tf-field.tf-sel{flex:1 1 auto;}}
.tf-input::placeholder{color:#8ca4a0;}
.tf-input:focus,.tf-select:focus{outline:none;border-color:#fa7268;background:#fffaf6;}

/* Fewer testimonials on mobile (show 2, all on >=640px) */
@media (max-width:639px){.tl-social > *:nth-child(n+3){display:none;}}

/* Testimonials carousel */
.tl-carousel-wrap{position:relative;}
.tl-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 2px 14px;scrollbar-width:none;}
.tl-carousel::-webkit-scrollbar{display:none;}
.tl-carousel > *{scroll-snap-align:start;flex:0 0 calc((100% - 48px)/3);}
@media(max-width:900px){.tl-carousel{gap:16px;}.tl-carousel > *{flex:0 0 calc((100% - 16px)/2);}}
@media(max-width:640px){.tl-carousel > *{flex:0 0 100%;}}
.tl-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:9999px;background:#fff;border:1px solid #e7ddd3;box-shadow:0 6px 16px rgba(27,74,66,.14);display:flex;align-items:center;justify-content:center;color:#17484e;cursor:pointer;z-index:5;transition:background .2s;}
.tl-carousel-btn:hover{background:#f7f3f0;}
.tl-prev{left:-12px;}.tl-next{right:-12px;}
@media(max-width:640px){.tl-prev{left:2px;}.tl-next{right:2px;}}

/* Hero insurance logo band: mobile-only (sm:hidden utility was not compiled) */
@media (min-width:640px){ .tl-hero-ins-m{ display:none !important; } }

/* Legal pages (Terms/Privacy/HIPAA/Consent) — full-text policy rendering */
.legal-prose{color:#4a5560;font-size:17px;line-height:1.75;font-weight:300;}
.legal-prose h2{color:#17484e;font-weight:700;font-size:24px;line-height:1.25;margin:2em 0 .5em;}
.legal-prose h2:first-child{margin-top:0;}
.legal-prose h3{color:#17484e;font-weight:600;font-size:19px;line-height:1.3;margin:1.6em 0 .4em;}
.legal-prose p{margin:0 0 1em;}
.legal-prose ul{margin:0 0 1.2em;padding-left:1.5em;list-style:disc;}
.legal-prose ul li{margin:.4em 0;}
.legal-prose ul.toc{list-style:none;padding-left:0;margin:1em 0 1.5em;border-left:2px solid #f1e7da;}
.legal-prose ul.toc li{margin:.25em 0;padding-left:1em;color:#17484e;font-weight:500;}
.legal-prose strong{color:#17484e;font-weight:600;}
.legal-prose a{color:#fa7268;text-decoration:underline;}

/* CTA buttons inside article/legal prose: keep their own button colors (the prose `a` color/underline was overriding text-bg, making coral-on-coral) */
.article-prose a.text-bg, .legal-prose a.text-bg{color:var(--color-bg);text-decoration:none;}
.article-prose a.bg-coral, .legal-prose a.bg-coral{text-decoration:none;}
