/*
 * Thera-UP homepage 5.0.22
 * Editorial SaaS direction built from the approved mock-up and real product assets.
 */

:root{
  --tu522-ink:#211b34;
  --tu522-muted:#615a72;
  --tu522-violet:#6547e8;
  --tu522-violet-deep:#4930bf;
  --tu522-violet-soft:#eeeafd;
  --tu522-gold:#b77f3f;
  --tu522-gold-soft:#f4e8d6;
  --tu522-sand:#faf7f1;
  --tu522-paper:#fff;
  --tu522-night:#1c1730;
  --tu522-green:#178765;
  --tu522-line:rgba(33,27,52,.11);
  --tu522-shadow:0 26px 70px -32px rgba(33,27,52,.36);
  --tu522-shadow-sm:0 14px 34px -22px rgba(33,27,52,.32);
}

html{scroll-padding-top:94px}
.tu-v522{overflow:hidden;background:var(--tu522-sand);color:var(--tu522-ink);font-family:"Manrope",sans-serif}
.tu-v522 h1,.tu-v522 h2,.tu-v522 h3,.tu-v522 h4{color:var(--tu522-ink);font-family:"Fraunces",Georgia,serif;font-weight:500;letter-spacing:-.025em}
.tu-v522 p,.tu-v522 li{line-height:1.65}
.tu-v522 .tu-container{width:min(1180px,calc(100% - 56px))}
.tu-v522 .tu-hp-section{padding:78px 0}
.tu-v522 .tu-v516-kicker{display:flex;gap:10px;align-items:center;margin:0 0 15px;color:var(--tu522-gold);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.tu-v522 .tu-v516-kicker:before{width:22px;height:1px;background:currentColor;content:""}
.tu-v522 .tu-v516-heading{max-width:760px;margin:0 auto 36px}
.tu-v522 .tu-v516-heading h2{margin:0 0 16px;font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.16;letter-spacing:-.028em}
.tu-v522 .tu-v516-heading>p:last-child{max-width:650px;color:var(--tu522-muted);font-size:1.02rem}

/* Navigation: calm, premium and readable. */
.home .tu-header{border-bottom:1px solid var(--tu522-line);background:rgba(250,247,241,.9);box-shadow:none;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.home .tu-header__inner{min-height:76px}
.home .tu-nav a{color:var(--tu522-muted);font-weight:650}
.home .tu-nav a:hover,.home .tu-nav a[aria-current="page"]{color:var(--tu522-violet)}
.home .tu-header .tu-button{border-color:var(--tu522-violet);background:var(--tu522-violet);box-shadow:0 12px 28px -16px rgba(101,71,232,.8)}

/* Buttons. */
.tu-v522 .tu-hp-button{min-height:54px;padding:0 25px;border-radius:999px;font-weight:750;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}
.tu-v522 .tu-hp-button:hover{transform:translateY(-2px)}
.tu-v522 .tu-v516-button--primary{border-color:var(--tu522-violet)!important;background:var(--tu522-violet)!important;color:#fff!important;box-shadow:0 17px 34px -16px rgba(101,71,232,.8)!important}
.tu-v522 .tu-v516-button--primary:hover{border-color:var(--tu522-violet-deep)!important;background:var(--tu522-violet-deep)!important}
.tu-v522 .tu-v516-button--secondary{border:1px solid var(--tu522-line)!important;background:rgba(255,255,255,.72)!important;color:var(--tu522-ink)!important;box-shadow:none!important}
.tu-v522 .tu-v516-button--secondary:hover{border-color:var(--tu522-violet)!important;color:var(--tu522-violet)!important}
.tu-v522 a:focus-visible,.tu-v522 summary:focus-visible{outline:3px solid rgba(101,71,232,.42);outline-offset:4px}

/* Hero. */
.tu-v522 .tu-v516-hero{padding:48px 0 64px;background:var(--tu522-sand)}
.tu-v522 .tu-v516-hero:before{top:-280px;right:-190px;width:680px;height:680px;border:0;background:radial-gradient(circle,rgba(101,71,232,.2),rgba(101,71,232,.065) 45%,transparent 72%);box-shadow:none;filter:blur(2px)}
.tu-v522 .tu-v516-hero__grid{grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr);gap:74px;align-items:start}
.tu-v522 .tu-v516-hero__copy{max-width:650px}
.tu-v522 .tu-v516-hero h1{max-width:690px;margin:0 0 25px;color:var(--tu522-ink);font-family:"Fraunces",Georgia,serif;font-size:clamp(2.85rem,5.1vw,4rem);font-weight:500;line-height:1.07;letter-spacing:-.035em}
.tu-v522 .tu-v516-hero__lead{max-width:600px;margin:0 0 30px;color:var(--tu522-muted);font-size:1.09rem;line-height:1.72}
.tu-v522 .tu-v516-hero .tu-hp-actions{gap:13px}
.tu-v522 .tu-v516-trust{gap:10px 24px;margin-top:22px;color:#4e485f;font-size:.79rem}
.tu-v522 .tu-v516-trust svg{color:var(--tu522-violet)}
.tu-v522 .tu-v516-built-for{margin-top:16px;color:#7a7387;font-size:.75rem}

.tu-v522 .tu-v516-recommendation{overflow:visible;position:relative;border:1px solid var(--tu522-line);border-radius:27px;background:#fff;box-shadow:var(--tu522-shadow);transform:rotate(1deg)}
.tu-v522 .tu-v516-recommendation:before{position:absolute;inset:-28px;border-radius:50%;background:radial-gradient(circle,rgba(101,71,232,.2),transparent 68%);content:"";filter:blur(8px);z-index:-1}
.tu-v522 .tu-v516-recommendation>*{transform:rotate(-1deg)}
.tu-v522 .tu-v516-recommendation__header{padding:18px 21px;border-bottom:1px solid var(--tu522-line);border-radius:27px 27px 0 0}
.tu-v522 .tu-v516-recommendation__header img{width:48px;height:48px;border-radius:14px;background:var(--tu522-violet-soft)}
.tu-v522 .tu-v516-recommendation__header small{color:var(--tu522-muted)}
.tu-v522 .tu-v516-recommendation__header strong{color:var(--tu522-ink)}
.tu-v522 .tu-v516-recommendation__priority{padding:25px;background:linear-gradient(135deg,#f0edff,#faf9ff)}
.tu-v522 .tu-v516-recommendation__priority>span{color:var(--tu522-gold)}
.tu-v522 .tu-v516-recommendation__priority h2{font-size:1.45rem}
.tu-v522 .tu-v516-recommendation__actions{padding:21px 25px}
.tu-v522 .tu-v516-recommendation__actions li{border-color:rgba(101,71,232,.1);background:#f7f5ff}
.tu-v522 .tu-v516-recommendation__actions li span{background:var(--tu522-violet-soft);color:var(--tu522-violet)}
.tu-v522 .tu-v516-recommendation__footer{border-radius:0 0 27px 27px;background:var(--tu522-night);color:rgba(255,255,255,.78)}
.tu-v522 .tu-v516-recommendation__footer strong{color:#fff}

/* The three questions. */
.tu-v522 .tu-v516-problem{padding:70px 0 76px;background:#fff}
.tu-v522 .tu-v516-problem .tu-v516-heading{margin-bottom:34px}
.tu-v522 .tu-v516-problem__grid{gap:22px;max-width:1100px}
.tu-v522 .tu-v516-problem__grid article{padding:32px 29px;border:1px solid var(--tu522-line);border-radius:19px;box-shadow:var(--tu522-shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.tu-v522 .tu-v516-problem__grid article:hover{transform:translateY(-4px);box-shadow:var(--tu522-shadow)}
.tu-v522 .tu-v516-problem__grid article>span{width:42px;height:42px;margin-bottom:20px;border-radius:12px;background:var(--tu522-violet-soft);color:var(--tu522-violet)}
.tu-v522 .tu-v516-problem__grid strong{margin-bottom:9px;color:var(--tu522-ink);font-family:"Fraunces",Georgia,serif;font-size:1.2rem;font-weight:500}
.tu-v522 .tu-v516-problem__grid p{color:var(--tu522-muted);font-size:.9rem}

/* Dark IA section: every text color is explicitly defined for contrast. */
.tu-v522 .tu-v516-demo{padding:82px 0;background:var(--tu522-night);color:#fff}
.tu-v522 .tu-v516-demo:after{right:-160px;bottom:-310px;width:640px;height:640px;border:0;background:radial-gradient(circle,rgba(101,71,232,.42),transparent 68%);box-shadow:none}
.tu-v522 .tu-v516-demo__layout{grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr);gap:70px}
.tu-v522 .tu-v516-demo .tu-v516-kicker{color:#d9c58e!important}
.tu-v522 .tu-v516-demo .tu-v516-demo__copy h2{color:#fff!important;font-family:"Fraunces",Georgia,serif;font-size:clamp(2.4rem,4vw,3.35rem);font-weight:500;letter-spacing:-.03em}
.tu-v522 .tu-v516-demo .tu-v516-demo__copy>p{color:rgba(255,255,255,.78)!important;font-size:1rem}
.tu-v522 .tu-v516-button--light{border:1px solid #fff!important;background:#fff!important;color:var(--tu522-violet-deep)!important}
.tu-v522 .tu-v516-demo__steps{gap:14px}
.tu-v522 .tu-v516-demo__steps li{padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.075);box-shadow:none}
.tu-v522 .tu-v516-demo__steps li>span{background:linear-gradient(135deg,var(--tu522-gold),#d4a66c);color:#fff!important}
.tu-v522 .tu-v516-demo__steps small{color:#d9c58e!important}
.tu-v522 .tu-v516-demo .tu-v516-demo__steps strong{color:#fff!important;font-family:"Manrope",sans-serif;font-size:.95rem;font-weight:750;letter-spacing:0}
.tu-v522 .tu-v516-demo .tu-v516-demo__steps p{color:rgba(255,255,255,.76)!important;font-size:.81rem}

/* Results. */
.tu-v522 .tu-v516-outcomes{background:var(--tu522-sand)}
.tu-v522 .tu-v516-outcomes__grid{gap:18px}
.tu-v522 .tu-v516-outcome{min-height:300px;padding:28px 24px;border:1px solid var(--tu522-line);border-radius:19px;background:#fff;box-shadow:var(--tu522-shadow-sm);transition:transform .28s ease,box-shadow .28s ease}
.tu-v522 .tu-v516-outcome:hover{transform:translateY(-5px);box-shadow:var(--tu522-shadow)}
.tu-v522 .tu-v516-outcome>span{width:46px;height:46px;background:var(--tu522-violet);box-shadow:0 12px 26px -14px rgba(101,71,232,.9)}
.tu-v522 .tu-v516-outcome h3{font-size:1.18rem;line-height:1.25}
.tu-v522 .tu-v516-outcome p{color:var(--tu522-muted);font-size:.84rem}
.tu-v522 .tu-v516-outcome small{border-color:var(--tu522-line);color:var(--tu522-violet);font-size:.65rem;line-height:1.5}

/* Full, readable tool inventory. */
.tu-v522 .tu-v522-tools{min-height:0;padding:calc(var(--tu-home-tools-padding,24px)*3) 0;overflow:visible;border:0;background:#fff}
.tu-v522 .tu-v522-tools .tu-v516-heading{margin-bottom:38px}
.tu-v522 .tu-v516-tools__group{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;padding:0}
.tu-v522 .tu-v516-tools__group span{display:flex;gap:10px;align-items:center;padding:14px 19px;border:1px solid var(--tu522-line);border-radius:999px;background:var(--tu522-sand);color:#494258;font-size:var(--tu-home-tools-size,16px);font-weight:700;white-space:normal;box-shadow:none}
.tu-v522 .tu-v516-tools__group svg{width:18px;height:18px;flex:0 0 18px;color:var(--tu522-green)}

/* Product proof: one screenshot per idea, never cropped. */
.tu-v522 .tu-v516-product{background:var(--tu522-sand)}
.tu-v522 .tu-v518-product-list{gap:34px}
.tu-v522 .tu-v518-product-row,.tu-v522 .tu-v518-product-row.is-reversed{grid-template-columns:minmax(245px,.7fr) minmax(0,1.3fr);gap:48px;padding:38px;border:1px solid var(--tu522-line);border-radius:25px;background:#fff;box-shadow:var(--tu522-shadow-sm)}
.tu-v522 .tu-v518-product-row.is-reversed{grid-template-columns:minmax(0,1.3fr) minmax(245px,.7fr)}
.tu-v522 .tu-v518-product-copy>span{color:var(--tu522-gold)}
.tu-v522 .tu-v518-product-copy h3{font-family:"Fraunces",Georgia,serif;font-size:var(--tu-home-product-title-size,28px);font-weight:500}
.tu-v522 .tu-v518-product-copy p{color:var(--tu522-muted)}
.tu-v522 .tu-v518-product-figure{overflow:hidden;border:1px solid var(--tu522-line);border-radius:17px;box-shadow:0 18px 42px -25px rgba(33,27,52,.35)}
.tu-v522 .tu-v518-product-figure img{display:block;width:var(--tu-home-product-image-width,100%)!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center top!important}
.tu-v522 .tu-v516-browser{height:38px;background:#f7f5fa}
.tu-v522 .tu-hp-center-action a{color:var(--tu522-violet);font-weight:750}

/* Théo: real brand character, not a generic orb. */
.tu-v522 .tu-v516-difference{padding:82px 0;background:var(--tu522-night);color:#fff}
.tu-v522 .tu-v516-difference__grid{max-width:1080px!important;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:76px}
.tu-v522 .tu-v516-difference__visual{min-height:430px;overflow:visible;background:radial-gradient(circle at 50% 55%,rgba(101,71,232,.55),rgba(101,71,232,.1) 45%,transparent 72%)}
.tu-v522 .tu-v516-difference__halo{width:390px;height:390px;background:radial-gradient(circle,rgba(101,71,232,.5),rgba(101,71,232,.12) 52%,transparent 72%)}
.tu-v522 .tu-v516-difference__visual img{max-width:82%;max-height:390px;filter:drop-shadow(0 25px 38px rgba(0,0,0,.3))}
.tu-v522 .tu-v516-difference .tu-v516-kicker{color:#d9c58e}
.tu-hp.tu-v522 .tu-v516-difference__copy h2{color:#fff!important;font-family:"Fraunces",Georgia,serif;font-size:clamp(2.35rem,3.8vw,3.2rem);font-weight:500}
.tu-v522 .tu-v516-difference__copy li{gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.tu-v522 .tu-v516-difference__copy li:last-child{border-bottom:0}
.tu-v522 .tu-v516-difference__copy li>svg{background:rgba(255,255,255,.12);color:#c8b8ff}
.tu-v522 .tu-v516-difference__copy strong{color:#fff;font-size:.92rem}
.tu-v522 .tu-v516-difference__copy span{color:rgba(255,255,255,.72);font-size:.8rem}

/* Trial, pricing, FAQ. */
.tu-v522 .tu-v516-trial{background:#fff}
.tu-v522 .tu-v516-trial__panel{padding:48px 52px;border:1px solid rgba(101,71,232,.13);border-radius:27px;background:linear-gradient(130deg,#eeeaff,#f8f6ff 62%,#f6ead9);box-shadow:var(--tu522-shadow)}
.tu-v522 .tu-v516-trial__copy h2{font-family:"Fraunces",Georgia,serif;font-size:clamp(2.2rem,3.5vw,3rem);font-weight:500}
.tu-v522 .tu-v516-trial__copy>p{color:var(--tu522-muted)}
.tu-v522 .tu-v516-trial__list{border-color:rgba(101,71,232,.12);background:rgba(255,255,255,.78)}
.tu-v522 .tu-v516-trial__list strong{color:var(--tu522-ink)}
.tu-v522 .tu-v516-pricing{background:var(--tu522-sand)}
.tu-v522 .tu-home-pricing-grid{gap:20px;align-items:stretch}
.tu-v522 .tu-price-card{border:1px solid var(--tu522-line);border-radius:22px;background:#fff;box-shadow:var(--tu522-shadow-sm)}
.tu-v522 .tu-price-card.is-featured{border:2px solid var(--tu522-violet);box-shadow:0 25px 65px -30px rgba(101,71,232,.55)}
.tu-v522 .tu-price-card h3{font-family:"Fraunces",Georgia,serif;font-size:1.65rem;font-weight:500}
.tu-v522 .tu-price-card__price strong{color:var(--tu522-ink);font-family:"Fraunces",Georgia,serif;font-weight:600}
.tu-v522 .tu-price-card .tu-button{border-color:var(--tu522-violet);border-radius:999px;background:var(--tu522-violet);color:#fff!important}
.tu-v522 .tu-price-card .tu-button--ghost{border-color:var(--tu522-violet)!important;background:#fff!important;color:var(--tu522-violet)!important}
.tu-v522 .tu-price-card .tu-button--ghost:hover,
.tu-v522 .tu-price-card .tu-button--ghost:focus-visible{background:var(--tu522-violet)!important;color:#fff!important}
.tu-v522 .tu-v516-faq{background:#fff}
.tu-v522 .tu-v516-faq .tu-hp-faq__list{max-width:880px}
.tu-v522 .tu-v516-faq details{margin-bottom:11px;border:1px solid var(--tu522-line);border-radius:14px;background:#fff}
.tu-v522 .tu-v516-faq summary{padding:20px 22px;color:var(--tu522-ink);font-family:"Manrope",sans-serif;font-weight:750}
.tu-v522 .tu-v516-faq details p{padding:0 22px 22px;color:var(--tu522-muted)}

/* Closing CTA. */
.tu-v522 .tu-v516-final{padding:58px 0;background:linear-gradient(120deg,#4930bf,#674ae5 62%,#382391)}
.tu-v522 .tu-v516-final__grid{grid-template-columns:minmax(0,1fr) 230px}
.tu-v522 .tu-v516-final .tu-v516-kicker{color:#ead6a8}
.tu-v522 .tu-v516-final h2{max-width:790px;color:#fff;font-family:"Fraunces",Georgia,serif;font-size:clamp(2.3rem,4vw,3.35rem);font-weight:500;letter-spacing:-.03em}
.tu-v522 .tu-v516-final p:not(.tu-v516-kicker){color:rgba(255,255,255,.8)}
.tu-v522 .tu-v516-final img{width:205px;max-height:285px}

/* Reveal stays safe if JavaScript is blocked or fails. */
.tu-v522 .tu-hp-reveal{opacity:1;transform:none}
.js .tu-v522 .tu-hp-reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease;transition-delay:var(--tu-delay,0ms)}
.js .tu-v522 .tu-hp-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1080px){
  .tu-v522 .tu-v516-hero__grid,.tu-v522 .tu-v516-demo__layout,.tu-v522 .tu-v516-trial__panel{grid-template-columns:1fr}
  .tu-v522 .tu-v516-hero__copy{max-width:780px}
  .tu-v522 .tu-v516-recommendation{width:min(100%,640px);margin:0 auto}
  .tu-v522 .tu-v516-demo__layout{gap:50px}
  .tu-v522 .tu-v516-outcomes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tu-v522 .tu-v516-outcome{min-height:245px}
  .tu-v522 .tu-v516-difference__grid{grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:45px}
}

@media(max-width:780px){
  .tu-v522 .tu-container{width:min(100% - 30px,1180px)}
  .tu-v522 .tu-hp-section{padding:60px 0}
  .tu-v522 .tu-v516-heading{margin-bottom:36px;text-align:left}
  .tu-v522 .tu-v516-heading>p:last-child{margin-left:0}
  .tu-v522 .tu-v516-hero{padding:36px 0 54px}
  .tu-v522 .tu-v516-hero__grid{gap:52px}
  .tu-v522 .tu-v516-hero h1{font-size:clamp(2.7rem,12.2vw,3.55rem)}
  .tu-v522 .tu-v516-hero .tu-hp-actions{align-items:stretch;flex-direction:column}
  .tu-v522 .tu-v516-hero .tu-hp-button{width:100%}
  .tu-v522 .tu-v516-recommendation{transform:none}
  .tu-v522 .tu-v516-recommendation>*{transform:none}
  .tu-v522 .tu-v516-problem{padding:58px 0}
  .tu-v522 .tu-v516-problem__grid,.tu-v522 .tu-v516-outcomes__grid{grid-template-columns:1fr}
  .tu-v522 .tu-v516-demo{padding:64px 0}
  .tu-v522 .tu-v516-demo__layout{gap:38px}
  .tu-v522 .tu-v516-demo .tu-v516-demo__copy h2{font-size:2.45rem}
  .tu-v522 .tu-v522-tools{padding:58px 0}
  .tu-v522 .tu-v516-tools__group{justify-content:flex-start}
  .tu-v522 .tu-v516-tools__group span{padding:12px 15px;font-size:min(var(--tu-home-tools-size,16px),4.2vw)}
  .tu-v522 .tu-v518-product-row,.tu-v522 .tu-v518-product-row.is-reversed{grid-template-columns:1fr;gap:27px;padding:22px}
  .tu-v522 .tu-v518-product-row.is-reversed .tu-v518-product-copy{order:-1}
  .tu-v522 .tu-v516-difference{padding:62px 0}
  .tu-v522 .tu-v516-difference__grid{grid-template-columns:1fr;gap:35px}
  .tu-v522 .tu-v516-difference__visual{min-height:340px}
  .tu-v522 .tu-v516-difference__visual img{max-height:310px}
  .tu-v522 .tu-v516-trial__panel{width:min(100% - 30px,1180px)!important;padding:31px 24px}
  .tu-v522 .tu-v516-final__grid{grid-template-columns:1fr}
  .tu-v522 .tu-v516-final img{justify-self:center}
}

@media(max-width:430px){
  .tu-v522 .tu-v516-recommendation__header{align-items:flex-start}
  .tu-v522 .tu-v516-live{display:none}
  .tu-v522 .tu-v516-recommendation__priority,.tu-v522 .tu-v516-recommendation__actions{padding-inline:18px}
  .tu-v522 .tu-v516-demo__steps li{padding:16px}
  .tu-v522 .tu-v516-demo__steps li>span{width:36px;height:36px;flex-basis:36px}
  .tu-v522 .tu-v516-tools__group{display:grid;grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .js .tu-v522 .tu-hp-reveal{opacity:1;transform:none;transition:none}
  .tu-v522 *{scroll-behavior:auto!important}
}
