:root{
  --stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--white:#fff;
  --max:1180px;--radius:var(--theme-radius,22px);--shadow:0 18px 60px rgba(28,25,23,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--theme-bg,var(--stone-50));color:var(--theme-text,var(--stone-900));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit}.container{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.selection::selection,::selection{background:var(--theme-accent,var(--stone-900));color:white}.skip-link{position:absolute;left:-999px;top:12px;background:#fff;padding:12px;border-radius:12px;z-index:999}.skip-link:focus{left:12px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:11px 3px 11px 3px;background:var(--theme-accent,var(--stone-900));color:#fff;display:grid;place-items:center;font-weight:900;font-size:21px;box-shadow:0 10px 25px rgba(28,25,23,.2)}.brand strong{font-size:1.55rem;letter-spacing:-.04em}.site-header{position:fixed;left:0;right:0;top:0;z-index:50;transition:all .25s ease;padding:22px 0}.site-header.is-scrolled{background:rgba(250,250,249,.91);border-bottom:1px solid var(--stone-200);backdrop-filter:blur(14px);padding:13px 0;box-shadow:0 8px 25px rgba(28,25,23,.06)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:22px}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:var(--stone-600);font-weight:800}.desktop-nav a:hover{color:var(--theme-text,var(--stone-900))}.mobile-toggle{display:none;background:transparent;border:0;color:var(--theme-text,var(--stone-900));width:42px;height:42px}.mobile-toggle svg{width:30px;height:30px}.mobile-menu{display:none;position:fixed;left:0;right:0;top:72px;background:rgba(250,250,249,.97);border-bottom:1px solid var(--stone-200);backdrop-filter:blur(16px);box-shadow:var(--shadow);padding:32px 24px}.mobile-menu a{display:block;text-align:center;text-decoration:none;font-size:1.55rem;font-weight:900;margin:22px 0;color:var(--stone-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:13px 18px;background:var(--theme-accent,var(--stone-900));color:#fff;font-weight:850;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px rgba(28,25,23,.18);transition:transform .15s ease,background .15s ease,border .15s ease}.btn:hover{transform:translateY(-1px);background:var(--stone-800)}.btn svg{width:19px;height:19px}.btn-secondary{background:#fff;color:var(--theme-text,var(--stone-900));border-color:var(--stone-300);box-shadow:0 8px 18px rgba(28,25,23,.06)}.btn-secondary:hover{background:var(--theme-bg,var(--stone-50))}.hero{position:relative;min-height:100dvh;display:flex;align-items:center;overflow:hidden;padding-top:88px}.hero-grid-bg{position:absolute;inset:0;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.hero-bg{background-size:cover;background-position:center}.hero-bg:first-child{grid-row:1/3}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,250,249,.96),rgba(250,250,249,.72),rgba(250,250,249,.42));backdrop-filter:blur(2px)}.hero-content{position:relative;z-index:2;padding:130px 0 80px;max-width:760px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#fff;border:1px solid var(--stone-200);box-shadow:0 8px 22px rgba(28,25,23,.07);color:var(--stone-600);font-size:.88rem;font-weight:850;margin-bottom:22px}.badge svg{width:18px;height:18px}.hero h1{font-size:clamp(3rem,8vw,6.8rem);line-height:.94;letter-spacing:-.07em;margin:0 0 24px;font-weight:950}.hero h1 span{color:var(--stone-400)}.hero p{font-size:clamp(1.05rem,2.3vw,1.35rem);color:var(--stone-600);max-width:690px;margin:0 0 34px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.section{padding:var(--theme-section,84px) 0}.section-white{background:#fff}.section-muted{background:var(--theme-muted-bg,var(--stone-100))}.section-head{text-align:center;max-width:760px;margin:0 auto 44px}.section-head h2{font-size:clamp(2.2rem,5vw,4.2rem);line-height:1;letter-spacing:-.065em;margin:0 0 14px;font-weight:950}.section-head p{color:var(--stone-500);font-size:1.1rem;margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feature-card{background:var(--theme-bg,var(--stone-50));border:1px solid var(--stone-200);border-radius:var(--radius);padding:30px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-icon{width:64px;height:64px;border-radius:16px;background:white;border:1px solid var(--stone-200);box-shadow:0 8px 18px rgba(28,25,23,.05);display:grid;place-items:center;margin-bottom:18px}.feature-icon svg{width:33px;height:33px}.feature-card h3{font-size:1.48rem;line-height:1.15;margin:0 0 12px;letter-spacing:-.035em}.feature-card p{color:var(--stone-600);margin:0 0 18px}.feature-card ul{padding:0;margin:0;list-style:none;display:grid;gap:9px}.feature-card li{display:flex;align-items:center;gap:10px;color:var(--stone-700);font-size:.95rem;font-weight:720}.feature-card li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--theme-accent,var(--stone-900));flex:0 0 auto}.dual-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.dual-visual{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;border:1px solid var(--stone-200);box-shadow:var(--shadow);background:var(--theme-accent,var(--stone-900));user-select:none}.compare-layer{position:absolute;inset:0;background-size:cover;background-position:center}.compare-layer:after{content:"";position:absolute;inset:0;background:rgba(28,25,23,.50);transition:.2s}.compare-top{z-index:2;clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.85);z-index:4;box-shadow:0 0 16px rgba(0,0,0,.55)}.compare-thumb{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:#fff;box-shadow:0 20px 45px rgba(0,0,0,.35);display:grid;place-items:center}.compare-label{position:absolute;top:50%;transform:translateY(-50%);z-index:3;color:white;text-align:center;font-family:ui-monospace,monospace;font-weight:950;letter-spacing:.14em;font-size:.78rem;text-shadow:0 3px 8px rgba(0,0,0,.5)}.compare-label svg{width:40px;height:40px;display:block;margin:0 auto 8px}.compare-left{left:28px}.compare-right{right:28px}.compare-range{position:absolute;inset:0;z-index:6;opacity:0;cursor:ew-resize}.content-copy h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 18px}.content-copy p{font-size:1.1rem;color:var(--stone-600);margin:0 0 18px}.text-link{font-weight:900;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.text-link svg{width:18px;height:18px}.custom-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:38px;background:#fff;border:1px solid var(--stone-200);border-radius:var(--radius);box-shadow:0 10px 35px rgba(28,25,23,.06);margin:24px 0}.custom-section.full{grid-template-columns:1fr}.custom-section.left .custom-media{order:-1}.custom-media{min-height:310px;border-radius:18px;background:linear-gradient(135deg,var(--stone-200),var(--stone-400));background-size:cover;background-position:center}.custom-section h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05;margin:0 0 12px;letter-spacing:-.05em}.custom-section .subtitle{font-size:1.1rem;color:var(--stone-500);font-weight:800;margin:0 0 10px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.article-card{background:white;border:1px solid var(--stone-200);border-radius:var(--radius);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s}.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.article-media{height:190px;background:linear-gradient(135deg,var(--stone-200),var(--stone-500));background-size:cover;background-position:center}.article-body{padding:24px}.article-body h3{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.035em}.article-body p{margin:0;color:var(--stone-600)}.contact-section{background:var(--theme-accent,var(--stone-900));color:#fff}.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.contact-wrap h2{font-size:clamp(2.3rem,5vw,4rem);line-height:1;letter-spacing:-.065em;margin:0 0 18px}.contact-wrap p{color:#d6d3d1}.contact-form{background:white;color:var(--theme-text,var(--stone-900));border-radius:var(--radius);padding:28px;display:grid;gap:14px}.field{display:grid;gap:7px}.field label{font-weight:850;font-size:.92rem}.field input,.field textarea,.field select{width:100%;border:1px solid var(--stone-300);border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.field textarea{min-height:140px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{padding:13px 16px;border-radius:14px;background:#ecfdf5;color:#065f46;font-weight:800}.site-footer{background:var(--theme-bg,var(--stone-50));border-top:1px solid var(--stone-200);padding:42px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{color:var(--stone-500);text-decoration:none;font-weight:750}.copyright{margin-top:28px;padding-top:24px;border-top:1px solid var(--stone-200);color:var(--stone-400);text-align:center;font-size:.92rem}.article-page{padding:140px 0 70px;background:#fff}.article-page article{max-width:850px;margin:auto}.article-page h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1;letter-spacing:-.065em}.article-page .lead{font-size:1.25rem;color:var(--stone-600)}.article-page img{max-width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.article-content{font-size:1.1rem;color:var(--stone-700);white-space:pre-wrap}.empty-state{text-align:center;padding:36px;border:1px dashed var(--stone-300);border-radius:var(--radius);color:var(--stone-500);background:#fff}
@media(max-width:920px){.desktop-nav{display:none}.mobile-toggle{display:grid;place-items:center}.mobile-menu.is-open{display:block}.hero-grid-bg{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.hero-bg:first-child{grid-row:auto}.hero-overlay{background:rgba(250,250,249,.86)}.hero-content{padding-top:110px}.card-grid,.article-grid,.dual-layout,.contact-wrap,.custom-section{grid-template-columns:1fr}.custom-section.left .custom-media{order:0}.section{padding:64px 0}.dual-visual{aspect-ratio:4/5}.brand strong{font-size:1.25rem}.form-row{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(100% - 24px,var(--max))}.hero-actions .btn{width:100%}.hero h1{font-size:3.15rem}.feature-card{padding:24px}.contact-form{padding:20px}.footer-row{align-items:flex-start}.footer-links{flex-direction:column;gap:10px}.compare-thumb{width:58px;height:58px}.compare-label{font-size:.68rem}.compare-label svg{width:32px;height:32px}}

/* DualCMS Pro additions */
.maintenance-banner{position:fixed;left:0;right:0;top:0;z-index:80;background:#fef3c7;color:#78350f;padding:10px 16px;text-align:center;font-weight:900;box-shadow:0 6px 16px rgba(0,0,0,.08)}
.maintenance-banner + .site-header{top:43px}.density-compact .section{padding:58px 0}.density-compact .hero-content{padding:105px 0 64px}.density-compact .feature-card{padding:22px}
.stats-section{background:linear-gradient(180deg,var(--theme-bg,var(--stone-50)),#fff)}.section-head.compact{margin-bottom:26px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats-grid div{background:#fff;border:1px solid var(--stone-200);border-radius:var(--radius);padding:26px;text-align:center;box-shadow:0 10px 30px rgba(28,25,23,.05)}.stats-grid strong{display:block;font-size:clamp(2rem,4vw,3.3rem);line-height:1;font-weight:950;letter-spacing:-.06em}.stats-grid span{display:block;margin-top:8px;color:var(--stone-500);font-weight:850}
.dual-layout.dual-reverse .dual-visual{order:2}.dual-layout.dual-reverse .content-copy{order:1}.no-dual-slider .compare-top{clip-path:none;opacity:.82}.no-dual-slider .compare-layer:first-child{clip-path:polygon(58% 0,100% 0,100% 100%,42% 100%)}.no-dual-slider .compare-layer:after{background:rgba(28,25,23,.48)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.testimonial-card{background:#fff;border:1px solid var(--stone-200);border-radius:var(--radius);padding:26px;box-shadow:0 10px 30px rgba(28,25,23,.05)}.testimonial-card .stars{letter-spacing:.1em;font-size:.9rem;margin-bottom:14px;color:var(--theme-accent-soft,var(--stone-500))}.testimonial-card p{font-size:1.05rem;color:var(--stone-700);margin:0 0 18px}.testimonial-card strong{display:block;font-size:1.05rem}.testimonial-card span{display:block;color:var(--stone-500);font-size:.9rem;margin-top:4px}.narrow{max-width:900px}.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--stone-200);border-radius:18px;padding:0 20px}.faq-item summary{cursor:pointer;font-weight:950;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq-item summary:after{content:'+';font-size:1.3rem}.faq-item[open] summary:after{content:'–'}.faq-item p{color:var(--stone-600);margin:0 0 18px}.cta-band{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px;border-radius:var(--radius);background:linear-gradient(135deg,var(--theme-accent,var(--stone-900)),var(--theme-accent-soft,var(--stone-600)));color:#fff;box-shadow:var(--shadow)}.cta-band h2{margin:0 0 8px;font-size:clamp(1.8rem,4vw,3rem);line-height:1;letter-spacing:-.055em}.cta-band p{margin:0;color:rgba(255,255,255,.82);font-size:1.08rem}.btn-light{background:#fff!important;color:var(--theme-accent,var(--stone-900))!important;box-shadow:0 10px 30px rgba(0,0,0,.15)!important}.hero.solo .hero-grid-bg{grid-template-columns:1fr}.hero.solo .hero-bg:not(:first-child){display:none}.hero.solo .hero-overlay{background:linear-gradient(90deg,rgba(250,250,249,.93),rgba(250,250,249,.55))}
.check-list{padding-left:0;list-style:none}.check-list li{margin:10px 0;padding-left:28px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;font-weight:900;color:var(--theme-accent,var(--stone-900))}
@media(max-width:920px){.stats-grid,.testimonial-grid{grid-template-columns:1fr}.dual-layout.dual-reverse .dual-visual,.dual-layout.dual-reverse .content-copy{order:initial}.cta-band{align-items:flex-start;flex-direction:column}.cta-band .btn{width:100%}.maintenance-banner + .site-header{top:39px}}

/* DualCMS V3 Ultra SEO additions */
.coming-soon-body{min-height:100vh;background:var(--theme-accent,var(--stone-900));overflow:hidden}.coming-soon{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative}.coming-soon:before{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,rgba(28,25,23,.88),rgba(28,25,23,.58)),var(--coming-bg);background-size:cover;background-position:center;transform:scale(1.04)}.coming-soon-card{position:relative;z-index:1;width:min(760px,100%);background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);border-radius:32px;padding:clamp(26px,6vw,56px);text-align:center;box-shadow:0 35px 100px rgba(0,0,0,.34);backdrop-filter:blur(20px)}.coming-soon-card .eyebrow{margin-top:28px;color:var(--theme-accent-soft,var(--stone-500));font-weight:950;letter-spacing:.16em;text-transform:uppercase}.coming-soon-card h1{font-size:clamp(2.5rem,7vw,5.3rem);line-height:.94;letter-spacing:-.075em;margin:10px 0 18px}.coming-soon-card p{font-size:1.15rem;color:var(--stone-600);max-width:620px;margin:0 auto 20px}.coming-date{display:inline-flex;gap:8px;background:var(--stone-100);border:1px solid var(--stone-200);border-radius:999px;padding:10px 16px;margin:8px 0 22px;color:var(--stone-600)}.coming-soon-card small{display:block;margin-top:24px;color:var(--stone-500)}.search-form{display:flex;gap:12px;margin:24px 0}.search-form input{flex:1;border:1px solid var(--stone-300);border-radius:14px;padding:15px 16px;font:inherit}.search-results{display:grid;gap:14px;margin-top:24px}.search-result{display:grid;gap:4px;text-decoration:none;border:1px solid var(--stone-200);border-radius:18px;padding:18px;background:#fff}.search-result:hover{box-shadow:var(--shadow)}.search-result strong{font-size:1.1rem}.search-result span{color:var(--stone-600)}@media(max-width:640px){.search-form{flex-direction:column}.search-form .btn{width:100%}}

/* DualCMS V3.1: rendu texte enrichi + thèmes clair/sombre */
.rich-content{color:inherit}.rich-content p{margin:0 0 1rem}.rich-content h2,.rich-content h3,.rich-content h4{margin:1.4rem 0 .7rem;line-height:1.08;letter-spacing:-.045em}.rich-content h2{font-size:clamp(1.7rem,3vw,2.4rem)}.rich-content h3{font-size:1.45rem}.rich-content ul,.rich-content ol{margin:0 0 1rem 1.25rem;padding:0}.rich-content li{margin:.35rem 0}.rich-content blockquote{margin:1.2rem 0;padding:1rem 1.1rem;border-left:4px solid var(--theme-accent,var(--stone-900));background:var(--theme-muted-bg,var(--stone-100));border-radius:12px;color:var(--stone-700)}.rich-content a{font-weight:900;text-decoration-thickness:2px;text-underline-offset:4px}.article-content.rich-content{white-space:normal}.testimonial-text p{margin:0 0 18px}.public-theme-dark{--stone-50:#0f0f0f;--stone-100:#18181b;--stone-200:#292524;--stone-300:#44403c;--stone-400:#78716c;--stone-500:#a8a29e;--stone-600:#d6d3d1;--stone-700:#e7e5e4;--stone-800:#f5f5f4;--stone-900:#fafaf9;--white:#18181b;--shadow:0 18px 60px rgba(0,0,0,.36)}.public-theme-dark .site-header.is-scrolled,.public-theme-dark .mobile-menu{background:rgba(15,15,15,.91);border-color:#292524}.public-theme-dark .section-white,.public-theme-dark .article-page,.public-theme-dark .custom-section,.public-theme-dark .article-card,.public-theme-dark .testimonial-card,.public-theme-dark .faq-item,.public-theme-dark .empty-state,.public-theme-dark .contact-form,.public-theme-dark .feature-icon,.public-theme-dark .badge,.public-theme-dark .stats-grid div,.public-theme-dark .search-result{background:#18181b;border-color:#292524}.public-theme-dark .feature-card,.public-theme-dark .section-muted{background:#101011;border-color:#292524}.public-theme-dark .btn-secondary{background:#18181b;border-color:#44403c;color:#fafaf9}.public-theme-dark .hero-overlay{background:linear-gradient(90deg,rgba(15,15,15,.96),rgba(15,15,15,.72),rgba(15,15,15,.42))}.public-theme-dark .hero.solo .hero-overlay{background:linear-gradient(90deg,rgba(15,15,15,.93),rgba(15,15,15,.55))}.public-theme-dark .brand-mark,.public-theme-dark .btn{background:#fafaf9;color:#1c1917}.public-theme-dark .btn:hover{background:#e7e5e4}.public-theme-dark .cta-band{background:linear-gradient(135deg,#18181b,#292524);border:1px solid #44403c}.public-theme-dark .coming-soon-card{background:rgba(24,24,27,.92);border-color:#44403c}.public-theme-dark .field input,.public-theme-dark .field textarea,.public-theme-dark .field select,.public-theme-dark .search-form input{background:#0f0f0f;color:#fafaf9;border-color:#44403c}.public-theme-light{color-scheme:light}

/* DualCMS V3.3 rich text additions */
.rich-content figure{margin:1.4rem 0;padding:12px;border:1px solid var(--theme-line,#e7e5e4);border-radius:18px;background:rgba(255,255,255,.55)}
.rich-content img{max-width:100%;height:auto;display:block;border-radius:16px}
.rich-content figcaption{margin-top:8px;color:var(--theme-accent-soft,#78716c);font-size:.92rem}.rich-content hr{border:0;border-top:2px solid rgba(120,113,108,.22);margin:1.8rem 0}

/* DualCMS V3.3 : Coming Soon avancé */
.coming-soon-body{overflow:auto}.coming-soon-advanced{isolation:isolate;display:grid;place-items:center;padding:clamp(18px,4vw,44px);background:#1c1917;overflow:hidden}.coming-soon-advanced:before{content:"";position:absolute;inset:0;background-image:linear-gradient(135deg,rgba(28,25,23,.92),rgba(28,25,23,.60)),var(--coming-bg);background-size:cover;background-position:center;filter:saturate(1.04);transform:scale(1.05);z-index:-3}.coming-soon-advanced:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 20%,rgba(255,255,255,.18),transparent 30%),radial-gradient(circle at 82% 75%,rgba(255,255,255,.10),transparent 32%);z-index:-2}.coming-orb{position:absolute;border-radius:999px;filter:blur(8px);opacity:.45;z-index:-1}.orb-one{width:260px;height:260px;background:rgba(255,255,255,.20);left:-80px;top:10%}.orb-two{width:360px;height:360px;background:rgba(120,113,108,.30);right:-140px;bottom:-120px}.coming-shell{position:relative;z-index:1;width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:22px;align-items:stretch}.coming-panel{background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.62);border-radius:34px;box-shadow:0 35px 100px rgba(0,0,0,.34);backdrop-filter:blur(20px);padding:clamp(24px,5vw,54px)}.coming-main-panel{display:flex;flex-direction:column;justify-content:center}.coming-brandline{display:flex;align-items:center;gap:12px;font-weight:950;margin-bottom:28px}.coming-logo-img{width:54px;height:54px;object-fit:cover;border-radius:18px;border:1px solid rgba(0,0,0,.08)}.coming-main-panel .eyebrow{margin:0 0 14px;color:var(--theme-accent-soft,var(--stone-500));font-weight:950;letter-spacing:.16em;text-transform:uppercase}.coming-main-panel h1{font-size:clamp(2.8rem,8vw,6.7rem);line-height:.9;letter-spacing:-.08em;margin:0 0 22px}.coming-lead{font-size:clamp(1.08rem,2vw,1.28rem);color:#57534e;max-width:780px;margin:0 0 26px;line-height:1.65}.coming-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0 24px}.coming-countdown div{border:1px solid #e7e5e4;background:#fafaf9;border-radius:18px;padding:16px 12px;text-align:center}.coming-countdown strong{display:block;font-size:clamp(1.7rem,4vw,2.7rem);letter-spacing:-.06em;line-height:1}.coming-countdown span{display:block;color:#78716c;font-weight:850;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin-top:6px}.coming-progress-wrap{display:grid;gap:10px;margin:10px 0 26px}.coming-progress-meta{display:flex;align-items:center;justify-content:space-between;color:#57534e;font-weight:900}.coming-progress{height:13px;border-radius:999px;background:#e7e5e4;overflow:hidden}.coming-progress span{display:block;height:100%;width:var(--coming-progress);border-radius:inherit;background:linear-gradient(90deg,var(--theme-accent,var(--stone-900)),var(--theme-accent-soft,var(--stone-500)))}.coming-actions{display:flex;gap:12px;flex-wrap:wrap}.coming-side-panel{display:flex;flex-direction:column;gap:22px}.coming-mini-title{font-weight:950;text-transform:uppercase;letter-spacing:.12em;color:#78716c;font-size:.82rem}.coming-features{display:grid;gap:10px}.coming-features div{display:flex;gap:12px;align-items:flex-start;border:1px solid #e7e5e4;background:#fafaf9;border-radius:18px;padding:14px}.coming-features span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#1c1917;color:#fff;font-weight:950;flex:0 0 auto}.coming-features strong{font-size:.98rem;line-height:1.25}.coming-signup{display:grid;gap:12px;border-top:1px solid #e7e5e4;padding-top:22px}.coming-signup h2{font-size:1.45rem;letter-spacing:-.05em;margin:0}.coming-signup label{display:grid;gap:6px;font-weight:900;color:#57534e}.coming-signup input{border:1px solid #d6d3d1;border-radius:14px;padding:14px 15px;font:inherit;background:#fff;color:#1c1917}.coming-signup .btn{width:100%;justify-content:center;border:0}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.coming-alert{padding:12px 14px;border-radius:14px;font-weight:900}.coming-alert.success{background:#ecfdf5;color:#065f46}.coming-alert.error{background:#fef2f2;color:#991b1b}.coming-socials{display:flex;flex-wrap:wrap;gap:8px}.coming-socials a{border:1px solid #e7e5e4;border-radius:999px;padding:8px 11px;color:#1c1917;text-decoration:none;font-weight:950;background:#fafaf9}.coming-side-panel small{color:#78716c}.coming-template-split .coming-shell{grid-template-columns:1fr 1fr}.coming-template-split .coming-main-panel{min-height:620px}.coming-template-minimal .coming-shell{grid-template-columns:1fr;max-width:860px}.coming-template-minimal .coming-side-panel{display:none}.public-theme-dark .coming-panel{background:rgba(24,24,27,.92);border-color:#44403c;color:#fafaf9}.public-theme-dark .coming-lead,.public-theme-dark .coming-progress-meta,.public-theme-dark .coming-signup label,.public-theme-dark .coming-side-panel small{color:#d6d3d1}.public-theme-dark .coming-countdown div,.public-theme-dark .coming-features div,.public-theme-dark .coming-signup input,.public-theme-dark .coming-socials a{background:#111113;border-color:#292524;color:#fafaf9}.public-theme-dark .coming-progress{background:#292524}.public-theme-dark .coming-features span{background:#fafaf9;color:#111113}.public-theme-dark .coming-signup{border-color:#292524}@media(max-width:880px){.coming-shell,.coming-template-split .coming-shell{grid-template-columns:1fr}.coming-panel{border-radius:26px}.coming-countdown{grid-template-columns:repeat(2,1fr)}.coming-main-panel h1{font-size:clamp(2.6rem,16vw,4.6rem)}.coming-actions .btn{width:100%;justify-content:center}}@media(max-width:420px){.coming-countdown{grid-template-columns:1fr 1fr}.coming-soon-advanced{padding:12px}.coming-panel{padding:22px}.coming-features div{padding:12px}}

/* DualCMS V3.3 : page de mises à jour */
.update-drop{border:2px dashed var(--line);border-radius:24px;padding:26px;background:linear-gradient(180deg,#fff,#fafaf9);display:grid;gap:14px}.update-drop input[type=file]{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.update-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.update-step{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.update-step strong{display:block;margin-bottom:6px}.update-log{max-height:300px;overflow:auto;background:#111;color:#fafafa;border-radius:18px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86rem;white-space:pre-wrap}.file-list{display:grid;gap:8px;max-height:360px;overflow:auto}.file-list code{display:block}.update-badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:950;background:#ecfdf5;color:#065f46}.update-badge.warn{background:#fef3c7;color:#92400e}html.admin-theme-dark .update-drop,html.admin-theme-dark .update-step{background:#17171a!important;border-color:var(--line)!important}html.admin-theme-dark .update-drop input[type=file]{background:#101014;color:#fafafa;border-color:#3f3f46}@media(max-width:980px){.update-steps{grid-template-columns:1fr}}


/* Patch V3.3.2 — Coming Soon Atelier Dual : barre de lancement animée et rendu plus vivant */
.coming-soon-advanced .coming-panel{position:relative;overflow:hidden}
.coming-soon-advanced .coming-main-panel:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,0),rgba(255,255,255,.28));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8}
.coming-soon-advanced .coming-main-panel h1{max-width:900px;text-wrap:balance}
.coming-soon-advanced .coming-lead{font-weight:650}
.coming-progress{position:relative;box-shadow:inset 0 2px 8px rgba(0,0,0,.14)}
.coming-progress span{position:relative;overflow:hidden;animation:dual-launch-pulse 2.2s ease-in-out infinite,dual-launch-breathe 5s ease-in-out infinite;box-shadow:0 0 28px rgba(28,25,23,.28)}
.coming-progress span:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.0) 0 10px,rgba(255,255,255,.22) 10px 20px);animation:dual-launch-stripes 1.05s linear infinite;opacity:.85}
.coming-progress span:after{content:"";position:absolute;top:0;bottom:0;width:34%;left:-42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:dual-launch-shine 2.6s ease-in-out infinite}
.coming-progress-meta strong{font-variant-numeric:tabular-nums;position:relative;padding-left:10px}
.coming-progress-meta strong:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:999px;background:currentColor;vertical-align:middle;animation:dual-launch-dot 1.15s ease-in-out infinite}
.coming-countdown div{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.coming-countdown div:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(0,0,0,.12)}
.coming-features div{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.coming-features div:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.10);border-color:var(--theme-accent-soft,var(--stone-500))}
.coming-orb{animation:dual-orb-float 8s ease-in-out infinite alternate}.orb-two{animation-duration:10s;animation-delay:-2s}
@keyframes dual-launch-stripes{to{background-position:28px 0}}
@keyframes dual-launch-shine{0%,18%{left:-45%}55%,100%{left:112%}}
@keyframes dual-launch-pulse{0%,100%{filter:saturate(1)}50%{filter:saturate(1.45) brightness(1.08)}}
@keyframes dual-launch-breathe{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.006)}}
@keyframes dual-launch-dot{0%,100%{opacity:.35;transform:scale(.82)}50%{opacity:1;transform:scale(1.18)}}
@keyframes dual-orb-float{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(22px,-18px,0) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.coming-progress span,.coming-progress span:before,.coming-progress span:after,.coming-progress-meta strong:after,.coming-orb{animation:none!important}}
.public-theme-dark .coming-progress span{box-shadow:0 0 32px rgba(250,250,249,.18)}

/* DualCMS V3.3.4 DEV — RGPD, newsletter, sécurité locale, portail client */
.security-local-section{padding-top:calc(var(--theme-section)*.75);padding-bottom:calc(var(--theme-section)*.75)}
.security-local-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;border:1px solid rgba(28,25,23,.12);border-radius:var(--theme-radius);background:linear-gradient(135deg,var(--theme-muted-bg),#fff);padding:clamp(22px,4vw,42px);box-shadow:0 24px 70px rgba(28,25,23,.08)}
.security-badge{width:72px;height:72px;border-radius:22px;background:var(--theme-accent);color:#fff;display:grid;place-items:center;box-shadow:0 20px 45px rgba(28,25,23,.18)}
.security-badge svg{width:34px;height:34px}.security-small{border-top:1px solid rgba(28,25,23,.12);padding-top:14px;color:var(--theme-accent-soft);font-weight:700}.newsletter-band{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;border-radius:var(--theme-radius);background:#1c1917;color:#fafaf9;padding:clamp(24px,5vw,52px);box-shadow:0 30px 90px rgba(28,25,23,.22);overflow:hidden;position:relative}.newsletter-band:before{content:"";position:absolute;right:-90px;top:-90px;width:240px;height:240px;border-radius:50%;background:rgba(250,250,249,.08)}.newsletter-band h2{margin:.2rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.055em;line-height:.96}.newsletter-band p,.newsletter-band small{color:#d6d3d1}.newsletter-form{position:relative;z-index:1;background:#fafaf9;color:#1c1917;border-radius:22px;padding:18px;display:grid;gap:12px}.newsletter-form label{display:grid;gap:6px;font-weight:900}.newsletter-form input{border:1px solid #d6d3d1;border-radius:13px;padding:13px;font:inherit}.newsletter-form .consent-line{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:700}.newsletter-form .consent-line input{width:auto;margin-top:3px}.hp-field{position:absolute!important;left:-99999px!important}.cookie-fun-banner{position:fixed;z-index:9999;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1040px;margin:auto;background:rgba(28,25,23,.96);color:#fafaf9;border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:18px;box-shadow:0 24px 90px rgba(0,0,0,.32);backdrop-filter:blur(14px)}.cookie-fun-banner strong{font-size:1.05rem}.cookie-fun-banner p{margin:.35rem 0;color:#e7e5e4}.cookie-fun-banner small{color:#a8a29e}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cookie-actions button{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:11px 14px;font-weight:950;cursor:pointer;background:#292524;color:#fff}.cookie-actions [data-cookie-yes]{background:#fafaf9;color:#1c1917}.client-portal{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(120,113,108,.18),transparent 35%),#f5f5f4}.client-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.client-panel{width:min(1060px,100%);background:#fff;border:1px solid #e7e5e4;border-radius:30px;padding:clamp(22px,4vw,44px);box-shadow:0 28px 90px rgba(28,25,23,.12)}.client-panel h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.06em;line-height:.95}.client-login{display:grid;gap:12px;max-width:460px}.client-login label{display:grid;gap:7px;font-weight:900}.client-login input{border:1px solid #d6d3d1;border-radius:14px;padding:13px;font:inherit}.client-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.client-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.client-tile{border:1px solid #e7e5e4;border-radius:20px;padding:20px;background:#fafaf9}.client-tile strong{display:block}.client-tile span{font-size:2rem;font-weight:950}.client-list{display:grid;gap:10px}.client-list article{border:1px solid #e7e5e4;border-radius:18px;padding:15px;background:#fafaf9}.client-list article span{display:block;color:#78716c;margin-top:4px}.notice.error{background:#fef2f2;color:#991b1b}@media(max-width:820px){.security-local-card,.newsletter-band{grid-template-columns:1fr}.cookie-fun-banner{flex-direction:column;align-items:flex-start}.cookie-actions{justify-content:flex-start}.client-dashboard{grid-template-columns:1fr}.client-head{flex-direction:column}.security-badge{width:58px;height:58px}}
.public-theme-dark .security-local-card{background:linear-gradient(135deg,#18181b,#0f0f0f);border-color:rgba(255,255,255,.12)}.public-theme-dark .newsletter-band{background:#050505}.public-theme-dark .newsletter-form{background:#18181b;color:#fafaf9}.public-theme-dark .newsletter-form input{background:#0f0f0f;color:#fafaf9;border-color:#292524}

/* DualCMS V3.3.5 — Portail client sécurisé et ludique */
.client-portal-v2{min-height:100vh;background:radial-gradient(circle at 12% 10%,rgba(120,113,108,.22),transparent 32%),radial-gradient(circle at 92% 0,rgba(28,25,23,.18),transparent 26%),#f5f5f4;color:#1c1917}.client-vault-shell{min-height:100vh;display:grid;place-items:center;padding:clamp(14px,3vw,36px)}.client-vault-card{position:relative;width:min(1220px,100%);overflow:hidden;background:rgba(255,255,255,.92);border:1px solid rgba(214,211,209,.9);border-radius:34px;padding:clamp(18px,4vw,44px);box-shadow:0 34px 110px rgba(28,25,23,.16);backdrop-filter:blur(18px)}.vault-bg-orb{position:absolute;border-radius:999px;filter:blur(4px);pointer-events:none}.vault-bg-orb.one{right:-110px;top:-110px;width:280px;height:280px;background:rgba(28,25,23,.08)}.vault-bg-orb.two{left:-130px;bottom:-120px;width:260px;height:260px;background:rgba(120,113,108,.12)}.vault-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:34px}.vault-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.vault-brand span{width:44px;height:44px;border-radius:14px 5px 14px 5px;background:#1c1917;color:#fafaf9;display:grid;place-items:center;font-weight:950;font-size:1.3rem}.vault-brand strong{font-size:1.35rem;letter-spacing:-.045em}.vault-logout,.vault-doc-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d6d3d1;border-radius:999px;padding:10px 14px;background:#fff;text-decoration:none;font-weight:950}.vault-login-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(22px,4vw,56px);align-items:center}.vault-intro h1,.vault-client-head h1{font-size:clamp(2.4rem,6vw,5.4rem);letter-spacing:-.075em;line-height:.9;margin:.1rem 0 1rem}.vault-intro p,.vault-client-head p{font-size:1.08rem;color:#57534e;line-height:1.75}.vault-security-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.vault-security-cards article{background:#fafaf9;border:1px solid #e7e5e4;border-radius:20px;padding:16px;display:grid;gap:5px}.vault-security-cards strong{font-size:1rem}.vault-security-cards span{color:#78716c;font-weight:750;font-size:.92rem}.vault-privacy-note{border:1px solid #e7e5e4;background:linear-gradient(135deg,#fafaf9,#fff);border-radius:24px;padding:20px}.vault-privacy-note p{font-size:.98rem;margin:.5rem 0;color:#57534e}.vault-privacy-note small{color:#78716c;font-weight:800}.vault-login-panel{background:#1c1917;color:#fafaf9;border-radius:28px;padding:clamp(20px,3vw,32px);box-shadow:0 22px 70px rgba(28,25,23,.26)}.vault-login-panel .eyebrow,.vault-login-panel .muted{color:#d6d3d1}.vault-login-panel h2{font-size:2rem;letter-spacing:-.055em;margin:.2rem 0 1rem}.vault-login-panel .client-login label{color:#fafaf9}.vault-login-panel .client-login input{background:#292524;color:#fff;border-color:#57534e}.vault-login-panel .client-login .btn{background:#fafaf9;color:#1c1917;width:100%;margin-top:4px}.dev-code{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fef3c7;color:#92400e;border-radius:18px;padding:14px;margin:14px 0}.dev-code strong{font-size:1.8rem;letter-spacing:.18em}.vault-client-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.vault-lock{min-width:230px;background:#1c1917;color:#fafaf9;border-radius:24px;padding:18px;display:grid;gap:2px;box-shadow:0 22px 70px rgba(28,25,23,.22)}.vault-lock span{font-size:2rem}.vault-lock small{color:#d6d3d1}.vault-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0}.vault-stats article{background:#fafaf9;border:1px solid #e7e5e4;border-radius:22px;padding:20px}.vault-stats span{display:block;color:#78716c;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.vault-stats strong{font-size:2.5rem;letter-spacing:-.06em}.vault-section{position:relative;z-index:1;margin-top:30px}.vault-section-title{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px}.vault-section-title h2{font-size:1.8rem;letter-spacing:-.055em;margin:0}.vault-section-title span{color:#78716c;font-weight:800}.vault-orders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vault-order,.vault-docs article,.vault-empty,.vault-timeline article>div{background:#fff;border:1px solid #e7e5e4;border-radius:22px;padding:18px;box-shadow:0 12px 34px rgba(28,25,23,.06)}.vault-order-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.vault-order-top strong{display:block;font-size:1.1rem}.vault-order-top b{font-size:1.8rem;letter-spacing:-.05em}.portal-chip{display:inline-flex;margin-top:8px;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:950}.portal-chip.ok{background:#dcfce7;color:#166534}.portal-chip.wait{background:#fef3c7;color:#92400e}.portal-chip.alert{background:#fee2e2;color:#991b1b}.portal-chip.info{background:#e0e7ff;color:#3730a3}.vault-progress{height:12px;border-radius:999px;background:#e7e5e4;overflow:hidden;margin:16px 0}.vault-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c1917,#78716c);transition:width .4s ease}.vault-order p{color:#57534e;line-height:1.6}.vault-steps{display:grid;gap:8px;margin:14px 0 0;padding-left:0;counter-reset:step}.vault-steps li{list-style:none;display:flex;gap:9px;color:#78716c;font-weight:800}.vault-steps li:before{counter-increment:step;content:counter(step);width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:#e7e5e4;color:#57534e;font-size:.75rem;font-weight:950;flex:0 0 auto}.vault-steps li.done{color:#1c1917}.vault-steps li.done:before{background:#1c1917;color:#fff}.vault-docs{display:grid;gap:10px}.vault-docs article{display:flex;align-items:center;justify-content:space-between;gap:14px}.vault-docs strong{display:block}.vault-docs span,.vault-docs small{display:block;color:#78716c;font-weight:800;margin-top:3px}.vault-timeline{display:grid;gap:12px}.vault-timeline article{display:grid;grid-template-columns:22px 1fr;gap:12px}.vault-timeline article>span{width:14px;height:14px;border-radius:999px;background:#1c1917;margin-top:20px;box-shadow:0 0 0 6px #e7e5e4}.vault-timeline p{margin:.35rem 0;color:#57534e}.vault-timeline small{color:#78716c;font-weight:800}.vault-empty{color:#78716c;font-weight:850}.vault-footer-note{position:relative;z-index:1;margin-top:30px;border-top:1px solid #e7e5e4;padding-top:20px;color:#57534e}.notice.success{background:#ecfdf5;color:#065f46;border-radius:16px;padding:13px;margin-bottom:14px}.notice.error{background:#fef2f2;color:#991b1b;border-radius:16px;padding:13px;margin-bottom:14px}@media(max-width:900px){.vault-login-grid,.vault-orders{grid-template-columns:1fr}.vault-security-cards,.vault-stats{grid-template-columns:1fr}.vault-client-head,.vault-section-title,.vault-docs article{flex-direction:column;align-items:flex-start}.vault-lock{width:100%}.client-vault-card{border-radius:24px}.vault-intro h1,.vault-client-head h1{font-size:clamp(2.1rem,12vw,3.4rem)}}

/* DualCMS V3.3.7 — animations propres + séparation domaines */
@keyframes dualFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes dualSoftFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.hero-content,.section-head,.feature-card,.stats-grid>div,.security-local-card,.dual-visual,.content-copy,.custom-section,.article-card{animation:dualFadeUp .72s cubic-bezier(.2,.7,.2,1) both}.feature-card:nth-child(2),.stats-grid>div:nth-child(2),.article-card:nth-child(2){animation-delay:.08s}.feature-card:nth-child(3),.stats-grid>div:nth-child(3),.article-card:nth-child(3){animation-delay:.16s}.feature-icon,.security-badge,.compare-thumb{animation:dualSoftFloat 4.8s ease-in-out infinite}.feature-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(28,25,23,.13);border-color:rgba(28,25,23,.18)}.stats-grid>div{transition:transform .22s ease,box-shadow .22s ease}.stats-grid>div:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(28,25,23,.11)}
@media(prefers-reduced-motion:reduce){.hero-content,.section-head,.feature-card,.stats-grid>div,.security-local-card,.dual-visual,.content-copy,.custom-section,.article-card,.feature-icon,.security-badge,.compare-thumb{animation:none!important;transition:none!important}}
.quote-dev-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(28,25,23,.10),transparent 30%),#fafaf9;color:#1c1917}.quote-dev-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.quote-dev-card{width:min(900px,100%);border:1px solid #e7e5e4;border-radius:34px;background:rgba(255,255,255,.94);box-shadow:0 35px 100px rgba(28,25,23,.12);padding:clamp(24px,5vw,56px);overflow:hidden;position:relative}.quote-dev-card:after{content:"DEV";position:absolute;right:-20px;top:20px;font-weight:950;font-size:7rem;letter-spacing:-.08em;color:rgba(28,25,23,.05);transform:rotate(8deg)}.quote-dev-card .brand-line{display:flex;align-items:center;gap:10px;margin-bottom:28px}.quote-dev-card h1{font-size:clamp(2.3rem,7vw,5.2rem);line-height:.9;letter-spacing:-.08em;margin:.1rem 0 1rem}.quote-dev-card p{font-size:1.12rem;line-height:1.65;color:#57534e;max-width:760px}.quote-dev-status{border:1px solid #e7e5e4;border-radius:22px;padding:18px;margin:24px 0;display:grid;gap:6px}.quote-dev-status strong{font-size:1.1rem}.quote-dev-status.off{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.quote-dev-status.on{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}.quote-dev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.quote-dev-grid article{border:1px solid #e7e5e4;background:#fafaf9;border-radius:18px;padding:16px}.quote-dev-grid strong{display:block}.quote-dev-grid span{color:#78716c;font-weight:850}.quote-dev-card small{color:#78716c;font-weight:750}@media(max-width:760px){.quote-dev-grid{grid-template-columns:1fr}.quote-dev-card{border-radius:24px}}

/* V3.3.7 — DevisLocal72 */
.quote-local-body{min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(28,25,23,.10),transparent 28%),linear-gradient(135deg,#fafaf9,#f5f5f4);color:#1c1917;font-family:var(--font-main,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}
.quote-local-shell{width:min(1220px,calc(100% - 28px));margin:0 auto;padding:28px 0 60px}.quote-local-panel{background:rgba(255,255,255,.74);border:1px solid rgba(120,113,108,.22);border-radius:30px;box-shadow:0 30px 100px rgba(28,25,23,.12);backdrop-filter:blur(16px);padding:22px}.quote-local-top,.quote-dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.quote-domain{display:inline-flex;border:1px solid #e7e5e4;border-radius:999px;padding:8px 12px;background:#fff;font-weight:900;font-size:.82rem}.quote-login-card{max-width:660px;margin:60px auto;background:#fff;border:1px solid #e7e5e4;border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(28,25,23,.10);animation:quoteIn .55s ease both}.quote-login-card h1,.quote-dashboard h1{font-size:clamp(2.1rem,6vw,4.5rem);line-height:.95;margin:10px 0 14px;letter-spacing:-.07em}.quote-login-card p,.quote-dashboard-head p{color:#57534e;font-size:1.05rem}.quote-login-card label,.quote-card label{display:grid;gap:7px;font-weight:900;margin:14px 0}.quote-login-card input,.quote-card input,.quote-card textarea,.quote-card select,.quote-form-grid input,.quote-form-grid select{width:100%;border:1px solid #d6d3d1;border-radius:14px;background:#fff;padding:13px 14px;font:inherit;color:#1c1917;box-sizing:border-box}.quote-login-card input:focus,.quote-card input:focus,.quote-card textarea:focus,.quote-card select:focus{outline:3px solid rgba(28,25,23,.12);border-color:#1c1917}.quote-btn{border:0;border-radius:16px;background:#1c1917;color:#fff;padding:14px 18px;font-weight:1000;cursor:pointer;box-shadow:0 18px 35px rgba(28,25,23,.18);transition:.18s transform,.18s box-shadow}.quote-btn:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(28,25,23,.22)}.quote-btn.secondary{background:#fff;color:#1c1917;border:1px solid #d6d3d1;box-shadow:none}.quote-logout{color:#1c1917;text-decoration:none;border:1px solid #d6d3d1;background:#fff;border-radius:999px;padding:10px 14px;font-weight:900}.quote-alert{border-radius:16px;padding:12px 14px;margin:14px 0;font-weight:800}.quote-alert.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.quote-alert.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.quote-dev-code{background:#1c1917;color:#fff;border-radius:18px;padding:16px;margin:16px 0}.quote-security-line{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.quote-security-line span{background:#f5f5f4;border:1px solid #e7e5e4;border-radius:999px;padding:8px 10px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.quote-dashboard{animation:quoteIn .55s ease both}.quote-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 22px}.quote-metrics article{background:#fff;border:1px solid #e7e5e4;border-radius:22px;padding:20px;text-align:center}.quote-metrics strong{display:block;font-size:2.3rem;letter-spacing:-.05em}.quote-metrics span{color:#78716c;font-weight:900}.quote-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.65fr);gap:18px}.quote-card{background:#fff;border:1px solid #e7e5e4;border-radius:26px;padding:24px;margin-bottom:18px;box-shadow:0 20px 60px rgba(28,25,23,.06)}.quote-card h2{font-size:1.45rem;margin:0 0 14px}.quote-card-wide{min-width:0}.quote-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quote-lines{margin:16px 0}.quote-lines>div{display:grid;grid-template-columns:1fr 90px 130px;gap:8px;margin-top:8px}.quote-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.quote-check input{width:auto!important}.quote-table{overflow:auto}.quote-table table{width:100%;border-collapse:collapse}.quote-table th,.quote-table td{border-bottom:1px solid #e7e5e4;padding:12px;text-align:left}.quote-table th{font-size:.75rem;color:#78716c;text-transform:uppercase;letter-spacing:.08em}.quote-admin-hero{background:linear-gradient(135deg,#fff,#f5f5f4)}.soft-card{background:#fafaf9!important}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.compact .stack-item{padding:10px 0}@keyframes quoteIn{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:880px){.quote-grid,.quote-form-grid,.quote-metrics{grid-template-columns:1fr}.quote-lines>div{grid-template-columns:1fr}.quote-local-panel{padding:14px}.quote-login-card{padding:22px;margin:20px auto}.quote-local-top,.quote-dashboard-head{align-items:flex-start;flex-direction:column}}


/* DualCMS V3.3.8 BETA — Animations publiques Atelier Dual */
.motion-enabled{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-shadow:0 26px 80px rgba(28,25,23,.16)}
.motion-enabled.motion-intensity-soft{--motion-duration:520ms;--motion-distance:16px}
.motion-enabled.motion-intensity-wow{--motion-duration:900ms;--motion-distance:42px}
.motion-ready.motion-scroll-reveal .motion-reveal{opacity:0;transform:translate3d(0,var(--motion-distance,28px),0) scale(.985);filter:blur(8px);transition:opacity var(--motion-duration,700ms) var(--motion-ease),transform var(--motion-duration,700ms) var(--motion-ease),filter var(--motion-duration,700ms) var(--motion-ease);transition-delay:var(--motion-stagger,0ms);will-change:opacity,transform,filter}.motion-ready.motion-scroll-reveal .motion-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}.motion-intensity-soft.motion-ready.motion-scroll-reveal .motion-reveal{filter:none}.motion-intensity-wow.motion-ready.motion-scroll-reveal .motion-reveal{transform:translate3d(0,var(--motion-distance,42px),0) scale(.965)}
.motion-card-hover .feature-card,.motion-card-hover .article-card,.motion-card-hover .testimonial-card,.motion-card-hover .faq-item,.motion-card-hover .custom-section,.motion-card-hover .security-local-card,.motion-card-hover .stats-grid>div{transition:transform .28s var(--motion-ease),box-shadow .28s var(--motion-ease),border-color .28s var(--motion-ease),background .28s var(--motion-ease)}.motion-card-hover .feature-card:hover,.motion-card-hover .article-card:hover,.motion-card-hover .testimonial-card:hover,.motion-card-hover .faq-item:hover,.motion-card-hover .custom-section:hover,.motion-card-hover .security-local-card:hover,.motion-card-hover .stats-grid>div:hover{transform:translateY(-7px);box-shadow:var(--motion-shadow);border-color:rgba(28,25,23,.18)}.motion-intensity-wow.motion-card-hover .feature-card:hover,.motion-intensity-wow.motion-card-hover .article-card:hover,.motion-intensity-wow.motion-card-hover .custom-section:hover{transform:translateY(-10px) scale(1.012)}
.motion-hero-float .hero-bg{animation:dualHeroZoom 18s ease-in-out infinite alternate;transform-origin:center}.motion-hero-float .hero-bg:nth-child(2){animation-duration:22s}.motion-hero-float .hero-bg:nth-child(3){animation-duration:26s}.motion-hero-float .badge{animation:dualFloat 4.8s ease-in-out infinite}.motion-hero-float .brand-mark{transition:transform .24s var(--motion-ease),box-shadow .24s var(--motion-ease)}.motion-hero-float .brand:hover .brand-mark{transform:rotate(-4deg) scale(1.05)}.motion-hero-float .dual-visual:after{content:"";position:absolute;inset:-30%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 55%);transform:translateX(-45%) rotate(18deg);animation:dualScan 7s ease-in-out infinite;pointer-events:none;z-index:7}.motion-hero-float .compare-thumb{animation:dualPulse 2.8s ease-in-out infinite}
.motion-particle-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.42}.motion-particle-layer .dual-particle{position:absolute;width:3px;height:3px;border-radius:999px;background:var(--theme-accent,var(--stone-900));opacity:.22;animation:dualParticleFloat var(--particle-speed,12s) linear infinite;transform:translate3d(0,0,0)}.site-header,.hero,.section,.site-footer{position:relative;z-index:1}.dual-click-burst{position:absolute;width:12px;height:12px;border-radius:50%;background:currentColor;opacity:.22;pointer-events:none;transform:translate(-50%,-50%) scale(1);animation:dualClickBurst .55s ease-out forwards}.motion-click-feedback .btn,.motion-click-feedback .feature-card,.motion-click-feedback .article-card{position:relative;overflow:hidden}.stats-grid strong.is-counting{font-variant-numeric:tabular-nums;letter-spacing:-.07em}.motion-enabled .cta-band{position:relative;overflow:hidden}.motion-enabled .cta-band:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-100%);animation:dualShine 6s ease-in-out infinite}.motion-enabled .newsletter-band{position:relative;overflow:hidden}.motion-enabled .newsletter-band:after{content:"";position:absolute;right:-80px;bottom:-100px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(28,25,23,.09),transparent 62%);animation:dualOrb 8s ease-in-out infinite;pointer-events:none}
.public-theme-dark .motion-particle-layer .dual-particle{background:#fafaf9;opacity:.16}.public-theme-dark.motion-card-hover .feature-card:hover,.public-theme-dark.motion-card-hover .article-card:hover,.public-theme-dark.motion-card-hover .custom-section:hover{border-color:rgba(250,250,249,.18);box-shadow:0 26px 80px rgba(0,0,0,.35)}
@keyframes dualHeroZoom{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes dualFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes dualScan{0%,100%{transform:translateX(-60%) rotate(18deg);opacity:.05}50%{transform:translateX(60%) rotate(18deg);opacity:.22}}@keyframes dualPulse{0%,100%{box-shadow:0 20px 45px rgba(0,0,0,.35),0 0 0 0 rgba(255,255,255,.35)}50%{box-shadow:0 20px 45px rgba(0,0,0,.35),0 0 0 12px rgba(255,255,255,0)}}@keyframes dualParticleFloat{0%{transform:translate3d(0,110vh,0) scale(.6)}100%{transform:translate3d(var(--particle-drift,24px),-10vh,0) scale(1.1)}}@keyframes dualClickBurst{to{opacity:0;transform:translate(-50%,-50%) scale(18)}}@keyframes dualShine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}@keyframes dualOrb{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-20px,-18px) scale(1.08)}}
@media(max-width:760px){.motion-reduce-mobile .motion-particle-layer{display:none}.motion-reduce-mobile.motion-hero-float .hero-bg,.motion-reduce-mobile.motion-hero-float .badge,.motion-reduce-mobile .compare-thumb{animation:none!important}.motion-reduce-mobile.motion-card-hover .feature-card:hover,.motion-reduce-mobile.motion-card-hover .article-card:hover,.motion-reduce-mobile.motion-card-hover .custom-section:hover{transform:none;box-shadow:0 12px 32px rgba(28,25,23,.08)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enabled *,.motion-enabled *:before,.motion-enabled *:after{animation:none!important;transition:none!important}.motion-reveal{opacity:1!important;transform:none!important;filter:none!important}.motion-particle-layer{display:none!important}}

/* DualCMS V3.3.9 DEV — offres, maillage et animations par contenu */
.offers-section{position:relative;overflow:hidden}.offers-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 10%,rgba(28,25,23,.06),transparent 28%),radial-gradient(circle at 90% 85%,rgba(28,25,23,.05),transparent 25%);pointer-events:none}.offers-section>.container{position:relative}.offers-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;align-items:stretch}.offer-card{position:relative;border:1px solid var(--line);border-radius:calc(var(--theme-radius) + 2px);padding:28px;background:var(--theme-bg);box-shadow:0 18px 55px rgba(28,25,23,.08);display:flex;flex-direction:column;min-height:100%;overflow:hidden}.offer-card.featured{background:var(--theme-text);color:var(--theme-bg);transform:translateY(-8px);box-shadow:0 28px 80px rgba(28,25,23,.22)}.offer-card.featured .offer-description,.offer-card.featured li{color:color-mix(in srgb,var(--theme-bg) 82%,transparent)}.offer-badge{position:absolute;top:14px;right:14px;background:#fff7ed;color:#9a3412;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.offer-icon{width:48px;height:48px;border-radius:16px;background:var(--theme-muted-bg);display:grid;place-items:center;margin-bottom:18px}.offer-icon svg{width:23px;height:23px}.offer-card h3{font-size:1.55rem;margin:0 0 8px;letter-spacing:-.045em}.offer-price{font-size:1.8rem!important;font-weight:950!important;letter-spacing:-.05em;margin:.2rem 0 1rem!important}.offer-description{color:var(--theme-accent-soft);min-height:70px}.offer-card ul{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:11px}.offer-card li{display:flex;gap:9px;align-items:flex-start;color:var(--theme-accent-soft)}.offer-card li svg{width:18px;height:18px;flex:0 0 auto}.offer-card .btn{margin-top:auto}.article-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}.article-meta span{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:.85rem;font-weight:850;background:var(--theme-muted-bg)}.article-meta svg{width:17px;height:17px}.article-links{margin-top:34px;border:1px solid var(--line);border-radius:var(--theme-radius);padding:22px;background:var(--theme-muted-bg)}.article-links h2{margin-top:0}.article-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.article-links a{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:900;border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--theme-bg)}.article-links svg{width:17px;height:17px}.content-motion[data-content-animation="fade-up"]{--content-x:0;--content-y:28px;--content-scale:1}.content-motion[data-content-animation="slide-left"]{--content-x:-42px;--content-y:0;--content-scale:1}.content-motion[data-content-animation="slide-right"]{--content-x:42px;--content-y:0;--content-scale:1}.content-motion[data-content-animation="zoom-soft"]{--content-x:0;--content-y:0;--content-scale:.94}.motion-enabled .content-motion[data-content-animation]:not([data-content-animation="inherit"]):not([data-content-animation="none"]){opacity:0;transform:translate(var(--content-x,0),var(--content-y,0)) scale(var(--content-scale,1));transition:opacity var(--motion-duration) ease,transform var(--motion-duration) cubic-bezier(.2,.8,.2,1)}.motion-enabled .content-motion.is-visible{opacity:1!important;transform:none!important}.content-motion[data-content-animation="none"]{opacity:1!important;transform:none!important}
@media(max-width:760px){.offer-card.featured{transform:none}.article-links>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.content-motion{opacity:1!important;transform:none!important;transition:none!important}}


/* DualCMS 1.0.0 PRODUCTION — adaptive theme & premium polish */
.public-theme-auto{color-scheme:light dark}.site-progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;z-index:10000;background:linear-gradient(90deg,var(--theme-accent-soft),var(--theme-accent));box-shadow:0 0 16px color-mix(in srgb,var(--theme-accent) 55%,transparent);pointer-events:none}.site-spotlight{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--theme-accent) 8%,transparent),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:0;opacity:.55;transition:opacity .2s}.offer-card.featured{transform:translateY(-8px);box-shadow:0 28px 70px rgba(28,25,23,.16)}.offer-card.featured:before{content:"CHOIX ATELIER DUAL";position:absolute;top:18px;right:-42px;transform:rotate(38deg);background:var(--theme-accent);color:var(--theme-bg);padding:7px 52px;font-size:.65rem;letter-spacing:.12em;font-weight:950}.offer-card{position:relative;overflow:hidden}.public-theme-dark .site-header,.public-theme-auto .site-header{backdrop-filter:blur(16px)}
@media(prefers-color-scheme:dark){.public-theme-auto{background:#0f0f0f;color:#fafaf9}.public-theme-auto .section-white,.public-theme-auto .feature-card,.public-theme-auto .article-card,.public-theme-auto .testimonial-card,.public-theme-auto .faq-item,.public-theme-auto .offer-card{background:#151515;color:#fafaf9;border-color:#2b2b2b}.public-theme-auto .section-muted{background:#18181b}.public-theme-auto .site-header{background:rgba(15,15,15,.78);border-color:#292524}.public-theme-auto .desktop-nav a:not(.btn),.public-theme-auto .brand{color:#fafaf9}.public-theme-auto p,.public-theme-auto .section-head p,.public-theme-auto .feature-card p{color:#d6d3d1}.public-theme-auto .btn-secondary{background:#fafaf9;color:#1c1917;border-color:#fafaf9}}
@media(prefers-reduced-motion:reduce){.site-spotlight,.site-progress{display:none!important}}


/* ================================================================
   DualCMS 1.1.0 — VISUAL EXPERIENCE ENGINE
   Scènes locales HD, compositions, verre, profondeur et accessibilité.
   ================================================================ */
.visual-scene-backdrop,.visual-constellation-canvas,.visual-cursor-orb,.visual-page-transition{position:fixed;inset:0;pointer-events:none}
.visual-scene-backdrop{z-index:-3;overflow:hidden;background:#050711;opacity:0;transition:opacity .8s ease}
.visual-engine-enabled .visual-scene-backdrop{opacity:1}
.visual-scene-image{position:absolute;inset:-4%;background-image:var(--visual-scene);background-size:cover;background-position:center;opacity:var(--visual-scene-opacity);filter:saturate(1.08) contrast(1.04);transform:scale(1.04);animation:visualSceneBreath 18s ease-in-out infinite alternate}
.visual-scene-mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.visual-scene-noise{position:absolute;inset:0;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.visual-engine-enabled{background:transparent}
.visual-engine-enabled .section:not(.section-white):not(.section-muted),.visual-engine-enabled main{background:transparent}
.visual-engine-enabled .section-white{background:rgba(250,250,249,.88);backdrop-filter:blur(10px)}
.visual-engine-enabled .section-muted{background:rgba(245,245,244,.84);backdrop-filter:blur(12px)}
.public-theme-dark.visual-engine-enabled .section-white,.public-theme-auto.visual-engine-enabled .section-white{background:rgba(8,10,18,.82)}
.public-theme-dark.visual-engine-enabled .section-muted,.public-theme-auto.visual-engine-enabled .section-muted{background:rgba(14,17,28,.82)}
.visual-engine-enabled .site-header{transition:all .35s ease}
.visual-nav-floating .site-header{top:14px;left:50%;width:min(1180px,calc(100% - 28px));transform:translateX(-50%);border-radius:22px;background:rgba(255,255,255,.68)!important;border:1px solid rgba(255,255,255,.45);box-shadow:0 18px 55px rgba(0,0,0,.14);backdrop-filter:blur(22px) saturate(1.2)}
.public-theme-dark.visual-nav-floating .site-header{background:rgba(8,10,18,.68)!important;border-color:rgba(255,255,255,.11)}
.visual-nav-transparent .site-header{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.visual-engine-enabled .brand-mark{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 32px color-mix(in srgb,var(--visual-glow) 48%,transparent);animation:brandPulse 4s ease-in-out infinite}
.visual-engine-enabled .hero{isolation:isolate;background:transparent;min-height:100svh}
.visual-engine-enabled .hero-grid-bg{opacity:.18;mix-blend-mode:screen;filter:saturate(.65)}
.visual-engine-enabled .hero-overlay{background:linear-gradient(90deg,rgba(5,7,17,.88),rgba(5,7,17,.58) 56%,rgba(5,7,17,.18));backdrop-filter:none}
.visual-engine-enabled .hero-content{color:#fff;text-shadow:0 8px 40px rgba(0,0,0,.32)}
.visual-engine-enabled .hero-content h1,.visual-engine-enabled .hero-content p{color:#fff}
.visual-engine-enabled .hero-content h1 span{background:linear-gradient(100deg,#fff,var(--visual-glow-2),var(--visual-glow),#fff);background-size:260% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:visualTextFlow 7s linear infinite}
.visual-hero-effects{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.visual-hero-effects span{position:absolute;width:42vw;height:42vw;border:1px solid rgba(255,255,255,.12);border-radius:44% 56% 63% 37%/46% 42% 58% 54%;filter:drop-shadow(0 0 36px color-mix(in srgb,var(--visual-glow) 30%,transparent));animation:visualOrbit 22s linear infinite}
.visual-hero-effects span:nth-child(1){right:-8vw;top:10%;animation-duration:27s}.visual-hero-effects span:nth-child(2){right:4vw;top:18%;width:31vw;height:31vw;animation-direction:reverse}.visual-hero-effects span:nth-child(3){right:11vw;top:28%;width:20vw;height:20vw;animation-duration:16s}.visual-hero-effects i{position:absolute;right:15%;top:30%;width:14vw;height:14vw;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 1%,var(--visual-glow-2) 3%,var(--visual-glow) 28%,transparent 70%);filter:blur(2px);opacity:.45;animation:visualCore 5s ease-in-out infinite}
.visual-hero-portal .visual-hero-effects:before{content:"";position:absolute;right:4%;top:12%;width:min(52vw,690px);aspect-ratio:1;border-radius:50%;border:2px solid color-mix(in srgb,var(--visual-glow-2) 55%,transparent);box-shadow:inset 0 0 70px color-mix(in srgb,var(--visual-glow) 30%,transparent),0 0 90px color-mix(in srgb,var(--visual-glow-2) 22%,transparent);animation:portalPulse 5s ease-in-out infinite}
.visual-hero-split .hero-content{max-width:56%;margin-left:0}.visual-hero-split .hero:after{content:"";position:absolute;right:0;top:0;width:46%;height:100%;background:var(--visual-scene) center/cover;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);z-index:0;opacity:.72}
.visual-hero-minimal .hero-grid-bg,.visual-hero-minimal .visual-hero-effects{display:none}.visual-hero-minimal .hero-overlay{background:rgba(5,7,17,.55)}.visual-hero-minimal .hero-content{margin:auto;text-align:center;max-width:920px}.visual-hero-minimal .hero-actions{justify-content:center}
.visual-engine-enabled .feature-card,.visual-engine-enabled .article-card,.visual-engine-enabled .testimonial-card,.visual-engine-enabled .faq-item,.visual-engine-enabled .security-local-card,.visual-engine-enabled .custom-section{position:relative;overflow:hidden;transform-style:preserve-3d;will-change:transform}
.visual-card-glass .feature-card,.visual-card-glass .article-card,.visual-card-glass .testimonial-card,.visual-card-glass .faq-item,.visual-card-glass .security-local-card,.visual-card-glass .custom-section{background:rgba(255,255,255,var(--visual-glass-opacity));backdrop-filter:blur(var(--visual-glass-blur)) saturate(1.25);border-color:rgba(255,255,255,.55);box-shadow:0 25px 70px rgba(8,10,24,.13)}
.public-theme-dark.visual-card-glass .feature-card,.public-theme-dark.visual-card-glass .article-card,.public-theme-dark.visual-card-glass .testimonial-card,.public-theme-dark.visual-card-glass .faq-item,.public-theme-dark.visual-card-glass .security-local-card,.public-theme-dark.visual-card-glass .custom-section{background:rgba(12,15,26,var(--visual-glass-opacity));border-color:rgba(255,255,255,.11)}
.visual-card-outline .feature-card,.visual-card-outline .article-card,.visual-card-outline .testimonial-card,.visual-card-outline .faq-item{background:transparent;border:1px solid color-mix(in srgb,var(--visual-glow-2) 42%,rgba(255,255,255,.2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.visual-card-holographic .feature-card,.visual-card-holographic .article-card,.visual-card-holographic .testimonial-card,.visual-card-holographic .faq-item{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.48));border-color:rgba(255,255,255,.75)}
.visual-card-holographic .feature-card:before,.visual-card-holographic .article-card:before{content:"";position:absolute;inset:-80%;background:conic-gradient(from 90deg,transparent,var(--visual-glow-2),transparent,var(--visual-glow),transparent);opacity:.10;animation:holoSpin 12s linear infinite;pointer-events:none}
.visual-section-spotlight .feature-card:after,.visual-section-spotlight .article-card:after,.visual-section-spotlight .testimonial-card:after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,50%),color-mix(in srgb,var(--visual-glow-2) 18%,transparent),transparent 48%);opacity:0;transition:opacity .25s;pointer-events:none}.visual-section-spotlight .feature-card:hover:after,.visual-section-spotlight .article-card:hover:after,.visual-section-spotlight .testimonial-card:hover:after{opacity:1}
.visual-separator-glow .section+ .section:before,.visual-separator-beam .section+ .section:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(860px,78%);height:1px;background:linear-gradient(90deg,transparent,var(--visual-glow-2),var(--visual-glow),transparent);box-shadow:0 0 28px var(--visual-glow-2)}
.visual-separator-wave .section+ .section:before{content:"";position:absolute;top:-18px;left:0;width:100%;height:36px;background:radial-gradient(55px 18px at 50% 100%,transparent 96%,color-mix(in srgb,var(--visual-glow-2) 35%,transparent) 100%);background-size:110px 36px;opacity:.5}
.visual-separator-beam .section+ .section:before{height:3px;animation:beamTravel 5s ease-in-out infinite}
.visual-constellation-canvas{z-index:-1;width:100%;height:100%;opacity:.38}
.visual-cursor-orb{inset:auto;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--visual-glow-2) 80%,white);border-radius:50%;z-index:9998;opacity:0;transform:translate(-50%,-50%);box-shadow:0 0 24px var(--visual-glow-2);transition:width .2s,height .2s,opacity .2s;mix-blend-mode:screen}
.visual-cursor-comet .visual-cursor-orb{width:16px;height:16px;box-shadow:-18px 8px 28px var(--visual-glow),-36px 16px 38px var(--visual-glow-2)}
.visual-cursor-classic .visual-cursor-orb{display:none}
.visual-page-transition{z-index:10000;background:radial-gradient(circle at 50% 50%,var(--visual-glow),#050711 62%);transform:scaleY(0);transform-origin:bottom;transition:transform .48s cubic-bezier(.7,0,.3,1)}.visual-page-transitions.visual-leaving .visual-page-transition{transform:scaleY(1)}
.visual-ambiance-button{display:none;position:fixed;right:20px;bottom:20px;z-index:80;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(8,10,18,.72);color:#fff;box-shadow:0 15px 45px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--visual-glow) 32%,transparent);backdrop-filter:blur(14px);cursor:pointer}.visual-scene-switcher .visual-ambiance-button{display:grid;place-items:center}.visual-ambiance-button span{animation:brandPulse 3s ease-in-out infinite}
.visual-engine-enabled .btn,.visual-engine-enabled button{position:relative;overflow:hidden}.visual-engine-enabled .btn:before{content:"";position:absolute;inset:-1px;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35),transparent 78%);transform:translateX(-120%);transition:transform .7s}.visual-engine-enabled .btn:hover:before{transform:translateX(120%)}
.visual-depth-active{transition:transform .16s ease-out!important}
@keyframes visualSceneBreath{to{transform:scale(1.09) translate3d(-1%,1%,0)}}@keyframes visualTextFlow{to{background-position:260% center}}@keyframes visualOrbit{to{transform:rotate(360deg)}}@keyframes visualCore{50%{transform:scale(1.12);opacity:.65}}@keyframes portalPulse{50%{transform:scale(1.035);filter:hue-rotate(22deg)}}@keyframes brandPulse{50%{filter:drop-shadow(0 0 14px var(--visual-glow-2));transform:translateY(-1px)}}@keyframes holoSpin{to{transform:rotate(360deg)}}@keyframes beamTravel{50%{width:94%;opacity:.35}}
@media (prefers-color-scheme:dark){.public-theme-auto.visual-engine-enabled .section-white{background:rgba(8,10,18,.84)}.public-theme-auto.visual-engine-enabled .section-muted{background:rgba(14,17,28,.84)}}
@media (max-width:900px){.visual-nav-floating .site-header{top:8px;width:calc(100% - 16px)}.visual-hero-effects{opacity:.55}.visual-hero-split .hero-content{max-width:100%}.visual-hero-split .hero:after{opacity:.22;width:100%;clip-path:none}.visual-cursor-orb{display:none}.visual-scene-image{inset:-8%}.visual-card-glass .feature-card{backdrop-filter:blur(10px)}}
@media (prefers-reduced-motion:reduce){.visual-scene-image,.visual-hero-effects span,.visual-hero-effects i,.brand-mark,.visual-ambiance-button span{animation:none!important}.visual-cursor-orb,.visual-constellation-canvas{display:none!important}}

.visual-dual-awake .visual-scene-image{filter:saturate(1.8) contrast(1.12);animation-duration:3s}.visual-dual-awake .brand-mark{animation:visualOrbit 1.5s linear infinite}.visual-dual-awake .feature-card{box-shadow:0 0 45px color-mix(in srgb,var(--visual-glow) 28%,transparent)}


/* DualCMS 1.1.1 — palettes complètes des thèmes Galaxy */
.visual-tone-dark{color-scheme:dark}.visual-tone-light{color-scheme:light}.visual-tone-dark.visual-engine-enabled .section-white{background:color-mix(in srgb,var(--theme-bg) 84%,transparent);color:var(--theme-text)}.visual-tone-dark.visual-engine-enabled .section-muted{background:color-mix(in srgb,var(--theme-muted-bg) 86%,transparent);color:var(--theme-text)}.visual-tone-dark .site-header.is-scrolled{background:color-mix(in srgb,var(--theme-bg) 86%,transparent);border-color:color-mix(in srgb,var(--theme-text) 13%,transparent)}.visual-tone-dark.visual-nav-floating .site-header{background:color-mix(in srgb,var(--theme-bg) 70%,transparent)!important;border-color:color-mix(in srgb,var(--theme-text) 13%,transparent)}.visual-tone-light.visual-nav-floating .site-header{background:color-mix(in srgb,var(--theme-bg) 76%,transparent)!important}.visual-tone-dark .desktop-nav a:not(.btn),.visual-tone-dark .brand{color:var(--theme-text)}.visual-tone-dark .feature-card,.visual-tone-dark .article-card,.visual-tone-dark .testimonial-card,.visual-tone-dark .faq-item,.visual-tone-dark .security-local-card,.visual-tone-dark .custom-section,.visual-tone-dark .offer-card{color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-text) 13%,transparent)}.visual-tone-dark.visual-card-glass .feature-card,.visual-tone-dark.visual-card-glass .article-card,.visual-tone-dark.visual-card-glass .testimonial-card,.visual-tone-dark.visual-card-glass .faq-item,.visual-tone-dark.visual-card-glass .security-local-card,.visual-tone-dark.visual-card-glass .custom-section{background:color-mix(in srgb,var(--theme-muted-bg) 82%,transparent);border-color:color-mix(in srgb,var(--theme-text) 13%,transparent)}.visual-tone-light.visual-card-glass .feature-card,.visual-tone-light.visual-card-glass .article-card,.visual-tone-light.visual-card-glass .testimonial-card,.visual-tone-light.visual-card-glass .faq-item,.visual-tone-light.visual-card-glass .security-local-card,.visual-tone-light.visual-card-glass .custom-section{background:color-mix(in srgb,var(--theme-bg) 78%,transparent)}.visual-tone-dark p,.visual-tone-dark .section-head p,.visual-tone-dark .feature-card p,.visual-tone-dark .article-card p{color:color-mix(in srgb,var(--theme-text) 76%,transparent)}.visual-tone-dark .btn-secondary{background:var(--theme-text);color:var(--theme-bg);border-color:var(--theme-text)}.visual-tone-dark .site-footer{background:color-mix(in srgb,var(--theme-bg) 92%,black);color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-text) 12%,transparent)}


/* ================================================================
   DualCMS 2.0.0 — BLACK BOX EXPERIENCE REACTOR
   ================================================================ */
.blackbox-public-intro{position:fixed;inset:0;z-index:99999;display:grid;place-content:center;justify-items:center;gap:14px;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--visual-glow) 28%,#04050b),#03040a 54%,#000);color:#fff;transition:opacity .85s ease,visibility .85s ease}.blackbox-public-intro.is-done{opacity:0;visibility:hidden}.blackbox-public-intro p{font-size:clamp(1.1rem,2vw,1.6rem);font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin:0}.blackbox-public-intro small{color:#b9c2d4;letter-spacing:.24em;text-transform:uppercase}.blackbox-public-intro button{margin-top:16px;border:1px solid #ffffff28;background:#ffffff0d;color:#fff;border-radius:999px;padding:10px 18px;cursor:pointer}.blackbox-public-core{width:132px;height:132px;position:relative;display:grid;place-items:center}.blackbox-public-core b{width:58px;height:58px;border-radius:18px 6px;background:linear-gradient(135deg,var(--visual-glow),var(--visual-glow-2));display:grid;place-items:center;font-size:2rem;box-shadow:0 0 70px color-mix(in srgb,var(--visual-glow) 65%,transparent);z-index:2}.blackbox-public-core span,.blackbox-public-core i{position:absolute;inset:4px;border:1px solid #ffffff30;border-radius:50%;animation:blackboxOrbit calc(7s * var(--experience-pace)) linear infinite}.blackbox-public-core i{inset:18px;border-style:dashed;animation-direction:reverse;animation-duration:calc(4.6s * var(--experience-pace))}@keyframes blackboxOrbit{to{transform:rotate(360deg)}}
body:not(.experience-intro) .blackbox-public-intro{display:none}.experience-stage{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;opacity:var(--experience-strength)}.experience-beam{position:absolute;width:65vw;height:10vw;filter:blur(28px);opacity:.15;background:linear-gradient(90deg,transparent,var(--visual-glow),transparent);transform:rotate(-18deg);animation:beamDrift calc(13s * var(--experience-pace)) ease-in-out infinite alternate}.beam-a{left:-18vw;top:18vh}.beam-b{right:-20vw;bottom:12vh;transform:rotate(24deg);background:linear-gradient(90deg,transparent,var(--visual-glow-2),transparent);animation-delay:-6s}.experience-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--visual-glow) 28%,transparent);border-radius:50%;width:42vw;height:42vw;top:18vh;left:58vw;box-shadow:inset 0 0 70px color-mix(in srgb,var(--visual-glow) 8%,transparent);animation:blackboxOrbit calc(28s * var(--experience-pace)) linear infinite}.orbit-b{width:24vw;height:24vw;top:54vh;left:-7vw;border-style:dashed;animation-direction:reverse;animation-duration:calc(19s * var(--experience-pace))}.experience-grain-layer{position:absolute;inset:-25%;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");animation:grainMove .34s steps(2) infinite}.experience-engine-enabled:not(.experience-grain) .experience-grain-layer{display:none}.experience-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.75}.experience-hud-panel{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:11px;padding:10px 14px;border:1px solid #ffffff1f;border-radius:16px;background:#0507139c;backdrop-filter:blur(18px);color:#fff;box-shadow:0 18px 45px #0006}.experience-hud-panel>span{width:10px;height:10px;border-radius:50%;background:var(--visual-glow-2);box-shadow:0 0 18px var(--visual-glow-2);animation:hudPulse 1.8s ease-in-out infinite}.experience-hud-panel small{display:block;font-size:.56rem;letter-spacing:.18em;color:#aab3c8}.experience-hud-panel strong{font-size:.78rem}.experience-engine-enabled:not(.experience-hud) .experience-hud-panel{display:none}
.experience-mode-cinematic .hero-content{animation:cinematicEnter calc(1.4s * var(--experience-pace)) cubic-bezier(.16,1,.3,1) both}.experience-mode-cinematic .section{perspective:1100px}.experience-mode-kinetic .feature-card,.experience-mode-kinetic .offer-card{clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,6% 100%,0 86%)}.experience-mode-editorial .hero h1{max-width:10ch;letter-spacing:-.055em}.experience-mode-editorial .section-head{max-width:780px}.experience-mode-zen .experience-beam,.experience-mode-zen .experience-orbit{opacity:.22}.experience-mode-zen .visual-cursor-orb{display:none}.experience-section-portals .section{position:relative}.experience-section-portals .section:before{content:"";position:absolute;left:50%;top:-1px;width:min(60vw,760px);height:1px;transform:translateX(-50%) scaleX(var(--portal-scale,0));background:linear-gradient(90deg,transparent,var(--visual-glow),var(--visual-glow-2),transparent);box-shadow:0 0 18px var(--visual-glow);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.experience-section-portals .section.experience-in-view:before{--portal-scale:1}.experience-scroll-choreography .section>.container{transition:transform calc(.8s * var(--experience-pace)) cubic-bezier(.16,1,.3,1),opacity calc(.8s * var(--experience-pace)) ease}.experience-scroll-choreography .section:not(.experience-in-view)>.container{transform:translateY(24px) scale(.992);opacity:.76}.experience-dynamic-light .section{--experience-x:50%;--experience-y:50%}.experience-dynamic-light .section:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--experience-x) var(--experience-y),color-mix(in srgb,var(--visual-glow) 10%,transparent),transparent 70%);opacity:.75}.experience-cursor-dot{position:fixed;width:6px;height:6px;border-radius:50%;pointer-events:none;z-index:9998;background:var(--visual-glow-2);box-shadow:0 0 14px var(--visual-glow-2);animation:cursorFade .65s ease forwards}.experience-scene-flash{position:fixed;inset:0;z-index:9990;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--visual-glow) 28%,transparent),transparent 66%);animation:sceneFlash .8s ease forwards}
@keyframes beamDrift{to{transform:translate3d(20vw,10vh,0) rotate(-8deg)}}@keyframes grainMove{0%{transform:translate(0,0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(2%,2%)}100%{transform:translate(-3%,-1%)}}@keyframes hudPulse{50%{transform:scale(1.5);opacity:.45}}@keyframes cinematicEnter{from{opacity:0;transform:translateY(36px) scale(.97);filter:blur(9px)}to{opacity:1;transform:none;filter:none}}@keyframes cursorFade{to{opacity:0;transform:translate3d(var(--trail-x),var(--trail-y),0) scale(.1)}}@keyframes sceneFlash{to{opacity:0}}
@media(max-width:800px){.experience-hud-panel{right:10px;bottom:10px;padding:8px 10px}.experience-hud-panel strong{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.experience-orbit{width:88vw;height:88vw;left:45vw}.experience-cursor-dot{display:none}}
@media(prefers-reduced-motion:reduce){.blackbox-public-intro{display:none!important}.experience-beam,.experience-orbit,.experience-grain-layer{animation:none!important}.experience-scroll-choreography .section>.container{transform:none!important;opacity:1!important}}


/* ================================================================
   DualCMS 2.0.1 — CONTRAST & LAYERING HOTFIX
   Corrige les contrastes des thèmes sombres, le Coming Soon,
   les chiffres clés, les boutons et les effets visuels trop présents.
   ================================================================ */
:root{--theme-accent-contrast:#fff}
.btn,.desktop-nav .btn,.mobile-menu .btn,.coming-signup .btn,.coming-actions .btn{color:var(--theme-accent-contrast,#fff)!important}
.btn:hover,.desktop-nav .btn:hover,.mobile-menu .btn:hover,.coming-signup .btn:hover,.coming-actions .btn:hover{background:color-mix(in srgb,var(--theme-accent) 84%,#000)!important;color:var(--theme-accent-contrast,#fff)!important}
.btn-secondary,.btn-secondary:hover{color:var(--theme-text,var(--stone-900))!important}
.visual-tone-dark .btn-secondary,.visual-tone-dark .btn-secondary:hover{background:var(--theme-text)!important;color:var(--theme-bg)!important}

/* Le décor doit rester derrière le contenu, sans masquer les sections. */
.visual-scene-backdrop{z-index:-4}
.experience-stage{z-index:-3;opacity:min(var(--experience-strength),.72)}
.visual-hero-effects{z-index:0;opacity:.66;mix-blend-mode:screen}
.visual-hero-effects i{opacity:.22;filter:blur(5px)}
.visual-engine-enabled .hero-content{z-index:4}
.visual-engine-enabled .hero-grid-bg{opacity:.26}
.visual-engine-enabled .hero-overlay{background:linear-gradient(90deg,rgba(5,7,17,.91),rgba(5,7,17,.70) 56%,rgba(5,7,17,.30))}
.experience-dynamic-light .section:after{z-index:0;opacity:.42}
.experience-dynamic-light .section>.container{position:relative;z-index:1}

/* Cartes statistiques : une surface sombre garde un texte clair. */
.visual-tone-dark .stats-grid div{background:color-mix(in srgb,var(--theme-muted-bg) 88%,transparent)!important;border-color:color-mix(in srgb,var(--theme-text) 16%,transparent)!important;color:var(--theme-text)!important;box-shadow:0 18px 55px rgba(0,0,0,.28)}
.visual-tone-dark .stats-grid strong{color:var(--theme-text)!important;text-shadow:none}
.visual-tone-dark .stats-grid span{color:color-mix(in srgb,var(--theme-text) 70%,transparent)!important}
.visual-tone-light .stats-grid div{background:color-mix(in srgb,var(--theme-bg) 94%,#fff)!important;color:var(--theme-text)!important}
.visual-tone-light .stats-grid strong{color:var(--theme-text)!important}
.visual-tone-light .stats-grid span{color:color-mix(in srgb,var(--theme-text) 66%,transparent)!important}

/* Icônes et cartes qui restaient blanches dans les thèmes sombres. */
.visual-tone-dark .feature-icon{background:color-mix(in srgb,var(--theme-bg) 72%,#fff 8%)!important;color:var(--theme-text)!important;border-color:color-mix(in srgb,var(--theme-text) 16%,transparent)!important}
.visual-tone-dark .feature-card li,.visual-tone-dark .content-copy p,.visual-tone-dark .custom-section .subtitle{color:color-mix(in srgb,var(--theme-text) 75%,transparent)!important}
.visual-tone-dark .feature-card li:before{background:var(--visual-glow-2)}

/* Coming Soon : le ton visuel personnalisé pilote maintenant correctement le contraste. */
.coming-soon-body.public-theme-light .coming-panel{color:#1c1917}
.coming-soon-body.public-theme-light .coming-main-panel h1,
.coming-soon-body.public-theme-light .coming-brandline,
.coming-soon-body.public-theme-light .coming-signup h2,
.coming-soon-body.public-theme-light .coming-features strong{color:#1c1917!important}
.coming-soon-body.public-theme-light .coming-main-panel .eyebrow{color:color-mix(in srgb,var(--theme-accent) 72%,#111827)!important}
.coming-soon-body.public-theme-dark .coming-panel,
.coming-soon-body.visual-tone-dark .coming-panel{background:color-mix(in srgb,var(--theme-muted-bg) 90%,transparent)!important;border-color:color-mix(in srgb,var(--theme-text) 15%,transparent)!important;color:var(--theme-text)!important}
.coming-soon-body.public-theme-dark .coming-main-panel h1,
.coming-soon-body.public-theme-dark .coming-brandline,
.coming-soon-body.public-theme-dark .coming-signup h2,
.coming-soon-body.public-theme-dark .coming-features strong,
.coming-soon-body.visual-tone-dark .coming-main-panel h1,
.coming-soon-body.visual-tone-dark .coming-brandline,
.coming-soon-body.visual-tone-dark .coming-signup h2,
.coming-soon-body.visual-tone-dark .coming-features strong{color:var(--theme-text)!important}
.coming-soon-body.public-theme-dark .coming-countdown div,
.coming-soon-body.public-theme-dark .coming-features div,
.coming-soon-body.public-theme-dark .coming-signup input,
.coming-soon-body.visual-tone-dark .coming-countdown div,
.coming-soon-body.visual-tone-dark .coming-features div,
.coming-soon-body.visual-tone-dark .coming-signup input{background:color-mix(in srgb,var(--theme-bg) 86%,#000)!important;border-color:color-mix(in srgb,var(--theme-text) 15%,transparent)!important;color:var(--theme-text)!important}
.coming-soon-body.public-theme-dark .coming-lead,
.coming-soon-body.public-theme-dark .coming-progress-meta,
.coming-soon-body.public-theme-dark .coming-signup label,
.coming-soon-body.public-theme-dark .coming-side-panel small,
.coming-soon-body.visual-tone-dark .coming-lead,
.coming-soon-body.visual-tone-dark .coming-progress-meta,
.coming-soon-body.visual-tone-dark .coming-signup label,
.coming-soon-body.visual-tone-dark .coming-side-panel small{color:color-mix(in srgb,var(--theme-text) 76%,transparent)!important}
.coming-features strong{display:block;min-width:0;overflow-wrap:anywhere}

/* Navigation : aucun bouton violet avec texte sombre illisible. */
.desktop-nav a.btn,.mobile-menu a.btn{background:var(--theme-accent)!important;color:var(--theme-accent-contrast,#fff)!important}
.desktop-nav a.btn:hover,.mobile-menu a.btn:hover{background:color-mix(in srgb,var(--theme-accent) 82%,#000)!important;color:var(--theme-accent-contrast,#fff)!important}

@media(max-width:900px){
  .visual-hero-effects{opacity:.38}
  .visual-hero-effects i{opacity:.14}
  .experience-stage{opacity:min(var(--experience-strength),.55)}
}
@media(prefers-reduced-motion:reduce){
  .visual-hero-effects{opacity:.24}
  .experience-stage{opacity:.34}
}

/* ================================================================
   DualCMS 2.0.3 — CONTACT FORM CONTRAST: CORRECTIF DÉFINITIF
   La surface du formulaire reste volontairement claire, même lorsque
   l'univers Black Box utilise un texte global clair.
   ================================================================ */
#contact.contact-section .contact-form{
  position:relative!important;
  z-index:8!important;
  isolation:isolate!important;
  color-scheme:light!important;
  background:#ffffff!important;
  color:#1c1917!important;
  border:1px solid rgba(28,25,23,.10)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.30)!important;
}
#contact.contact-section .contact-form>*{
  position:relative;
  z-index:2;
}
#contact.contact-section .contact-form .field,
#contact.contact-section .contact-form .form-row{
  color:#1c1917!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
#contact.contact-section .contact-form .field>label{
  display:block!important;
  color:#292524!important;
  -webkit-text-fill-color:#292524!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  font-weight:850!important;
}
#contact.contact-section .contact-form input,
#contact.contact-section .contact-form textarea,
#contact.contact-section .contact-form select{
  appearance:none;
  -webkit-appearance:none;
  background:#ffffff!important;
  color:#1c1917!important;
  -webkit-text-fill-color:#1c1917!important;
  caret-color:#1c1917!important;
  border:1px solid #d6d3d1!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  box-shadow:none!important;
}
#contact.contact-section .contact-form input::placeholder,
#contact.contact-section .contact-form textarea::placeholder{
  color:#78716c!important;
  -webkit-text-fill-color:#78716c!important;
  opacity:1!important;
}
#contact.contact-section .contact-form input:focus,
#contact.contact-section .contact-form textarea:focus,
#contact.contact-section .contact-form select:focus{
  outline:none!important;
  border-color:#7c3aed!important;
  box-shadow:0 0 0 4px rgba(124,58,237,.16)!important;
}
#contact.contact-section .contact-form input:-webkit-autofill,
#contact.contact-section .contact-form input:-webkit-autofill:hover,
#contact.contact-section .contact-form input:-webkit-autofill:focus{
  -webkit-text-fill-color:#1c1917!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
}
#contact.contact-section .contact-form .btn{
  background:var(--theme-accent,#7c3aed)!important;
  color:var(--theme-accent-contrast,#ffffff)!important;
  -webkit-text-fill-color:var(--theme-accent-contrast,#ffffff)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
#contact.contact-section .contact-form .notice{
  background:#ecfdf5!important;
  color:#065f46!important;
  -webkit-text-fill-color:#065f46!important;
}
/* DualCMS Popup Studio */
.dualcms-popup-overlay{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:22px;background:rgba(3,6,15,.62);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:.3s}.dualcms-popup-overlay.is-visible{opacity:1;visibility:visible}.dualcms-popup-overlay.pos-bottom{align-items:end}.dualcms-popup-overlay.pos-right{justify-items:end}.dualcms-popup{position:relative;width:100%;padding:34px;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:var(--pp-bg);color:var(--pp-fg);box-shadow:0 35px 100px rgba(0,0,0,.45);transform:translateY(20px) scale(.97);transition:.35s cubic-bezier(.2,.8,.2,1);overflow:hidden}.is-visible .dualcms-popup{transform:none}.dualcms-popup:before{content:"";position:absolute;inset:auto -80px -110px auto;width:240px;height:240px;border-radius:50%;background:var(--pp-accent);filter:blur(70px);opacity:.45}.dualcms-popup>*{position:relative;z-index:1}.dualcms-popup img{width:100%;max-height:230px;object-fit:cover;border-radius:18px;margin-bottom:18px}.dualcms-popup h2{font-size:clamp(28px,4vw,48px);line-height:1;margin:8px 0 15px}.dualcms-popup small{font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--pp-accent)}.dualcms-popup-close{position:absolute;right:14px;top:12px;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:inherit;font-size:25px;cursor:pointer}.dualcms-popup-cta{display:inline-flex;margin-top:20px;padding:13px 18px;border-radius:12px;background:var(--pp-accent);color:#fff!important;font-weight:900;text-decoration:none}@media(max-width:640px){.dualcms-popup{padding:28px 22px;border-radius:22px}}@media(prefers-reduced-motion:reduce){.dualcms-popup-overlay,.dualcms-popup{transition:none!important}}
