/* Shared identity and controls. */
html body .logo-mark,html body .logo-mark img{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;border:0!important}
html body .logo-mark img{transition:transform .3s ease!important;transform-origin:50% 75%}
html body .logo:hover .logo-mark img,html body .logo:focus-visible .logo-mark img{transform:rotate(-7deg) scale(1.08)}
html body #progress-bar{width:100%!important;transform:scaleX(0);transform-origin:left;transition:none!important;will-change:transform}
html body .footer-back-top{grid-column:1/-1;justify-self:center;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-muted);font-size:12px;margin-bottom:14px}
html body .footer-back-top .footer-avatar-small{width:86px!important;height:76px!important;margin:0!important;transition:transform .3s!important}
html body .footer-back-top:hover img{transform:translateY(-5px)}
html body .footer-easter-egg{font-size:12px;opacity:.85}
html body .support-fab-icon{width:46px!important;height:46px!important;animation:none!important;transition:transform .25s!important;box-shadow:0 5px 18px #66509020!important}
html body .support-fab-icon i{font-size:21px!important}
html body .support-fab:hover .support-fab-icon{transform:scale(1.08)}
html body .support-fab-label{right:54px;opacity:1!important;transform:translateY(-50%)!important;box-shadow:none;font-size:12px}
@media(max-width:900px){html body .support-fab-label{display:none}html body .support-fab{transform:none!important}html body .support-fab-icon{width:44px!important;height:44px!important}}
/* Homepage: shorter text, clear hierarchy, and characters with a visible surface. */
html body #hero .hero-main{font-size:clamp(38px,4.6vw,68px)!important;line-height:1.08!important;letter-spacing:-.045em;max-width:760px}
html body #hero .hero-subtitle{font-size:clamp(17px,1.55vw,21px)!important;line-height:1.65!important;font-weight:400!important;max-width:650px}
html body #hero .booking-explainer{margin-top:24px!important;padding:0 18px;border:1px solid #9f8cd42b;border-radius:16px;background:#a38ce608;max-width:600px}
html body #hero .booking-explainer>summary{min-height:54px;padding:16px 0!important;gap:18px;font-size:13px}
html body #hero .hero-trust-metrics{gap:12px!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
html body #hero .hero-trust-metrics>div{padding:10px 6px!important;border:0!important;border-top:2px solid #b89dd14d!important}
html body #hero .hero-trust-metrics strong{display:block;font-size:clamp(19px,1.8vw,25px)!important;line-height:1.25;margin-bottom:6px;letter-spacing:-.03em}
html body #hero .hero-trust-metrics span{display:block;font-size:12px!important;line-height:1.4}
html body :is(#approaches,#faq,#education,#cta) .home-mascot-heading{display:block!important;max-width:none;margin-bottom:18px}
html body :is(#approaches,#faq,#education,#cta) .home-mascot-heading>h2{text-align:center!important;width:100%}
html body .home-mascot-perch{display:flex;justify-content:flex-end;align-items:flex-end;height:110px;max-width:1100px;margin:0 auto;position:relative;border-bottom:1px solid #b79bce50;padding:0 32px;z-index:1}
html body .home-mascot-perch .site-mascot{width:120px!important;height:120px!important;margin:0 0 -8px!important;object-fit:contain;transform:none!important;animation:none!important}
html body #faq .home-mascot-perch{height:76px;margin-bottom:0}
html body #faq .home-mascot-perch .site-mascot{height:94px!important;width:94px!important;margin-bottom:-14px!important}
html body #faq .home-faq-tools{margin:14px 0 20px}
html body #education .home-mascot-perch{height:90px;margin-bottom:22px}
html body #education .home-mascot-perch .site-mascot{height:100px!important;width:100px!important}
html body #cta .home-mascot-perch{justify-content:center;max-width:280px;margin-bottom:24px}
html body #geo-countries .geo-mascot{justify-content:center;max-width:200px;height:90px;margin-bottom:24px}
html body #geo-countries .geo-mascot .site-mascot{width:100px!important;height:100px!important}
html body #social .social-mascot{height:100px;max-width:1100px}
html body #social .social-grid{margin-top:0!important}
html body :is(#booking-bot,#support-between)[hidden]{display:none!important}
html body .telegram-tools-intro.has-tabs{padding-bottom:0!important}
html body .has-tabs .telegram-tools-intro-card{padding-bottom:24px!important;box-shadow:none!important}
html body .home-bot-tabs{grid-column:1/-1;display:flex;gap:8px;padding:6px;border:1px solid #a18bcb42;border-radius:18px;max-width:620px;width:100%;margin:20px auto 0}
html body .home-bot-tabs button{flex:1;min-height:48px;padding:12px;border:0;border-radius:12px;background:transparent;color:var(--text-main);font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;cursor:pointer}
html body .home-bot-tabs button[aria-selected=true]{background:#7d5caa;color:white;box-shadow:0 4px 14px #63408020}
html body :is(#booking-bot,#support-between){padding-top:24px!important;padding-bottom:32px!important}
html body :is(#booking-bot,#support-between) .home-mascot-heading{align-items:flex-end!important;border-bottom:1px solid #b79bce50;padding-bottom:8px}
html body :is(#booking-bot,#support-between) .home-mascot-heading h2{font-size:clamp(26px,2.8vw,40px)!important;line-height:1.15!important}
html body :is(#booking-bot,#support-between) .home-mascot-heading>.site-mascot{align-self:flex-end;margin-bottom:-16px!important;width:95px!important;height:95px!important}
html body #payments .payments-tiles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
html body #payments .payment-tile{padding:24px!important;text-align:left!important;box-shadow:none!important;border-radius:18px!important;transition:transform .25s,border-color .25s!important}
html body #payments .payment-tile:hover{transform:translateY(-3px);border-color:#a18bcb!important}
html body #payments .payment-bot-tile{grid-column:1/-1;background:linear-gradient(115deg,#9d7bc318,transparent)!important;display:grid!important;grid-template-columns:1fr auto;gap:16px 28px;align-items:center}
html body #payments .payment-bot-tile .payment-tags{grid-column:1;justify-content:flex-start!important}
html body #payments .payment-bot-tile .payment-tile-note{grid-column:1;margin:0!important;text-align:left!important}
html body #payments .payment-bot-link{grid-column:2;grid-row:1/4;padding:16px 20px!important;border-radius:14px!important;background:#7d5caa!important;color:#fff!important;min-height:48px}
html body #reviews .reviews-scroll{scroll-behavior:auto!important;scroll-snap-type:none!important}
html body #reviews .review-slide{transition:box-shadow .25s!important}
html body #reviews .reviews-arrow{min-width:44px;min-height:44px}
html body main .home-margin-doodles{display:block!important;opacity:1!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none;overflow:hidden;z-index:0}
html body main .home-margin-doodles .doodle-piece{display:block!important;position:absolute!important;top:var(--edge-top)!important;left:14px!important;right:auto!important;bottom:auto!important;width:clamp(28px,3vw,55px)!important;height:60px!important;transform:rotate(var(--edge-angle))!important;opacity:.18!important}
html body main .home-margin-doodles .doodle-piece:nth-child(even){left:auto!important;right:14px!important}
html body main .home-margin-doodles .doodle-piece:nth-child(n+5){display:none!important}
@media(max-width:900px){html body main .home-margin-doodles .doodle-piece{width:25px!important;left:2px!important;opacity:.1!important}html body main .home-margin-doodles .doodle-piece:nth-child(even){right:2px!important}html body main .home-margin-doodles .doodle-piece:nth-child(n+3){display:none!important}html body #payments .payment-bot-tile{display:block!important}html body #payments .payment-bot-link{margin-top:16px;display:inline-flex}html body .home-mascot-perch{height:80px;padding-right:16px}html body .home-mascot-perch .site-mascot{width:90px!important;height:90px!important}html body #cta .cta-box{padding:28px 20px!important}}
@media(max-width:600px){html body #payments .payments-tiles{grid-template-columns:1fr}html body #payments .payment-tile{padding:20px!important}html body .home-bot-tabs button{font-size:13px}html body #hero .hero-main{font-size:40px!important}html body #hero .booking-explainer{padding:0 14px}html body #hero .hero-trust-metrics{gap:6px!important}}

@media(min-width:901px){html body .support-fab{top:auto!important;bottom:24px!important}}

/* Sections remain readable after tabs change page height; motion is on their contents. */
html body:has(#hero) main :is([data-aos],.fade-section){opacity:1!important;visibility:visible!important;transform:none!important}
html body #payments .payment-tile-head{justify-content:flex-start!important;margin-inline:0!important;text-align:left!important}
html body #payments .payment-tags{justify-content:flex-start!important;margin-inline:0!important;text-align:left!important}

/* Characters sit on the existing card edges, without an extra rule. */
@media(hover:hover) and (pointer:fine){html body .booking-explainer,html body .booking-explainer *{cursor:none!important}}
html body #hero .hero-profession{display:block;font-size:clamp(22px,2.3vw,34px);line-height:1.25;font-weight:500;letter-spacing:-.02em;margin-top:18px}
html body .home-mascot-perch{border:0!important;margin-bottom:-8px!important}
html body #approaches .approach-grid{margin-top:0!important}
html body #faq .home-mascot-perch{margin-top:0;height:76px;margin-bottom:-8px!important}
html body #faq .faq-accordion{margin-top:0!important}
html body #education .education-journey-list{margin-top:0!important}
html body #education .home-mascot-perch{margin-bottom:-8px!important}
html body #social .social-mascot{margin-bottom:0!important}
html body #cta .home-mascot-perch{height:170px;margin-bottom:22px!important}
html body #cta .home-mascot-perch .site-mascot{width:180px!important;height:180px!important}
html body #payments .payment-bot-tile{display:flex!important;flex-direction:column;align-items:center!important;gap:18px!important;text-align:center!important;padding:30px!important}
html body #payments .payment-bot-tile .payment-tile-head,html body #payments .payment-bot-tile .payment-tags{justify-content:center!important;text-align:center!important;margin:0!important}
html body #payments .payment-bot-tile .payment-tile-note{max-width:780px;text-align:center!important}
html body #payments .payment-bot-link{margin:0 auto!important}
/* A centered country list, with a gentle disclosure transition. */
html body #geo-countries :is(.geo-inner,.geo-more-content,.geo-region,.geo-region-title){text-align:center}
html body #geo-countries .geo-chips{justify-content:center}
html body #geo-countries .geo-more-content{overflow:hidden}
html body #geo-countries .geo-mascot{margin-bottom:16px!important}
html body #geo-countries .geo-chip{transition:transform .25s ease,background-color .25s ease,border-color .25s ease}
html body #geo-countries .geo-chip:hover{transform:translateY(-2px)}
html body #geo-countries .geo-more[open] .geo-region{animation:geo-region-in .45s ease both}
html body #geo-countries .geo-more[open] .geo-region:nth-child(2){animation-delay:45ms}
html body #geo-countries .geo-more[open] .geo-region:nth-child(3){animation-delay:90ms}
html body #geo-countries .geo-more[open] .geo-region:nth-child(4){animation-delay:135ms}
@keyframes geo-region-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
/* The feet stay anchored: only a tiny breathing expansion, never levitation. */
html body #cta .home-mascot-perch .site-mascot{transform-origin:50% 94%;animation:cta-mascot-breathe 5s ease-in-out infinite!important}
@keyframes cta-mascot-breathe{0%,100%{scale:1 1}50%{scale:1.012 1.022}}
@media(max-width:600px){html body #cta .home-mascot-perch{height:145px}html body #cta .home-mascot-perch .site-mascot{height:155px!important;width:155px!important}}

@media(hover:hover) and (pointer:fine){html.cursor-trail-enabled body :is(.tp-search input,.tp-search button,.tp-card-preview summary,.about-page summary,.route-topic-first-session summary,.fs-more-reviews summary),html.cursor-trail-enabled body.route-topic-first-session summary *,html.cursor-trail-enabled body:has(.about-profile) summary{cursor:none!important}}
html body.route-topic-first-session .fs-worry summary::after{content:'+'!important;transition:transform .25s ease!important}
html body.route-topic-first-session .fs-worry[open]:not(.is-closing) summary::after{transform:rotate(45deg)!important}
html body.route-topic-first-session .first-session-v2-message.client{justify-self:end;align-items:flex-end;margin-left:24px;margin-right:0}
html body.route-topic-first-session .first-session-v2-message.therapist{justify-self:start;align-items:flex-start;margin-left:0;margin-right:24px}
html body.route-topic-first-session .first-session-v2-message.client p{background:#75538c!important;color:#fff!important;border-color:transparent;border-radius:18px 18px 5px 18px}
html body.route-topic-first-session .first-session-v2-message.therapist p{background:var(--detail-paper)!important;color:var(--detail-ink)!important;border:1px solid var(--detail-line);border-radius:18px 18px 18px 5px}
html body.route-topic-first-session .first-session-v2-message.therapist span{align-self:flex-start;background:none!important;color:var(--detail-muted)!important}
html body.route-topic-first-session .first-session-v2-message.client span{align-self:flex-end;color:var(--detail-accent)!important}
html body .blog-page .seo-index-head.mascot-heading>.site-mascot{width:240px;height:240px}
html body.editorial-doodles .editorial-margin-doodles{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:1!important;pointer-events:none;overflow:hidden}
html body.editorial-doodles .editorial-margin-doodles .doodle-piece{display:block!important;position:absolute!important;top:var(--edge-top)!important;left:8px!important;right:auto!important;bottom:auto!important;width:48px!important;height:60px!important;opacity:.13!important;transform:none!important}
html body.editorial-doodles .editorial-margin-doodles .doodle-piece:nth-child(even){left:auto!important;right:8px!important}
html body.editorial-doodles .editorial-margin-doodles .doodle-piece:nth-child(n+5){display:none!important}
html body .blog-page>article{position:relative}
html body .article-margin-art{position:absolute;inset:0;pointer-events:none;overflow:hidden}
html body .article-margin-art svg{position:absolute;width:48px;height:60px;opacity:.13}
@media(max-width:760px){html body .blog-page .seo-index-head.mascot-heading>.site-mascot{width:145px;height:145px}html body.editorial-doodles .editorial-margin-doodles .doodle-piece,html body .article-margin-art svg{width:18px!important;opacity:.08!important}}

html body.route-topic-first-session .first-session-v2-message.therapist span{justify-self:start!important}
html body.route-topic-first-session .first-session-v2-message.client span{justify-self:end!important}
