:root{--ink:#29243a;--muted:#777285;--violet:#7653ae;--orange:#ee985e;--line:#eeeaf1;--white:#fff;--grad:linear-gradient(110deg,#f1a066 0%,#d0789d 49%,#8060bc 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fdfcfe;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.052em}p{line-height:1.75;color:var(--muted)}.shell{max-width:1280px;padding:0 36px;margin:auto}.section{padding:110px 0}.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;font-weight:850;color:#9466a4;margin-bottom:22px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:43px}.section-head h2,.section h2{font-size:clamp(38px,4.4vw,64px);line-height:1.12;margin-bottom:0}.section-head p{max-width:370px;font-size:16px;margin-bottom:5px}.reading-progress{height:3px;background:var(--grad);position:fixed;left:0;top:0;width:0;z-index:99}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;z-index:101}.skip:focus{left:10px}.site-header{position:fixed;top:0;left:0;right:0;z-index:90;border-bottom:1px solid #ede8f0;background:#ffffffed;backdrop-filter:blur(20px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 14px 35px #29203a0c}.nav-shell{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;align-items:center;gap:11px;font-size:25px;letter-spacing:-.06em;font-weight:900;white-space:nowrap}.logo img{width:48px;height:48px;object-fit:contain}.logo b{color:#925cb1}.nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.nav>a:not(.nav-contact):hover{color:#965ca5}.nav-contact{padding:13px 19px;border:1px solid #eadfeb;border-radius:999px;background:white;transition:transform .25s,box-shadow .25s}.nav-contact:hover{transform:translateY(-3px);box-shadow:0 10px 20px #8b64a020}.nav-toggle{display:none;border:0;background:none;font-size:28px}.hero{position:relative;min-height:800px;padding:166px 0 72px;overflow:hidden;background:radial-gradient(ellipse at 91% 15%,#eee6fa8c,transparent 37%),radial-gradient(ellipse at 18% 85%,#fff1e6a8,transparent 40%),#fdfcfe}.hero-mesh{position:absolute;inset:0;opacity:.6;background-image:linear-gradient(#8b6d9910 1px,transparent 1px),linear-gradient(90deg,#8b6d9910 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 30%,black)}.hero-layout{position:relative;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:40px}.hero-content{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:11px;padding:10px 15px;border:1px solid #eae2ef;background:#ffffffdb;border-radius:99px;font-size:10px;letter-spacing:.14em;font-weight:850;color:#876493}.status-dot{width:8px;height:8px;border-radius:50%;background:#e9a06a;box-shadow:0 0 0 5px #fbece2}.hero h1{font-size:clamp(52px,5.9vw,86px);line-height:1.07;margin:29px 0}.hero-desc{font-size:18px;max-width:570px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;padding:17px 24px;border-radius:999px;font-size:13px;font-weight:800;transition:transform .25s,box-shadow .25s;white-space:nowrap}.button:hover{transform:translateY(-4px);box-shadow:0 15px 30px #8e5caa2b}.button-primary{color:white;background:var(--grad);box-shadow:0 12px 25px #bc77a733}.button-light{background:#fff;border:1px solid #e9e2ed}.hero-trust{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:48px;color:#8c8294;font-size:11px;font-weight:700}.trust-line{width:30px;height:2px;background:var(--grad)}.hero-trust i{width:4px;height:4px;border-radius:50%;background:#cfa4be}.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.visual-halo{position:absolute;width:580px;height:580px;max-width:120%;border-radius:50%;background:radial-gradient(circle,#eeddf7 0%,#f7e9e9 37%,transparent 68%);animation:float 12s ease-in-out infinite alternate}.dashboard{position:relative;z-index:2;width:min(100%,460px);background:#fffffff2;border:1px solid #e9e2ef;border-radius:26px;padding:23px;box-shadow:0 38px 95px #51405c1c;transform:rotate(-2deg);transition:transform .4s}.dashboard:hover{transform:rotate(0deg) translateY(-8px)}.dash-top{display:flex;align-items:center;gap:12px}.dash-icon{height:42px;width:42px;border-radius:13px;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:22px}.dash-top strong,.dash-row strong{display:block;font-size:13px}.dash-top small,.dash-row small{display:block;font-size:11px;color:#918999;margin-top:5px}.online{margin-left:auto;background:#eff8f3;border-radius:99px;padding:8px 10px;font-size:10px;color:#548b6c;font-weight:800}.online span{display:inline-block;width:6px;height:6px;background:#70b38d;border-radius:50%;margin-right:4px}.dash-divider{height:1px;background:#eeeaf0;margin:22px 0 9px}.dash-row{display:flex;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid #f1edf3}.mini-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:20px}.mini-icon.orange{background:#fff0e5;color:#e59a6a}.mini-icon.purple{background:#f0e9fa;color:#8b64b6}.mini-icon.pink{background:#faeaf3;color:#cc83ab}.tick{margin-left:auto;color:#aa8bb9}.dash-foot{display:flex;align-items:center;gap:14px;padding-top:19px}.dash-foot p{font-size:11px;margin:0}.avatar-stack{display:flex;padding-left:7px}.avatar-stack span{margin-left:-7px;width:27px;height:27px;border-radius:50%;background:#f1e2f5;border:2px solid #fff;display:grid;place-items:center;font-size:10px;font-weight:900;color:#8965a5}.avatar-stack span:nth-child(2){background:#fbe7dc;color:#d48b6b}.avatar-stack span:nth-child(3){background:#e5ddf5}.floating-note{position:absolute;z-index:3;background:#fff;border:1px solid #efe8f0;padding:13px 17px;border-radius:14px;box-shadow:0 14px 32px #38284b13;font-size:11px;font-weight:800;animation:float 5s ease-in-out infinite}.note-top{top:40px;right:-9px}.note-bottom{bottom:30px;left:-8px;animation-delay:-2s}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:#aaa0b1;font-size:10px;font-weight:850;letter-spacing:.16em}.hero-bottom span:last-child{font-size:21px}.value-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.value-list{display:flex;justify-content:space-between;gap:17px;align-items:center;padding-top:24px;padding-bottom:24px;color:#867d90;font-size:11px;font-weight:850;letter-spacing:.07em;white-space:nowrap}.value-list span:nth-child(even){color:#d6a2b4;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;background:white;border:1px solid #eee9f1;border-radius:25px;padding:31px;min-height:304px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .35s;overflow:hidden}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #40304d13;border-color:#e0cde9}.service-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#fff0e5,#eee5fa);display:grid;place-items:center;font-size:26px;color:#9b6da6}.service-index{position:absolute;right:29px;top:33px;color:#b3aabb;font-size:12px;font-weight:800}.service-card h3{font-size:23px;margin:25px 0 9px}.service-card p{font-size:14px;line-height:1.7}.service-tags{margin-top:auto;font-size:11px;color:#a078aa;font-weight:750}.service-feature{background:linear-gradient(135deg,#fef2e9,#f1eafb);border-color:#eedfee}.service-feature .feature-star{font-size:40px;color:#b17eaf}.service-feature h3{font-size:28px;margin-top:18px}.service-feature a{margin-top:auto;color:#8c55a6;font-size:13px;font-weight:850}.scenarios{background:#f7f4fa}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.scenario{background:#fff;border:1px solid #ede6f0;border-radius:24px;padding:31px;min-height:310px}.scenario-num{color:#b07aaa;font-size:11px;letter-spacing:.1em;font-weight:850}.scenario h3{font-size:25px;line-height:1.28;margin:32px 0 18px}.scenario p{font-size:14px}.dark-section{background:#292239;color:white;position:relative;overflow:hidden}.dark-section:before{content:"";position:absolute;width:700px;height:700px;right:-230px;top:-280px;background:radial-gradient(circle,#8d61af59,transparent 67%)}.dark-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;position:relative}.dark-section h2{margin-bottom:28px}.dark-section p{color:#c9c1d1}.light-kicker{color:#d3a2c3}.button-white{background:#fff;color:#372c43;margin-top:22px}.principle{display:flex;gap:24px;border-top:1px solid #ffffff32;padding:26px 0}.principle>span{font-size:13px;color:#d4a4bd;font-weight:800}.principle h3{font-size:22px;margin-bottom:8px}.principle p{font-size:14px;margin:0}.offer-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.offer-card{background:#fff;border:1px solid #e8dcec;box-shadow:0 22px 60px #513c5c0c;border-radius:28px;padding:43px}.offer-header{display:flex;justify-content:space-between;align-items:center}.offer-label{font-size:10px;font-weight:900;letter-spacing:.13em;color:#9b69a8}.offer-symbol{font-size:28px;color:#cf8ca6}.offer-card h3{font-size:39px;margin:30px 0 10px}.offer-card>p{max-width:500px}.offer-items{display:grid;gap:15px;margin:27px 0 34px;font-size:14px;font-weight:650}.offer-items span:first-letter{color:#9b67ac}.offer-card small{display:block;margin-top:16px;color:#978e9d}.offer-aside{background:linear-gradient(145deg,#fff5ee,#f5effb);border:1px solid #eee4ed;border-radius:28px;padding:43px}.aside-badge{font-size:11px;letter-spacing:.13em;font-weight:850;color:#a16ea8}.offer-aside h3{font-size:31px;margin:28px 0 14px}.offer-aside p{font-size:14px}.aside-divider{height:1px;background:#e7dce9;margin:30px 0}.offer-aside strong{font-size:14px}.offer-aside ol{list-style:none;counter-reset:step;padding:0;margin:19px 0 0}.offer-aside li{counter-increment:step;display:flex;align-items:baseline;gap:12px;padding:9px 0;font-size:13px}.offer-aside li:before{content:"0" counter(step);color:#a96caa;font-weight:900;font-size:12px}.offer-aside li b{min-width:90px}.offer-aside li span{color:#8b8092}.about-section{background:#fff}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center}.about-art{height:450px;display:grid;place-items:center;border-radius:30px;background:linear-gradient(140deg,#fdf1e8,#eee6f8);position:relative;overflow:hidden}.about-art img{position:relative;z-index:2;filter:drop-shadow(0 15px 22px #8d6ba51e);width:180px;object-fit:contain}.about-orbit{position:absolute;width:330px;height:330px;border:1px solid #ffffffa8;border-radius:50%;transform:rotate(-35deg) scaleX(1.2)}.orbit-b{width:460px;height:460px}.about-art-label{position:absolute;bottom:28px;letter-spacing:.15em;color:#947f9b;font-size:10px;font-weight:850}.about-layout h2{margin-bottom:26px}.about-layout p{font-size:16px}.text-link{display:inline-block;margin-top:20px;color:#9460a8;font-weight:850;font-size:14px}.faq-section{background:#f9f7fb}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-layout h2{margin-bottom:20px}.faq-list details{border-bottom:1px solid #e5dfe9;padding:22px 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-size:16px;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:23px;color:#a36eb1;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:14px;margin:17px 0 0}.contact-section{padding-bottom:120px;background:#f9f7fb}.contact-panel{border:1px solid #ede4ee;border-radius:34px;background:#fff;position:relative;overflow:hidden;text-align:center;padding:90px 25px}.contact-glow{position:absolute;inset:0;background:radial-gradient(circle at 4% 100%,#fff0e5,transparent 36%),radial-gradient(circle at 97% 5%,#efe5fa,transparent 38%);pointer-events:none}.contact-content{position:relative}.contact-panel h2{margin-bottom:20px}.contact-panel p{max-width:620px;margin:0 auto}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:19px;margin-top:32px}.contact-email{color:#8c5aa6;font-weight:800;font-size:14px}.contact-disclaimer{font-size:11px!important;color:#aaa0b1;margin-top:24px!important}.footer{background:#fff;border-top:1px solid #eeeaf0}.footer-main{padding-top:65px;padding-bottom:60px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-logo img{width:42px;height:42px}.footer-main p{font-size:13px;margin:15px 0 0}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:14px;font-size:13px}.footer-main strong{margin-bottom:8px}.footer-main a:not(.logo){color:#7c7285}.footer-main a:hover{color:#9d67ad}.footer-bottom{border-top:1px solid #eeeaf0;display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:26px;color:#918897;font-size:12px}.to-top{position:fixed;right:24px;bottom:24px;border:0;background:var(--grad);color:#fff;border-radius:50%;height:46px;width:46px;z-index:50;box-shadow:0 10px 30px #9066a244;opacity:0;pointer-events:none;transition:opacity .25s}.to-top.visible{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}@keyframes float{to{transform:translateY(-20px)}}@media(max-width:1100px){.nav{gap:17px}.hero h1{font-size:clamp(49px,5.6vw,70px)}.floating-note{display:none}.hero-layout{gap:18px}.dark-layout,.about-layout,.faq-layout{gap:50px}.value-list{font-size:10px;gap:10px}}@media(max-width:800px){.shell{padding-left:22px;padding-right:22px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:83px;left:0;right:0;background:#fff;padding:23px;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 18px 35px #392d4715}.nav.open{display:flex}.nav-contact{text-align:center}.hero{padding-top:135px;min-height:auto}.hero-layout{grid-template-columns:1fr}.hero-content{max-width:680px}.hero-visual{min-height:410px;margin-top:20px}.dashboard{max-width:470px}.hero-bottom{margin-top:5px}.section{padding:80px 0}.section-head{display:block}.section-head p{margin-top:24px;max-width:620px}.service-grid,.scenario-grid{grid-template-columns:repeat(2,1fr)}.dark-layout,.offer-layout,.about-layout,.faq-layout{grid-template-columns:1fr}.about-art{height:350px}.value-list{overflow:auto;justify-content:flex-start;gap:25px}.footer-main{grid-template-columns:1.5fr 1fr 1fr}}@media(max-width:540px){.hero h1{font-size:clamp(45px,11vw,63px)}.hero-desc{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-trust{margin-top:28px}.hero-visual{min-height:370px}.dashboard{padding:18px}.dash-top strong,.dash-row strong{font-size:12px}.online{display:none}.service-grid,.scenario-grid{grid-template-columns:1fr}.service-card,.scenario{min-height:unset}.section-head h2,.section h2{font-size:clamp(35px,10vw,47px)}.offer-card,.offer-aside{padding:27px}.offer-card h3{font-size:32px}.offer-aside li{flex-wrap:wrap}.contact-panel{padding:65px 18px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.hero-bottom{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* TZ ONE / STUDIO EDITION — v9: intentional editorial rhythm, not decorative effects */
:root{--ease-studio:cubic-bezier(.22,1,.36,1);--paper:#fdfcfe}
::selection{background:#e8d5ef;color:#30213b}
:focus-visible{outline:3px solid #a45cb2;outline-offset:5px}
html{scroll-padding-top:90px}
.site-header{backdrop-filter:saturate(145%) blur(16px);-webkit-backdrop-filter:saturate(145%) blur(16px)}
.nav a:not(.nav-contact){position:relative}
.nav a:not(.nav-contact):after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:#ab6f9b;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-studio)}
.nav a:not(.nav-contact):hover:after,.nav a:not(.nav-contact):focus-visible:after{transform:scaleX(1);transform-origin:left}
.hero{isolation:isolate}
.hero-coordinate{position:absolute;right:3%;top:145px;writing-mode:vertical-rl;letter-spacing:.24em;font-size:10px;font-weight:700;color:#ad9eb2;z-index:1}
.hero-coordinate span{color:#b7789d;margin-top:15px}
.hero-content{position:relative;z-index:2}
.hero h1{letter-spacing:-.074em;line-height:1.035}
.hero-desc{max-width:560px}
.hero-visual{transform:translate3d(0,0,0);will-change:transform}
.dashboard{box-shadow:0 30px 95px #3e235521,0 3px 10px #3e23550b}
.button,.nav-contact{transition:transform .45s var(--ease-studio),box-shadow .45s var(--ease-studio),background .3s}
.button:hover{transform:translateY(-3px)}
.value-strip{overflow:hidden}
.value-list{white-space:nowrap}
.section-head h2{letter-spacing:-.067em;line-height:1.07}
#services .service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;border-top:1px solid #e9e3ec;border-left:1px solid #e9e3ec}
#services .service-card{grid-column:span 4;border:0;border-right:1px solid #e9e3ec;border-bottom:1px solid #e9e3ec;border-radius:0;box-shadow:none;min-height:335px;position:relative;overflow:hidden;transition:background .5s var(--ease-studio)}
#services .service-card:hover{background:#fbf6fb;transform:none}
#services .service-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease-studio)}
#services .service-card:hover:before{transform:scaleX(1)}
#services .service-feature{background:#2e263b;color:#fff}
#services .service-feature:hover{background:#393045}
.scenarios{position:relative;overflow:hidden;background:#f9f6f9}
.chapter-rail{position:absolute;top:95px;left:20px;display:flex;align-items:center;gap:16px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.19em;color:#a68da5;font-weight:800}
.chapter-line{height:90px;width:1px;background:#ccb9ca}
.scenario{position:relative;overflow:hidden}
.scenario:after{content:"↗";position:absolute;bottom:25px;right:28px;font-size:25px;color:#bc8cb5;opacity:.7;transition:transform .45s var(--ease-studio)}
.scenario:hover:after{transform:translate(5px,-5px)}
.dark-section{position:relative;isolation:isolate;overflow:clip}
.dark-aura{position:absolute;width:700px;height:700px;border:1px solid #ffffff15;border-radius:50%;right:-250px;top:-220px;pointer-events:none;box-shadow:0 0 0 100px #ffffff05,0 0 0 220px #ffffff03}
.dark-layout{position:relative;z-index:1}
.principles .principle{transition:opacity .4s,transform .5s var(--ease-studio)}
.principles:has(.principle:hover) .principle:not(:hover){opacity:.55}
.principle:hover{transform:translateX(8px)}
.offers-section{background:linear-gradient(180deg,#fff 0%,#fdf9fc 100%)}
.about-art{overflow:hidden}
.about-art img{transition:transform 1s var(--ease-studio)}
.about-art:hover img{transform:scale(1.06) rotate(-2deg)}
.faq-list details{transition:background .3s}
.faq-list details[open]{background:#fdf9fc}
.contact-panel{overflow:hidden}
.reveal{transition:opacity .85s var(--ease-studio),transform .9s var(--ease-studio)}
.reveal:not(.visible){transform:translate3d(0,35px,0)}
.reveal.visible{transform:translate3d(0,0,0)}
/* Narrative word reveals only on explicitly selected headings; original accessible text remains in aria-label */
.motion-line{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em}
.motion-line-inner{display:inline-block;transform:translate3d(0,115%,0);transition:transform 1.05s var(--ease-studio)}
.motion-line.is-visible .motion-line-inner{transform:translate3d(0,0,0)}
@media(min-width:901px){.dark-layout>div:first-child{position:sticky;top:150px;align-self:start}.dark-layout{align-items:start}.principles{padding-top:30px;padding-bottom:40px}.principle{min-height:150px}}
@media(max-width:1100px){.chapter-rail{display:none}}
@media(max-width:800px){.hero-coordinate{display:none}#services .service-card{grid-column:span 6}.dark-layout>div:first-child{position:static}.hero-visual{will-change:auto}}
@media(max-width:540px){#services .service-card{grid-column:span 12;min-height:unset}.motion-line{padding-bottom:.15em}.hero h1{letter-spacing:-.055em}.principles:has(.principle:hover) .principle:not(:hover){opacity:1}}
@media(prefers-reduced-motion:reduce){.motion-line-inner{transform:none!important}.hero-visual{transform:none!important}.reveal:not(.visible){transform:none!important;opacity:1!important}}


/* Devis rapide — TZ ONE */
.quote-section{background:#f7f5f8;padding:clamp(75px,9vw,140px) 0}
.quote-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,6vw,100px);align-items:start}
.quote-intro{position:sticky;top:120px}.quote-intro h2{font-size:clamp(2.5rem,4.4vw,4.9rem);line-height:1.08;letter-spacing:-.055em;margin:24px 0}.quote-intro>p{max-width:460px;line-height:1.8;color:#66616c}.quote-promise{display:grid;gap:18px;margin-top:44px;font-size:.9rem;color:#51485a}.quote-promise span{padding-bottom:15px;border-bottom:1px solid #ded8e3}
.quote-card{background:white;border:1px solid #e9e3eb;border-radius:20px;padding:clamp(22px,3vw,42px);box-shadow:0 22px 70px rgba(45,24,56,.055)}
.quote-card-top{display:flex;justify-content:space-between;color:#8c6b94;font-size:.73rem;font-weight:800;letter-spacing:.12em;border-bottom:1px solid #eee8ef;padding-bottom:20px}
.quote-step{display:flex;align-items:center;gap:16px;color:#b05c8e;font-size:.8rem;font-weight:800;letter-spacing:.08em;margin:30px 0 20px}.quote-step span{font-size:1.05rem;color:#30283a;letter-spacing:0}
.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-field{display:flex;flex-direction:column;gap:9px;color:#403847;font-size:.82rem;font-weight:700}.quote-field span,.quote-checks legend span{color:#c65372}.quote-field input,.quote-field select,.quote-field textarea{width:100%;min-width:0;padding:14px 15px;border:1px solid #e3dce6;border-radius:9px;background:#fff;color:#30283a;font:inherit;font-size:.92rem;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{border-color:#a56aaf;box-shadow:0 0 0 3px rgba(165,106,175,.12)}.quote-wide{grid-column:1/-1}.quote-field textarea{resize:vertical}
.quote-checks{border:0;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.quote-checks legend{font-size:.82rem;font-weight:700;margin-bottom:14px;color:#403847}.quote-checks label{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #eee8ef;border-radius:9px;font-size:.79rem;cursor:pointer}.quote-checks input,.quote-consent input{accent-color:#a55b98;flex-shrink:0}.quote-checks label:has(input:checked){border-color:#b879aa;background:#fbf5fa}.quote-consent{display:flex;gap:10px;align-items:flex-start;font-size:.76rem;color:#6a6270;line-height:1.6;margin:23px 0}.quote-consent a{text-decoration:underline}.quote-submit{width:100%;justify-content:center;cursor:pointer;border:0}.quote-help{font-size:.72rem;line-height:1.6;color:#7a7380;margin-top:14px}.quote-error{color:#b02745;font-size:.85rem;margin:12px 0}
@media(max-width:950px){.quote-layout{grid-template-columns:1fr}.quote-intro{position:static}.quote-intro h2{max-width:700px}.quote-promise{margin-top:20px}}
@media(max-width:560px){.quote-fields,.quote-checks{grid-template-columns:1fr}.quote-card{border-radius:14px}.quote-section{padding:65px 0}.quote-field input,.quote-field select{min-height:48px}}

.quote-success{text-align:center;padding:48px 12px}.quote-success-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#f5eaf4;color:#8d3984;font-size:2.1rem;margin:0 auto 25px}.quote-success h3{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em;margin-bottom:15px}.quote-success p{color:#645e69;line-height:1.7;margin-bottom:30px}.quote-success .button{display:inline-flex}.quote-submit:disabled{opacity:.65;cursor:wait}

/* V13 — parcours client et étapes de la demande */
.journey-intro{padding-bottom:clamp(40px,6vw,78px)}
.journey-intro h2{font-size:clamp(2.3rem,4.1vw,4.2rem);letter-spacing:-.045em;line-height:1.1;margin:16px 0 30px}
.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,45px)}
.journey-steps>div{border-top:1px solid #d8d0da;padding-top:18px}
.journey-steps b{display:block;color:#a65d8d;font-size:.76rem;letter-spacing:.12em;margin-bottom:16px}
.journey-steps strong{display:block;color:#2e2734;font-size:clamp(1rem,1.5vw,1.25rem);margin-bottom:10px}
.journey-steps p{color:#6a626d;line-height:1.65;font-size:.91rem}
@media(max-width:680px){.journey-steps{grid-template-columns:1fr;gap:22px}.journey-steps>div{padding-top:12px}.journey-steps b{margin-bottom:8px}}

/* V14 — new commercial experiences */
.why-section{background:#fff}.why-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,7vw,120px);align-items:start}.why-lead h2,.diagnostic-copy h2,.booking-layout h2{font-size:clamp(2.5rem,4.4vw,4.9rem);line-height:1.08;letter-spacing:-.055em;margin:22px 0}.why-lead p,.diagnostic-copy p,.booking-layout p{max-width:520px;line-height:1.75;color:#68606c}.why-lead .text-link{display:inline-flex;margin-top:26px}.why-reason{display:grid;grid-template-columns:64px 1fr;gap:16px;border-top:1px solid #e7e0e8;padding:24px 0}.why-reason>span{font-size:.77rem;color:#a36196;font-weight:800}.why-reason h3{font-size:clamp(1.05rem,1.5vw,1.35rem);margin:0 0 10px;color:#312737}.why-reason p{line-height:1.7;color:#6d6570;font-size:.92rem;margin:0}
.simulator-section{background:#faf7fa}.sim-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,4vw,60px);align-items:start;margin-top:40px}.sim-panel{background:#fff;border:1px solid #e9e0e8;border-radius:18px;padding:clamp(20px,3vw,40px)}.sim-field label,.sim-options legend{font-size:.92rem;font-weight:750;display:block;margin-bottom:14px}.sim-field select{width:100%;border:1px solid #ddd2e1;border-radius:10px;padding:15px;background:#fff;color:#342a38;font:inherit}.sim-options{border:0;padding:0;margin:30px 0 0;display:grid;gap:10px}.sim-options label{display:flex;gap:13px;align-items:center;padding:15px;border:1px solid #e9e2eb;border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s}.sim-options label:has(input:checked){background:#faf1f8;border-color:#c88eb9}.sim-options input{accent-color:#a35c99;width:17px;height:17px}.sim-result{position:sticky;top:105px;border-radius:18px;padding:clamp(24px,3vw,43px);background:#28202f;color:white}.sim-overline{display:block;color:#f2b4d0;font-size:.74rem;font-weight:800;letter-spacing:.13em;margin-bottom:24px}.sim-result>strong{font-size:clamp(1.7rem,2.5vw,2.6rem);letter-spacing:-.04em;display:block}.sim-result>p{color:#e4d9e5}.sim-result ul{list-style:none;padding:15px 0;margin:24px 0;border-top:1px solid #514453;border-bottom:1px solid #514453}.sim-result li{padding:8px 0;font-size:.93rem}.sim-result li:before{content:'✓';color:#efb4d0;margin-right:10px}.sim-result .sim-note{font-size:.8rem;line-height:1.6;color:#d0c4d1}.sim-result .button{margin-top:20px;width:100%;justify-content:center;cursor:pointer}.sim-feedback{font-size:.8rem;color:#f1d6e8}
.diagnostic-section{background:#fff}.diagnostic-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,100px);align-items:start}.diagnostic-footnote{font-size:.8rem;color:#8b728a;border-top:1px solid #e9e1e9;padding-top:20px;margin-top:35px}.diagnostic-box{border:1px solid #e7e0e9;border-radius:18px;overflow:hidden;min-height:390px;background:#fcfafc;padding:clamp(20px,3vw,38px)}.diagnostic-top{display:flex;justify-content:space-between;gap:12px;color:#a0649b;font-size:.73rem;font-weight:800;letter-spacing:.08em;padding-bottom:24px;border-bottom:1px solid #e8dfe8}.diag-question{font-size:clamp(1.25rem,2vw,1.8rem);font-weight:750;letter-spacing:-.025em;line-height:1.35;margin:26px 0}.diag-answers{display:grid;gap:10px}.diag-answers button{width:100%;text-align:left;border:1px solid #e2d7e4;background:white;color:#3d3341;border-radius:10px;padding:15px 18px;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s}.diag-answers button:hover,.diag-answers button:focus-visible{border-color:#ac6c9f;transform:translateX(3px)}.diag-actions{margin-top:18px}.diag-back{background:none;border:0;color:#8c5b88;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:4px}.diag-result h3{font-size:clamp(1.45rem,2.3vw,2rem);letter-spacing:-.04em}.diag-result p,.diag-result li{color:#5d5362;line-height:1.7}.diag-result ul{padding-left:19px}.diag-result .button{display:inline-flex;margin-top:18px}.diag-result .diag-note{font-size:.77rem;color:#827584;margin-top:18px}
.founder-details{display:grid;gap:15px;margin:25px 0}.founder-details>div{border-left:2px solid #b46d9e;padding:3px 0 3px 15px}.founder-details span{display:block;font-size:.67rem;color:#9b709a;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.founder-details strong{font-size:.9rem;font-weight:600}

@media(max-width:950px){.why-layout,.sim-layout,.diagnostic-layout,.booking-layout{grid-template-columns:1fr}.sim-result{position:static}.diagnostic-box{min-height:0}}
@media(max-width:600px){.why-reason{grid-template-columns:44px 1fr}.sim-result{padding:24px}.sim-options label{padding:13px}.diagnostic-box{padding:22px}}
@media(prefers-reduced-motion:reduce){.diag-answers button{transition:none}}

/* V15 — correction essentielle : l'attribut hidden prime sur les règles display des composants. */
[hidden]{display:none!important}
.diag-progress{height:4px;background:#eadfea;border-radius:20px;overflow:hidden;margin-top:18px}
.diag-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f5a35c,#aa609e);transition:width .3s ease}
.diag-choice{display:flex;align-items:center;gap:13px;border:1px solid #e2d7e4;background:#fff;border-radius:10px;padding:15px 18px;cursor:pointer;color:#3d3341;line-height:1.5}
.diag-choice:has(input:checked){border-color:#a66d9d;background:#fbf3fa}
.diag-choice input{accent-color:#a35c99;width:18px;height:18px;flex-shrink:0}
.diag-actions{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.diag-next{cursor:pointer;margin-left:auto;border:0}
.diag-next:disabled{opacity:.45;cursor:not-allowed}
.diag-result h4{font-size:1.05rem;color:#302735;margin:24px 0 12px}
.diag-result .diag-advice{padding-left:24px;display:grid;gap:15px}
.diag-advice li{padding-left:6px}
.diag-advice li strong{display:block;color:#342b3b;margin-bottom:5px}
.diag-advice li p{margin:0;font-size:.92rem}
.diag-result>.button{cursor:pointer;border:0}
@media(prefers-reduced-motion:reduce){.diag-progress span{transition:none}}


/* =========================================================
 TZ ONE V17 — identité visuelle + animations douces
 Blanc majoritaire, orange/rose/violet en accents maîtrisés.
 ========================================================= */
:root{--brand-orange:#ed965d;--brand-rose:#d27a9e;--brand-purple:#8360b8;--brand-soft:#faf5fa;--brand-stroke:#e9dce9;--brand-glow:linear-gradient(120deg,#f3a56b 0%,#d784a8 50%,#8868c0 100%)}
body{background:#fffdfd}
::selection{background:#f1d5e5;color:#34213c}
:focus-visible{outline:3px solid #a36cbe;outline-offset:4px}
/* Site chrome */
.reading-progress{height:4px;box-shadow:0 0 13px #b47db275}
.site-header{border-bottom-color:#e9dce9;background:#ffffffeb}
.site-header.scrolled{box-shadow:0 12px 45px #73507a17}
.logo b{background:var(--brand-glow);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav>a:not(.nav-contact){position:relative;transition:color .25s}
.nav>a:not(.nav-contact):after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:var(--brand-glow);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav>a:not(.nav-contact):hover:after,.nav>a:not(.nav-contact):focus-visible:after{transform:scaleX(1)}
.nav-contact{background:linear-gradient(#fff,#fff) padding-box,var(--brand-glow) border-box;border:1px solid transparent;box-shadow:0 7px 20px #a86a9e10}
/* Ambient hero with calm drifting color */
.hero{isolation:isolate;background:radial-gradient(ellipse at 86% 20%,#ede2f5 0%,transparent 44%),radial-gradient(ellipse at 12% 87%,#fff0e4 0%,transparent 42%),linear-gradient(180deg,#fff 0%,#fdf9fd 100%)}
.brand-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.brand-orb{position:absolute;display:block;border-radius:50%;filter:blur(28px);opacity:.35;animation:tz-drift 15s ease-in-out infinite alternate}
.orb-orange{width:300px;height:300px;top:12%;left:-155px;background:#f5ba88}
.orb-violet{width:420px;height:420px;top:4%;right:-170px;background:#cbb2f0;animation-delay:-7s}
.orb-pink{width:220px;height:220px;bottom:-120px;left:46%;background:#f1bed4;animation-delay:-3s}
.hero-mesh{opacity:.37}
.hero .eyebrow{border-color:#e8d4e8;box-shadow:0 6px 20px #986ca015}
.hero h1 .gradient-text{background-size:200% 200%;animation:tz-gradient 11s ease-in-out infinite alternate}
.hero-visual{filter:drop-shadow(0 10px 32px #a27ca211)}
.dashboard{box-shadow:0 35px 100px #76548522,0 2px 0 #ffffff inset;border-color:#e9d8e9}
.dashboard:hover{box-shadow:0 45px 100px #7654852b}
.floating-note{border-color:#e9d8eb}
.button-primary{background:var(--brand-glow);background-size:180% 180%;transition:transform .28s,box-shadow .28s,background-position .6s;box-shadow:0 12px 30px #bf83ad35}
.button-primary:hover{background-position:100% 50%;box-shadow:0 18px 36px #a66caa40}
.button-light:hover{border-color:#d4a9d3;background:#fef8fc}
/* More chromatic section rhythm */
.brand-section{position:relative;isolation:isolate}
.brand-section>.shell{position:relative;z-index:1}
.section-glow{position:absolute;pointer-events:none;z-index:0;width:min(560px,70vw);height:420px;right:-260px;top:4%;border-radius:50%;background:radial-gradient(circle,#f0e3f7 0%,#fae9e73c 40%,transparent 72%);opacity:.8}
#situations{background:linear-gradient(140deg,#faf4f9 0%,#fff9f4 52%,#f8f5fc 100%)}
#pourquoi{background:#fff}
#services{background:linear-gradient(180deg,#fff 0%,#fffafd 100%)}
#offres{background:linear-gradient(135deg,#fdf9fc,#fff8f2 65%,#faf7ff)}
#diagnostic{background:linear-gradient(145deg,#fff 0%,#f9f3fb 100%)}
#devis{background:linear-gradient(160deg,#fffaf5,#fff 45%,#fbf5ff)}
#faq{background:linear-gradient(180deg,#fff 0%,#fcf8fd 100%)}
.section .kicker{position:relative;padding-left:17px;color:#93639f}
.section .kicker:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--brand-glow);box-shadow:0 0 0 4px #efdaea}
.section h2{letter-spacing:-.055em}
/* A subtle color edge that lights up on hover */
.service-card,.scenario,.offer-card,.why-reason,.diagnostic-box,.quote-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s,background .35s}
.service-card{border-color:#eadde9;box-shadow:0 8px 26px #59415e08}
.service-card:before{content:'';position:absolute;left:0;top:0;right:0;height:4px;background:var(--brand-glow);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.service-card:hover:before,.service-card:focus-within:before{transform:scaleX(1)}
.service-card:hover{transform:translateY(-7px);border-color:#dcbddc;box-shadow:0 24px 55px #79567e19}
.service-icon{background:linear-gradient(135deg,#ffeddf,#f5e5f1 55%,#ece4fc);transition:transform .4s,box-shadow .4s}
.service-card:hover .service-icon{transform:rotate(-7deg) scale(1.07);box-shadow:0 9px 22px #a8789b22}
.service-feature{background:linear-gradient(140deg,#fff0e3,#f9eaf3 55%,#eee5fc)}
.scenario{border-color:#e9dce9;box-shadow:0 9px 25px #72547a0b}
.scenario:nth-child(3n+1){border-top:3px solid #eaa16f}
.scenario:nth-child(3n+2){border-top:3px solid #d38db2}
.scenario:nth-child(3n){border-top:3px solid #a38bd0}
.scenario:hover{transform:translateY(-5px);box-shadow:0 22px 48px #7b54791a}
.why-reason:hover{transform:translateX(5px);border-color:#d3a3c5}
.offer-card{border-color:#ead7e6;box-shadow:0 20px 65px #76567c12}
.offer-card:hover{transform:translateY(-4px);box-shadow:0 30px 70px #76567c1b}
.diagnostic-box{border:1px solid #e3cfe2;box-shadow:0 25px 65px #80608914;background:#fff}
.diag-choice{transition:transform .2s,border-color .2s,box-shadow .2s}
.diag-choice:hover{transform:translateX(3px)}
.diag-progress-fill{background:var(--brand-glow)!important;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.diag-result h4{color:#a06b9f}
.diag-advice li{border-left:3px solid #d59ab9;padding-left:14px}
.quote-card{box-shadow:0 28px 65px #74537816;border-color:#e9d7e8}
.quote-field input:focus,.quote-field textarea:focus,.quote-field select:focus{border-color:#b17fae;box-shadow:0 0 0 4px #d7a4d322}
.faq-section details{transition:border-color .25s,background .25s,box-shadow .25s}
.faq-section details[open]{border-color:#dbb6d7;background:#fffafb;box-shadow:0 8px 25px #815a8d0c}
.contact-panel{box-shadow:0 25px 70px #a76f9918}
.footer{border-top:3px solid transparent;border-image:var(--brand-glow) 1}
/* reveal choreography with restrained motion */
.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.service-grid .service-card:nth-child(2),.scenario-grid .scenario:nth-child(2){transition-delay:80ms}
.service-grid .service-card:nth-child(3),.scenario-grid .scenario:nth-child(3){transition-delay:150ms}
@keyframes tz-drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(24px,-30px,0) scale(1.08)}}
@keyframes tz-gradient{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@media(max-width:900px){.brand-orb{opacity:.23}.section-glow{right:-320px}.service-card:hover,.scenario:hover,.offer-card:hover{transform:none}}
@media(max-width:600px){.brand-orb{filter:blur(35px);opacity:.18}.orb-violet{width:270px;height:270px;right:-160px}.orb-orange{width:210px;height:210px}.section{padding-top:75px;padding-bottom:75px}.service-card:before{transform:scaleX(1);opacity:.7}.nav>a:not(.nav-contact):after{display:none}}
@media(prefers-reduced-motion:reduce){.brand-orb,.hero h1 .gradient-text{animation:none!important}.service-card,.scenario,.offer-card,.why-reason,.service-icon,.diag-choice,.reveal{transition:none!important;transform:none!important}.diag-progress-fill{transition:none!important}}

/* V18 — identité TZ ONE : couleurs équilibrées et beaucoup de blanc */
:root{--orange:#c98a70;--grad:linear-gradient(112deg,#c58a83 0%,#aa7ba6 52%,#7968b0 100%);--brand-orange:#c98a70;--brand-rose:#b985a9;--brand-purple:#7968b0;--brand-glow:linear-gradient(112deg,#c58a83 0%,#aa7ba6 52%,#7968b0 100%)}
body{background:#fff;color:#302c3b}
.hero{background:radial-gradient(ellipse at 90% 18%,#eeeafa 0%,transparent 43%),radial-gradient(ellipse at 5% 90%,#f8f0f0 0%,transparent 40%),#fff}
.orb-orange{background:#e9c7c3;opacity:.18}.orb-pink{background:#e7c9e4;opacity:.22}.orb-violet{background:#c6bde8;opacity:.24}
#situations{background:linear-gradient(145deg,#faf8fc,#fdfafd 55%,#fff)}
#services{background:#fff}
#offres{background:linear-gradient(140deg,#faf8fc,#fdfbff)}
#diagnostic{background:#fff}
#devis{background:linear-gradient(160deg,#faf8fc,#fff 70%)}
#faq{background:#fff}
.service-feature{background:linear-gradient(140deg,#f7f2f9,#f2eef9)}
.offer-aside{background:linear-gradient(145deg,#f9f6fb,#f2eff8)}
.scenario:nth-child(3n+1){border-top-color:#c6a1b6}
.scenario:nth-child(3n+2){border-top-color:#a990bf}
.scenario:nth-child(3n){border-top-color:#8e86b9}
.service-icon{background:linear-gradient(135deg,#f8f1f7,#eeebf8)}
.mini-icon.orange{background:#f6eef0;color:#aa7891}
.status-dot{background:#a98bb9;box-shadow:0 0 0 5px #eee7f3}
.button-primary{background:var(--brand-glow);background-size:160% 160%;box-shadow:0 10px 24px #9575ad29}
.button-primary:hover{box-shadow:0 13px 28px #9575ad33}
.nav-contact{border-color:#ddd1e4;box-shadow:none}
.hero .gradient-text,.section .gradient-text{background:var(--brand-glow);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-glow{background:radial-gradient(circle,#e9e5f3 0%,transparent 68%);opacity:.42}
.service-card:before{background:linear-gradient(90deg,#b7a2cb,#9585bd)}
.quote-card,.diagnostic-box,.offer-card{box-shadow:0 15px 40px #594a7910}
/* Équipe TZ ONE */
#apropos{background:linear-gradient(180deg,#fff 0%,#faf8fc 100%)}
#apropos .about-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,95px);align-items:center}
#apropos .about-art{background:radial-gradient(circle at 55% 45%,#f6f2fb,#eee8f5 65%,#f8f5fa);border:1px solid #eae3ef;border-radius:28px;overflow:hidden}
#apropos .about-art-label{color:#756a83}
#apropos .about-layout>div:last-child>p{margin:0 0 16px;color:#665e6c;font-size:15px;line-height:1.85}
#apropos h2{font-size:clamp(34px,3.8vw,58px);margin:0 0 25px}
.team-founder{margin:30px 0 22px;padding:25px 27px;border-radius:18px;background:#fff;border:1px solid #e8e1ec;border-left:3px solid #a98bbd;box-shadow:0 12px 32px #6250780a}
.team-founder-label{display:block;font-size:11px;font-weight:850;letter-spacing:.13em;color:#866d9e;margin-bottom:15px}
.team-founder blockquote{margin:0 0 19px;font-size:15px;line-height:1.8;font-style:italic;color:#50485a}
.team-founder>strong{display:block;color:#30283b;font-size:14px}
.team-founder>span:last-child{display:block;font-size:12px;color:#857b8b;margin-top:3px}
.team-promise{display:flex;gap:13px;align-items:start;margin-bottom:22px}
.team-promise-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:10px;background:#eee7f3;color:#8069a5}
#apropos .team-promise p{margin:2px 0 0;font-size:14px}
@media(max-width:900px){#apropos .about-layout{grid-template-columns:1fr}#apropos .about-art{min-height:300px}}
@media(max-width:600px){.team-founder{padding:22px 20px}#apropos .about-art{min-height:260px}.brand-orb{opacity:.12}}

/* V19 — palette lumineuse : blanc dominant, lavande claire, pêche en accent */
:root{
 --ink:#302c3c;--muted:#6d6877;--violet:#7565b2;--orange:#efb08a;
 --grad:linear-gradient(110deg,#dc977c 0%,#bd88b9 46%,#8979c9 100%);
 --brand-orange:#e8a584;--brand-rose:#c28db7;--brand-purple:#8979c9;
 --brand-glow:linear-gradient(110deg,#e0a18a 0%,#c28fbd 50%,#9180c9 100%);
 --brand-soft:#faf9fe;--brand-stroke:#ebe6f1;
}
body{background:#fff;color:var(--ink)}
.hero{background:radial-gradient(ellipse at 88% 16%,#f2edff 0%,transparent 44%),radial-gradient(ellipse at 4% 89%,#fff5ef 0%,transparent 40%),#fff}
.hero-mesh{opacity:.20}
.brand-orb{filter:blur(42px)!important;opacity:.11!important}
.orb-orange{background:#f7d7bd}.orb-pink{background:#f4dbe9}.orb-violet{background:#dcd2f8}
.visual-halo{background:radial-gradient(circle,#f4effd 0%,#fff5f0 39%,transparent 70%)}
#situations,.scenarios{background:#fcfbff}
#pourquoi,#services,#diagnostic,#faq{background:#fff}
#offres{background:#faf9fe}
#devis,.quote-section{background:#fcfbff}
#apropos{background:linear-gradient(180deg,#fff,#fbfaff)}
#contact,.contact-section{background:#fff}
#apropos .about-art{background:radial-gradient(circle at 52% 48%,#f9f5ff,#f1ebfa 70%,#fff)}
.section-glow{background:radial-gradient(circle,#f2ecfb 0%,transparent 70%);opacity:.30}
.contact-glow{background:radial-gradient(circle at 3% 96%,#fff6ef,transparent 36%),radial-gradient(circle at 97% 4%,#f4efff,transparent 38%)}
.service-feature{background:linear-gradient(135deg,#fff8f3 0%,#f8f3ff 100%)}
.service-icon{background:linear-gradient(135deg,#fff5ee,#f2ecfb)}
.offer-aside{background:linear-gradient(145deg,#fffaf6,#f5f0ff)}
.scenario:nth-child(3n+1){border-top-color:#eac5ae}
.scenario:nth-child(3n+2){border-top-color:#ddbed7}
.scenario:nth-child(3n){border-top-color:#c3b5e6}
.section .kicker,.kicker{color:#856ea8}
.section .kicker:before{background:#c4a6d8;box-shadow:0 0 0 4px #f4edf9}
.service-card:before{background:linear-gradient(90deg,#e7b49e,#b8a5df)}
.hero .gradient-text,.section .gradient-text{background:linear-gradient(110deg,#bd7e72 0%,#a66fa5 48%,#7666b7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.button-primary{background:linear-gradient(110deg,#aa7eae,#7b70b9);color:#fff;box-shadow:0 10px 25px #8c7cb426}
.button-primary:hover{background:linear-gradient(110deg,#9d73a5,#7165ad);box-shadow:0 14px 29px #8c7cb42d}
.dash-icon,.to-top{background:linear-gradient(130deg,#bc91bc,#8e7fc4)}
.reading-progress{background:linear-gradient(90deg,#e9b6a0,#bba4dd)}
/* La section méthode était violet très foncé : version lumineuse et lisible. */
.dark-section{background:linear-gradient(145deg,#f8f5fe,#fffaf7 80%,#fff);color:#302c3c;border-top:1px solid #f0ebf4;border-bottom:1px solid #f0ebf4}
.dark-section:before{background:radial-gradient(circle,#e8ddf944,transparent 70%);opacity:.5}
.dark-section h2,.dark-section h3{color:#302c3c}
.dark-section p,.principle p{color:#655e70}
.light-kicker{color:#8c73ac}
.principle{border-top:1px solid #e4ddea}
.principle>span{color:#987eb8}
.button-white{background:#fff;color:#7464a8;border:1px solid #ded5ed;box-shadow:0 8px 22px #8b75b013}
.button-white:hover{background:#f9f6ff}
#apropos .team-founder{border-left-color:#b4a0d4;background:#fff}
#apropos .team-founder-label{color:#806da6}
#apropos .team-promise-icon{background:#f2ecfa;color:#806eac}
.quote-card,.diagnostic-box,.offer-card,.service-card,.scenario{box-shadow:0 10px 32px #6758810a}
.footer{border-top:1px solid #ebe7f0;border-image:none}
@media(prefers-reduced-motion:reduce){.brand-orb{animation:none!important}}


/* ===== V20 — Palette officielle issue du logo TZ ONE =====
   Accents saturés seulement sur les petits éléments ; fonds très clairs.
   Orange #FF7900, rose #EA3569, magenta #C5229C, violet #5B00E6. */
:root{
 --tz-orange:#ff7900;--tz-pink:#ea3569;--tz-magenta:#c5229c;--tz-violet:#5b00e6;
 --tz-ink:#292238;--tz-lilac:#f6f1ff;--tz-peach:#fff7f0;
 --ink:var(--tz-ink);--muted:#686375;--violet:#6845c3;--orange:#ff7900;
 --grad:linear-gradient(108deg,#ff7900 0%,#ea3569 32%,#c5229c 65%,#5b00e6 100%);
 --brand-glow:var(--grad);--brand-orange:var(--tz-orange);--brand-rose:var(--tz-pink);--brand-purple:var(--tz-violet);
 --brand-soft:#fbf9ff;--brand-stroke:#ece5f4;
}
html{scroll-behavior:smooth}body{background:#fff;color:var(--tz-ink)}
.hero{background:radial-gradient(ellipse at 89% 16%,#f2eaff 0%,transparent 42%),radial-gradient(ellipse at 10% 85%,#fff3e9 0%,transparent 37%),#fff}
.hero-mesh{opacity:.22}
.brand-orb{opacity:.09!important;filter:blur(55px)!important}
.orb-orange{background:#ffb97b}.orb-pink{background:#f5a2ca}.orb-violet{background:#b49aff}
.visual-halo{background:radial-gradient(circle,#f4edff 0%,#fff5f6 40%,transparent 69%)}
.section .gradient-text,.hero .gradient-text,.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .gradient-text{background-size:220% 220%;animation:tz-gradient 13s ease-in-out infinite alternate}
.reading-progress{background:var(--grad)}
.button-primary{background:linear-gradient(105deg,#c52c96,#6b26cf);color:#fff;box-shadow:0 10px 24px #7a37c525;transition:transform .25s,box-shadow .25s,filter .25s}
.button-primary:hover{background:linear-gradient(105deg,#bd278d,#6020c1);filter:brightness(1.05);box-shadow:0 14px 28px #7a37c52c}
.button-primary:focus-visible,.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #8d62ee;outline-offset:3px}
.dash-icon,.to-top{background:linear-gradient(135deg,#f56d35,#c62c9d 57%,#7022df)}
.nav-contact{border-color:#d8c9f2;background:#fff;color:#6131b6}
.nav-contact:hover{border-color:#9e74e4;background:#faf7ff}
.logo b,.nav>a:not(.nav-contact):hover,.text-link,.contact-email{color:#7435c4}
.eyebrow{color:#713ab2;border-color:#e7d9f5;background:#fff}
.status-dot{background:#ff7900;box-shadow:0 0 0 5px #fff0e5}
.trust-line{background:var(--grad)}
#situations,.scenarios{background:#faf8ff}
#pourquoi,#services,#diagnostic,#faq{background:#fff}
#offres,.faq-section{background:#faf8ff}
#devis,.quote-section{background:#fdfbff}
#apropos{background:linear-gradient(180deg,#fff,#faf8ff)}
#contact,.contact-section{background:#fff}
.dark-section{background:linear-gradient(135deg,#f7f3ff 0%,#fffaf6 100%);color:var(--tz-ink);border-top:1px solid #eee6f7;border-bottom:1px solid #eee6f7}
.dark-section:before{background:radial-gradient(circle,#d9c4ff6e,transparent 70%)}
.dark-section h2,.dark-section h3{color:var(--tz-ink)}
.dark-section p,.principle p{color:#635c6f}
.light-kicker,.section .kicker,.kicker{color:#753eb7}
.section .kicker:before{background:#c4a2ec;box-shadow:0 0 0 4px #f2ebfc}
.principle{border-top:1px solid #e6dcf2}.principle>span{color:#8d55d3}
.service-feature{background:linear-gradient(135deg,#fff8f3 0%,#f6f0ff 100%);border-color:#efe2f3}
.service-icon{background:linear-gradient(135deg,#fff0e3,#f0e8ff);color:#7b3ccc}
.service-card:before{background:var(--grad)}
.scenario:nth-child(3n+1){border-top-color:#ffad65}.scenario:nth-child(3n+2){border-top-color:#ed88b0}.scenario:nth-child(3n){border-top-color:#a88be7}
.offer-aside{background:linear-gradient(145deg,#fff8f2,#f6f0ff)}
.offer-label,.aside-badge,.offer-aside li:before{color:#8339b8}
#apropos .about-art{background:radial-gradient(circle at 53% 45%,#f6f0ff,#eee5ff 70%,#fff);border-color:#eae0f6}
#apropos .team-founder{background:#fff;border-left-color:#a57de6}
#apropos .team-founder-label{color:#7542ba}
#apropos .team-promise-icon{background:#f1e9ff;color:#7439c4}
.contact-glow{background:radial-gradient(circle at 4% 98%,#fff3e9,transparent 37%),radial-gradient(circle at 96% 5%,#f1e9ff,transparent 39%)}
.section-glow{background:radial-gradient(circle,#f1e8ff 0%,transparent 70%);opacity:.3}
.quote-card,.diagnostic-box,.offer-card,.service-card,.scenario{box-shadow:0 10px 30px #6b45a00b}
.mini-icon.orange{background:#fff0e3;color:#e97411}.mini-icon.purple{background:#f0e9ff;color:#7437c8}.mini-icon.pink{background:#ffedf5;color:#bf2d84}
@media(prefers-reduced-motion:reduce){.hero h1 .gradient-text{animation:none!important}.brand-orb{animation:none!important}}

/* V21 : services plus détaillés, lecture confortable et respiration */
#services .section-head>p{max-width:560px;line-height:1.8}
#services .service-card{display:flex;flex-direction:column;align-items:flex-start}
#services .service-card p{line-height:1.72;font-size:clamp(.91rem,1.05vw,.98rem);margin-bottom:20px}
#services .service-card .service-tags{margin-top:auto}
#services .service-feature a{margin-top:auto}
.service-conclusion{margin-top:clamp(35px,5vw,65px);padding:clamp(26px,4vw,52px);border-radius:20px;background:linear-gradient(110deg,#fff9f5 0%,#fcf7ff 55%,#f6f2ff 100%);border:1px solid #efe8f3;display:flex;align-items:center;justify-content:space-between;gap:32px}
.service-conclusion>div{max-width:710px}
.service-conclusion h3{font-size:clamp(1.4rem,2.5vw,2.4rem);line-height:1.2;letter-spacing:-.035em;margin:15px 0}
.service-conclusion p{color:#686170;line-height:1.7;margin:0}
.service-conclusion .button{flex-shrink:0;text-align:center}
@media(max-width:800px){.service-conclusion{flex-direction:column;align-items:flex-start}.service-conclusion .button{width:100%;justify-content:center}}

/* V38 — animation premium sur les cartes de services */
#services .service-grid{perspective:1400px}
#services .service-card{
 --tz-mx:50%;--tz-my:50%;--tz-rx:0deg;--tz-ry:0deg;
 position:relative;isolation:isolate;overflow:hidden;
 cursor:pointer;transform-style:preserve-3d;
 transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,border-color .35s ease,background .4s ease;
 will-change:auto;
}
#services .service-card::after{
 content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
 background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.76) 47%,transparent 70%);
 transform:translateX(-160%) skewX(-13deg);opacity:0;
}
#services .service-card .tz-v38-glow{
 position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
 background:radial-gradient(340px circle at var(--tz-mx) var(--tz-my),rgba(178,112,245,.17),rgba(255,144,90,.07) 44%,transparent 74%);
 transition:opacity .3s ease;
}
#services .service-card .tz-v38-spark{
 position:absolute;right:20px;top:20px;width:7px;height:7px;border-radius:50%;z-index:1;
 background:#b989e8;box-shadow:0 0 0 5px rgba(180,131,233,.12),0 0 16px rgba(159,84,231,.3);
 opacity:.25;transition:opacity .3s,transform .45s;
}
#services .service-card > :not(.tz-v38-glow):not(.tz-v38-spark){position:relative;z-index:1}
#services .service-card:is(:hover,:focus-visible,:focus-within){
 transform:translateY(-10px) rotateX(var(--tz-rx)) rotateY(var(--tz-ry)) scale(1.015);
 box-shadow:0 24px 55px rgba(87,47,136,.17),0 8px 20px rgba(255,124,66,.07);
 border-color:#d6b6f5;
}
#services .service-card:is(:hover,:focus-visible,:focus-within) .tz-v38-glow{opacity:1}
#services .service-card:is(:hover,:focus-visible,:focus-within) .tz-v38-spark{opacity:1;transform:scale(1.3)}
#services .service-card:hover::after{animation:tz-v38-sheen .95s ease-out both;opacity:1}
#services .service-card .service-icon{
 transition:transform .45s cubic-bezier(.18,.8,.25,1),box-shadow .4s ease,background .35s ease;
}
#services .service-card:hover .service-icon{
 transform:translateY(-4px) rotate(-7deg) scale(1.12);
 box-shadow:0 10px 20px rgba(128,77,194,.18);
}
#services .service-card .service-index{transition:color .35s,transform .35s}
#services .service-card:hover .service-index{color:#9345ce;transform:translateX(-3px)}
#services .service-card .service-detail-link,
#services .service-card.service-feature a{
 transition:transform .35s ease,color .35s ease,letter-spacing .35s ease;
}
#services .service-card:hover .service-detail-link,
#services .service-card.service-feature:hover a{transform:translateX(5px);letter-spacing:.01em}
#services .service-card:focus-visible{outline:3px solid #8e43d7;outline-offset:4px}
@keyframes tz-v38-sheen{from{transform:translateX(-160%) skewX(-13deg)}to{transform:translateX(160%) skewX(-13deg)}}
@media (hover:none){#services .service-card:hover{transform:none;box-shadow:0 10px 30px #6b45a00b}#services .service-card:hover::after{animation:none}}
@media (max-width:700px){#services .service-card{transform:none!important}#services .service-card:active{border-color:#b88bdd;box-shadow:0 12px 30px rgba(93,55,137,.12)}}
@media (prefers-reduced-motion:reduce){
 #services .service-card,#services .service-card *,#services .service-card::after{animation:none!important;transition:none!important;transform:none!important}
 #services .service-card .tz-v38-glow{display:none}
}
