/* Treatment pages. All classes tx- prefixed so nothing collides with the site kit. */
.tx{--tx-r:28px}
.tx-hero{background:var(--tx-hero);color:var(--tx-heroink);padding:var(--tx-top) 0 0;overflow:hidden;position:relative}
.tx-hero .tx-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;width:min(1080px,88vw);margin:0 auto;position:relative;z-index:2}
.tx-crumb{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-bottom:22px}
.tx-crumb a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.tx-hero h1{font-family:var(--tx-disp);font-weight:300;font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.04;letter-spacing:-.02em;max-width:15ch;margin:0;color:inherit}
.tx-hero h1 b{font-weight:700}
.tx-hero .tx-lede{font-size:clamp(1.02rem,1.4vw,1.2rem);max-width:46ch;margin:18px 0 22px;opacity:.92}
.tx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.tx-chips span{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;border-radius:999px;border:1px solid currentColor}
.tx-priceline{display:flex;align-items:baseline;gap:10px;margin:0 0 22px;font-family:var(--tx-disp)}
.tx-priceline b{font-weight:700;font-size:1.5rem}
.tx-priceline span{font-family:var(--tx-body);font-size:.86rem;opacity:.85}
.tx-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding-bottom:64px}
.tx-ghostbtn{display:inline-flex;align-items:center;padding:15px 26px;border-radius:999px;border:1.5px solid currentColor;font-weight:600;text-decoration:none;color:inherit;white-space:nowrap}
.tx-stage{position:relative;height:min(74vh,640px);display:flex;align-items:center;justify-content:center}
.tx-stage svg{position:absolute;left:50%;top:50%;width:min(100%,560px);transform:translate(-50%,-50%);animation:txspin 44s linear infinite}
.tx-stage svg.tx-two{width:min(74%,420px);animation:txspin 30s linear infinite reverse}
@keyframes txspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.tx-prod{position:relative;z-index:2;height:74%;display:flex;align-items:center;justify-content:center;will-change:transform}
.tx-prod img{height:100%;width:auto;max-width:78vw;object-fit:contain;filter:drop-shadow(0 34px 34px var(--tx-shadow));animation:txbob 6s ease-in-out infinite}
@keyframes txbob{0%,100%{transform:translateY(-8px) rotate(-2deg)}50%{transform:translateY(10px) rotate(2deg)}}
.tx-stage .tx-spin{position:relative;z-index:2;width:min(340px,70%)}
.tx-ghost{position:absolute;left:0;bottom:-.18em;z-index:1;white-space:nowrap;font-family:var(--tx-disp);font-weight:700;font-size:clamp(5rem,15vw,12rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--tx-ghost);opacity:.55;pointer-events:none;will-change:transform}
/* at a glance */
.tx-sec{padding:clamp(64px,8vw,112px) 0}
.tx-wrap{width:min(1080px,88vw);margin:0 auto}
.tx-eyebrow{font-family:var(--tx-disp);font-weight:500;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tx-muted);display:block;margin-bottom:12px}
.tx h2.tx-h{font-family:var(--tx-disp);font-weight:300;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.08;letter-spacing:-.02em;max-width:22ch;margin:0 0 14px;color:var(--tx-ink)}
.tx h2.tx-h b{font-weight:700}
.tx-p{max-width:62ch;color:var(--tx-muted);margin:0}
.tx-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:960px;margin-top:34px}
.tx-g{background:var(--tx-card);border-radius:22px;padding:22px 20px;opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1)}
.tx-g.tx-in{opacity:1;transform:none}
.tx-g:nth-child(2){transition-delay:.08s}.tx-g:nth-child(3){transition-delay:.16s}.tx-g:nth-child(4){transition-delay:.24s}
.tx-g i{font-style:normal;font-family:var(--tx-disp);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-accent);display:block;margin-bottom:10px}
.tx-g p{margin:0;font-size:.95rem;line-height:1.5;color:var(--tx-ink)}
/* pinned journey */
.tx-pin{position:relative;background:var(--tx-wash0);transition:background .6s}
.tx-pin .tx-stick{position:sticky;top:0;height:100vh;height:100dvh;padding:var(--tx-pintop) 0 132px;box-sizing:border-box;overflow:hidden;display:flex;align-items:center}
.tx-pin .tx-pgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;width:min(1000px,88vw);margin:0 auto}
.tx-dial{position:relative;aspect-ratio:1;width:min(100%,400px);max-height:56vh;margin:0 auto;display:flex;align-items:center;justify-content:center}
.tx-dial svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tx-dial circle{fill:none;stroke-width:2}
.tx-dial .tx-track{stroke:var(--tx-line)}
.tx-dial .tx-prog{stroke:var(--tx-accent);stroke-width:3;stroke-linecap:round}
.tx-dial img{display:block;height:68%;width:auto;max-width:70%;object-fit:contain;filter:drop-shadow(0 26px 26px var(--tx-shadow));will-change:transform}
.tx-dial .tx-num{position:absolute;right:2%;top:2%;font-family:var(--tx-disp);font-weight:700;font-size:clamp(2.4rem,5vw,4rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--tx-accent)}
.tx-steps{position:relative;height:clamp(230px,34vh,300px)}
.tx-step{position:absolute;inset:0;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.tx-step.tx-on{opacity:1;transform:none;pointer-events:auto}
.tx-step .tx-when{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 13px;border-radius:999px;background:var(--tx-chipbg);color:var(--tx-ink);margin-bottom:16px}
.tx-step h3{font-family:var(--tx-disp);font-weight:700;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 12px;max-width:20ch;color:var(--tx-ink)}
.tx-step p{margin:0;max-width:48ch;color:var(--tx-muted)}
.tx-dots{display:flex;gap:8px;margin-top:22px}
.tx-dots button{width:44px;height:30px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center}
.tx-dots button::before{content:"";display:block;width:100%;height:4px;border-radius:4px;background:var(--tx-line);transition:background .3s}
.tx-dots button.tx-on::before{background:var(--tx-accent)}
/* ladder */
.tx-ladder{display:flex;align-items:flex-end;gap:12px;height:230px;max-width:640px;margin:36px 0 12px;padding:0}
.tx-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;list-style:none}
.tx-bar b{font-family:var(--tx-disp);font-weight:700;font-size:.82rem;margin-bottom:8px;color:var(--tx-ink);opacity:0;transition:opacity .5s .5s;white-space:nowrap}
.tx-bar i{display:block;width:100%;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,var(--tx-barA),var(--tx-barB));height:0;transition:height 1s cubic-bezier(.2,.8,.2,1)}
.tx-bar span{font-size:.74rem;font-weight:600;color:var(--tx-muted);margin-top:8px;white-space:nowrap}
.tx-ladder.tx-in .tx-bar i{height:var(--h)}.tx-ladder.tx-in .tx-bar b{opacity:1}
.tx-bar:nth-child(2) i{transition-delay:.1s}.tx-bar:nth-child(3) i{transition-delay:.2s}.tx-bar:nth-child(4) i{transition-delay:.3s}.tx-bar:nth-child(5) i{transition-delay:.4s}.tx-bar:nth-child(6) i{transition-delay:.5s}
/* safety */
.tx-safe{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:960px;margin-top:32px}
.tx-card{background:var(--tx-card);border-radius:var(--tx-r);padding:28px}
.tx-card h3{font-family:var(--tx-disp);font-weight:500;font-size:1.02rem;margin:0 0 14px;color:var(--tx-ink)}
.tx-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.tx-card li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:.95rem;line-height:1.45;color:var(--tx-ink)}
.tx-card li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tx-accent);margin-top:8px}
.tx-warn{grid-column:1/-1;border:1.5px dashed var(--tx-accent);background:transparent}
.tx-warn p{margin:0;font-size:.95rem;max-width:74ch;color:var(--tx-ink)}
.tx-honest{max-width:960px;margin-top:16px;background:var(--tx-honest);border-radius:var(--tx-r);padding:28px;box-sizing:border-box}
.tx-honest b{font-family:var(--tx-disp);font-weight:700;display:block;margin-bottom:8px;color:var(--tx-ink)}
.tx-honest p{margin:0;max-width:74ch;font-size:.95rem;color:var(--tx-ink)}
/* price */
.tx-buy{display:grid;grid-template-columns:1fr minmax(0,440px);gap:48px;align-items:center;max-width:960px}
.tx-pricecard{background:var(--tx-pricebg);color:var(--tx-priceink);border-radius:32px;padding:34px;position:relative;box-shadow:0 40px 80px -50px var(--tx-shadow)}
.tx-pricecard img{position:absolute;right:18px;top:-64px;height:150px;width:auto;transform:rotate(8deg);filter:drop-shadow(0 18px 18px var(--tx-shadow))}
.tx-pricecard .tx-amt{font-family:var(--tx-disp);font-weight:700;font-size:2.3rem;line-height:1;display:block;margin:6px 0 4px}
.tx-pricecard ul{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:9px;font-size:.95rem}
.tx-pricecard li::before{content:"✓";margin-right:10px;font-weight:700}
.tx-pricecard .tx-fine{font-size:.8rem;opacity:.85;margin:14px 0 0}
/* siblings */
.tx-sibs{display:flex;gap:0;margin-top:96px;padding:0 6px 12px}
.tx-sib{flex:1 1 0;min-width:0;background:var(--tx-card);border-radius:26px;padding:0 20px 22px;text-decoration:none;color:var(--tx-ink);box-shadow:0 30px 60px -40px var(--tx-shadow);transition:transform .45s cubic-bezier(.2,.8,.2,1);position:relative}
.tx-sib+.tx-sib{margin-left:-12px}
.tx-sib:nth-child(odd){transform:rotate(-2deg)}.tx-sib:nth-child(even){transform:rotate(1.8deg) translateY(10px)}
.tx-sib:hover{transform:rotate(0) translateY(-8px) scale(1.03);z-index:9!important}
.tx-sib img{display:block;height:150px;width:auto;margin:-70px auto 12px;position:relative;z-index:2;filter:drop-shadow(0 18px 16px var(--tx-shadow))}
.tx-sib h4{font-family:var(--tx-disp);font-weight:500;font-size:.92rem;line-height:1.2;margin:0 0 6px}
.tx-sib p{margin:0 0 10px;font-size:.84rem;color:var(--tx-muted)}
.tx-sib em{font-style:normal;font-weight:700;font-size:.84rem;text-decoration:underline;text-underline-offset:3px}
.tx-rx{max-width:74ch;font-size:.84rem;color:var(--tx-muted);margin:26px 0 0}
/* index */
.tx-group{margin-top:64px}
.tx-group>h2{font-family:var(--tx-disp);font-weight:700;font-size:1.25rem;margin:0;color:var(--tx-ink)}
.tx-group>p{margin:6px 0 0;color:var(--tx-muted);font-size:.95rem}
.tx-group .tx-sibs{margin-top:88px;max-width:var(--tx-gw,960px)}
.tx-learn{display:inline-block;margin-top:8px;font-weight:700;font-size:.84rem;text-decoration:underline;text-underline-offset:3px}
a.rx{display:block;text-decoration:none;color:inherit;transition:transform .35s}a.rx:hover{transform:translateY(-6px)}
@media(max-width:860px){
 .tx-hero .tx-grid{grid-template-columns:1fr;gap:0}
 .tx-cta{padding-bottom:16px}
 .tx-stage{height:min(52vh,420px)}
 .tx-glance{grid-template-columns:1fr 1fr}
 .tx-pin .tx-pgrid{grid-template-columns:1fr;gap:18px}
 .tx-pin .tx-stick{padding:var(--tx-pintopm) 0 118px}
 .tx-dial{width:min(52vw,230px);max-height:30vh}
 .tx-steps{height:clamp(250px,40vh,320px)}
 .tx-step h3{font-size:1.35rem}.tx-step p{font-size:.95rem}
 .tx-safe,.tx-buy{grid-template-columns:1fr}
 .tx-buy{gap:84px}
 .tx-sibs{overflow-x:auto;scroll-snap-type:x mandatory;padding:80px 8vw 30px;margin:20px -6vw 0;scrollbar-width:none}
 .tx-sibs::-webkit-scrollbar{display:none}
 .tx-group .tx-sibs{margin-top:10px}
 .tx-sib{flex:0 0 62vw;scroll-snap-align:center}
 .tx-ladder{gap:6px;height:200px}.tx-bar b{font-size:.68rem}.tx-bar span{font-size:.64rem}
}
@media(max-width:860px) and (max-height:700px){.tx-dial{display:none}.tx-steps{height:300px}}
@media(max-width:860px){
 .tx-hero h1{font-size:clamp(1.75rem,7.4vw,2.3rem);max-width:14ch}
 .tx-priceline{flex-wrap:wrap;gap:4px 10px}.tx-priceline b{white-space:nowrap}
 .tx-cta .btn,.tx-cta .tx-ghostbtn{padding:14px 20px;font-size:.95rem}
 .tx-steps{height:clamp(200px,30vh,250px)}
 .tx-dial{width:min(58vw,260px);max-height:34vh}
}
