/* K-Soft Commerciale – style inspiré du thème Business Lounge (Fira Sans, en-tête à deux niveaux, grand slider, sections sobres) */
@font-face{font-family:"Fira Sans";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/fira-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Fira Sans";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/fira-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Fira Sans";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/fira-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Fira Sans";font-weight:400;font-style:italic;font-display:swap;src:url(assets/fonts/fira-sans-latin-400-italic.woff2) format("woff2")}
:root{--navy:#12372a;--navy2:#164332;--gold:#1f9d63;--gold2:#7ddba8;--blue:#1a77ae;--black:#1b1b1b;--bg:#0c1a15;--soft:#112620;--card:#112620;--line:#244438;--ink:#fff;--text:#a9b6c3;--r:4px;--sh:0 18px 40px rgba(0,0,0,.45)}
html[data-theme=light]{color-scheme:light;--bg:#fff;--soft:#f4f7f5;--card:#fff;--line:#e8e8e8;--ink:#000;--text:#6b6b6b;--sh:0 18px 40px rgba(15,40,80,.16)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:hidden}
body{margin:0;font:400 15px/1.75 "Fira Sans",system-ui,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold2)}
.wrap{width:min(1170px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-weight:700;color:var(--ink);line-height:1.25;margin:1.4em 0 .55em;letter-spacing:-.005em}
h1{font-size:clamp(1.9rem,4vw,3rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}h3{font-size:1.1rem}
p{margin:0 0 1em}
b{color:var(--ink)}
.kicker{letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;font-weight:700;color:var(--gold);margin:0 0 6px}
.hd{display:flex;align-items:center;gap:12px;margin-top:.1em}.hd::before{content:"";width:22px;height:2px;background:var(--gold);flex:none}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--blue);color:#fff!important;font:700 12.5px/1 "Fira Sans",sans-serif;letter-spacing:.03em;text-transform:uppercase;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;transition:background .25s,transform .25s}
.btn:hover{background:#000;transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1.5px solid rgba(255,255,255,.7)}.btn.ghost:hover{background:#fff;color:var(--navy)!important}
.btn.dark{background:#000}.btn.dark:hover{background:var(--blue)}
.btn svg{flex:none}

/* ---------- en-tête à deux niveaux ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--black)}
.topbar{background:var(--black);color:#cfcfcf;font-size:12px;height:36px;border-bottom:1px solid #2c2c2c}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:100%;padding-inline-start:200px}
.tb-info{display:flex;gap:22px}.tb-info a{color:#cfcfcf}.tb-info a:hover{color:#fff}
.tb-right{display:flex;align-items:center;gap:8px}
.lang-btn,.theme-btn{font:inherit;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:#cfcfcf;background:none;border:1px solid #3a3a3a;border-radius:2px;padding:2px 10px;cursor:pointer;line-height:1.5;transition:.2s}
.lang-btn:hover,.theme-btn:hover{color:#fff;border-color:var(--gold)}
.theme-btn{font-size:13px;padding:1px 8px}
.mainbar{background:var(--navy);height:46px;position:relative}
.mainbar .wrap{display:flex;align-items:center;height:100%;padding-inline-start:200px;position:relative}
.brand{position:absolute;inset-inline-start:0;top:-36px;width:190px;height:82px;background:#fff;border-bottom:3px solid var(--gold);display:flex;align-items:center;gap:10px;padding:0 14px;z-index:3;color:var(--navy)}
.brand img{width:54px;height:54px;flex:none}
.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font-size:1.25rem;color:var(--navy)}.brand small{font-size:.8rem;font-weight:700;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.nav a{color:#fff;font:700 13px/1 "Fira Sans",sans-serif;padding:16px 13px;display:block;white-space:nowrap;transition:color .2s}
.nav a:hover{color:var(--gold2)}
.nav a.cta{background:var(--blue);height:46px;display:flex;align-items:center;padding-inline:20px;margin-inline-start:8px}.nav a.cta:hover{background:#000;color:#fff}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer;margin-inline-start:auto}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:22px;height:2px;background:#fff;position:relative}
.burger span::before{position:absolute;top:-7px}.burger span::after{position:absolute;top:7px}

/* ---------- slider ---------- */
.slider{position:relative;background:linear-gradient(120deg,#08241a 0%,#12372a 55%,#1a503d 100%);color:#fff;overflow:hidden;min-height:580px}
.slider::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 85% 20%,rgba(46,196,125,.2),transparent),radial-gradient(500px 400px at 10% 100%,rgba(125,219,168,.1),transparent)}
.slides{position:relative;min-height:580px}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.slide.on{opacity:1;visibility:visible;z-index:1}
.slide .wrap{position:relative;z-index:2;min-height:580px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:40px;align-items:center;padding-block:40px}
.scont>*{opacity:0;transform:translateY(24px)}
.slide.on .scont>*{animation:up .8s .25s ease forwards}.slide.on .scont h1,.slide.on .scont h2{animation-delay:.35s}.slide.on .scont p{animation-delay:.5s}.slide.on .scont .sbtn{animation-delay:.65s}
@keyframes up{to{opacity:1;transform:none}}
.scont .kicker{color:var(--gold2)}
.scont h1,.scont h2{color:#fff;margin:.2em 0 .4em;font-size:clamp(1.9rem,3.8vw,3rem)}
.scont h1 em{font-style:normal;color:var(--gold2)}
.scont p{color:#dde8f2;font-size:1.05rem;max-width:520px}
.sbtn{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.badge{display:inline-flex;align-items:center;gap:12px;background:#d4f5e2;color:#083d2b;padding:8px 18px 8px 10px;border-radius:999px;margin-bottom:10px}
.badge i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0b3d2e;color:#fff;font-style:normal;font-weight:700;font-size:.8rem}
.badge span{display:flex;flex-direction:column;line-height:1.2}.badge small{font-size:.68rem;letter-spacing:.06em;font-weight:700}.badge b{font-size:1rem;color:#083d2b}
.sshot{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:translateX(40px) scale(.97);background:#fff}
.slide.on .sshot{animation:in 1s .3s ease forwards}
@keyframes in{to{opacity:1;transform:none}}
.sshot img{width:100%}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:56px;height:40px;background:none;border:0;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.8;transition:transform .25s,opacity .2s}
.arrow:hover{opacity:1;color:var(--gold2)}.arrow.prev{inset-inline-start:10px}.arrow.next{inset-inline-end:10px}
.arrow.prev:hover{transform:translate(-4px,-50%)}.arrow.next:hover{transform:translate(4px,-50%)}
html[dir=rtl] .arrow svg{transform:scaleX(-1)}
.dots{position:absolute;bottom:22px;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:10px}
.dots button{width:34px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.35);cursor:pointer;padding:0;position:relative;overflow:hidden}
.dots button.on{background:rgba(255,255,255,.35)}
.dots button.on::after{content:"";position:absolute;inset:0;background:var(--gold2);transform-origin:left;transform:scaleX(0);animation:prog var(--iv,6s) linear forwards}
.slider.paused .dots button.on::after{animation-play-state:paused}
@keyframes prog{to{transform:scaleX(1)}}

/* ---------- sections ---------- */
section{scroll-margin-top:90px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-block:80px}
.split.rev>.ph{order:-1}
.split ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.split li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--gold);margin-inline-end:12px;transform:rotate(45deg)}
.split li{color:var(--text)}
.ph{margin:0;position:relative}
.ph img{width:100%;border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--line);background:#fff}
.ph::before{content:"";position:absolute;inset:18px -14px -14px 18px;border:2px solid var(--gold);border-radius:var(--r);z-index:-1;opacity:.5}
html[dir=rtl] .ph::before{inset:18px 18px -14px -14px}
.ph.duo{padding-bottom:50px}
.ph.duo .over{position:absolute;inset-inline-end:-14px;bottom:0;width:52%;box-shadow:var(--sh);border:1px solid var(--line);border-radius:var(--r);background:#fff}
.tagband{background:var(--navy);color:#dde8f2;text-align:center;padding:76px 0;margin:0}
.tagband .kicker{color:var(--gold2)}.tagband h2{color:#fff;margin:.2em 0 .5em}.tagband p{max-width:64ch;margin-inline:auto}
.tagband .btn{margin-top:10px}
.sec{padding-block:80px}
.sec.soft{background:var(--soft)}
.sec>.wrap>h2{max-width:760px}
.sub{max-width:680px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.grid article{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--r);padding:26px 22px;transition:border-color .25s,transform .25s,box-shadow .25s}
.grid article:hover{border-top-color:var(--gold);transform:translateY(-4px);box-shadow:var(--sh)}
.grid i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(31,157,99,.16);font-style:normal;font-size:1.5rem}
.grid h3{margin:.9em 0 .3em}.grid p{margin:0;font-size:.95rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.steps div{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 26px 26px}
.steps b{display:block;font-size:3.2rem;line-height:1;color:var(--gold);opacity:.9;font-weight:700}
.steps p{margin:0}
.guide{margin:26px 0 0;padding-inline-start:26px;max-width:760px}
.guide li{padding:6px 0 6px 6px}.guide li::marker{color:var(--gold);font-weight:700}
.narrow{max-width:820px}
details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 22px;margin-top:12px}
summary{cursor:pointer;font-weight:700;color:var(--ink)}
details[open]{border-inline-start:3px solid var(--gold)}
details p{margin:10px 0 0}
.final{background:#000;color:#cfcfcf;text-align:center;padding:84px 0}
.final h2{color:#fff;margin:0 0 .3em}.final p{margin:0;font-size:1.05rem}
.phones{display:flex;justify-content:center;margin:26px 0 8px}
.phone{display:inline-flex;align-items:center;gap:14px;padding:14px 28px;border:1px solid #3a3a3a;border-radius:999px;color:#fff;transition:.2s}
.phone:hover{border-color:var(--gold);color:#fff}
.phone svg{color:var(--gold2);flex:none}.phone span{display:flex;flex-direction:column;text-align:start;line-height:1.2}
.phone small{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#aaa}.phone b{font-size:1.5rem;color:var(--gold2);letter-spacing:.04em;direction:ltr;unicode-bidi:isolate}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:22px}
.dl-note{max-width:640px;margin:26px auto 0!important;font-size:.9rem!important;line-height:1.55;color:#cfcfcf;border:1px solid #333;border-radius:var(--r);padding:12px 18px}
.dl-note b{color:#fff}

/* ---------- pied de page ---------- */
.site-footer{background:#000;color:#aaa;font-size:14px}
.foot{display:grid;grid-template-columns:minmax(260px,1.5fr) 1fr 1fr 1.2fr;gap:30px;padding-block:0 28px}
.site-footer .about{background:#111;border-top:2px solid var(--gold);padding:28px 30px 32px;margin-top:-1px}
.about img{width:70px;margin-bottom:14px;background:#fff;border-radius:var(--r);padding:3px}
.about p{margin:0;font-size:14px;line-height:1.75}
.foot>div:not(.about){padding-top:44px}
.site-footer h2{color:#fff;font-size:13px;margin:0 0 .9em;text-transform:uppercase;letter-spacing:.1em}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.site-footer a{color:#fff}.site-footer a:hover{color:var(--gold2)}.site-footer p{margin:0}
.foot .tel{direction:ltr;unicode-bidi:isolate;display:inline-block}
.legalbar{background:#0a0a0a;border-top:1px solid #1d1d1d}
.legal{display:flex;align-items:center;gap:20px;min-height:64px;font-size:13px}
.legal .copy{flex:1}
.to-top{width:46px;height:46px;border:2px solid #666;background:none;color:#fff;display:grid;place-items:center;transition:.25s;opacity:0;visibility:hidden}
.to-top.show-btn{opacity:1;visibility:visible}.to-top:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.wa-fab{position:fixed;inset-inline-start:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#25d366;color:#06361a!important;font-weight:700;box-shadow:0 10px 26px rgba(0,0,0,.4);transition:transform .2s}
.wa-fab:hover{transform:translateY(-3px)}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}

/* ---------- arabe (RTL) ---------- */
html[lang=ar] body{font-family:'Cairo','Segoe UI',Tahoma,system-ui,sans-serif}
html[lang=ar] *{letter-spacing:0!important}
html[lang=ar] h1,html[lang=ar] h2{line-height:1.4}
.tb-info a{direction:ltr;unicode-bidi:isolate}

/* ---------- adaptatif ---------- */
@media(max-width:1060px){
 .topbar .wrap,.mainbar .wrap{padding-inline-start:150px}
 .brand{width:140px;height:72px;padding:0 10px}.brand img{width:42px;height:42px}.brand b{font-size:1.05rem}.brand small{font-size:.68rem}
 .burger{display:block}
 .nav{position:absolute;inset-inline:0;top:100%;background:#111;display:none;max-height:calc(100vh - 82px);overflow:auto}.nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch;padding:6px 20px 14px}
 .nav a{padding:13px 4px;border-bottom:1px solid #2a2a2a}.nav a.cta{height:auto;margin:10px 0 0;justify-content:center;padding:14px}
 .grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
 .slide .wrap{grid-template-columns:1fr;gap:22px;padding-block:34px 60px}.sshot{max-width:520px}
 .slider,.slides,.slide .wrap{min-height:auto}.slides{min-height:700px}
 .slide{position:absolute}
 .split,.split.rev{grid-template-columns:1fr;gap:34px;margin-block:56px}.split.rev>.ph{order:0}
 .steps{grid-template-columns:1fr}.foot{grid-template-columns:1fr 1fr}.site-footer .about{grid-column:1/-1}
 .arrow{display:none}
}
@media(max-width:560px){
 .topbar .wrap,.mainbar .wrap{padding-inline-start:128px}.brand{width:118px;padding:0 8px;gap:6px}.brand img{width:34px;height:34px}.brand b{font-size:.95rem}
 .tb-info a:nth-child(2){display:none}.grid{grid-template-columns:1fr}.foot{grid-template-columns:1fr}
 .btn{width:100%;justify-content:center}.sbtn{flex-direction:column}.wa-fab span{display:none}.wa-fab{padding:12px 14px}
 .slides{min-height:760px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.scont>*,.sshot,.reveal{opacity:1;transform:none}.dots button.on::after{transform:scaleX(1)}}
.tb-info,.tb-info a,.tb-info span{white-space:nowrap}
@media(max-width:700px){.tb-info>span{display:none}}
.phones{gap:14px;flex-wrap:wrap}

/* ---------- animations au clic (menu, langue, thème, boutons) ---------- */
.nav a,.btn,.lang-btn,.theme-btn{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.nav a:active,.btn:active,.lang-btn:active,.theme-btn:active{transform:scale(.93)}
.ripple{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.45);transform:scale(0);animation:ripple .55s ease-out forwards}
.btn:not(.ghost) .ripple,.nav a.cta .ripple{background:rgba(255,255,255,.5)}
@keyframes ripple{to{transform:scale(1);opacity:0}}
.theme-btn.spin{animation:spin .6s cubic-bezier(.4,0,.2,1)}
@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(200deg) scale(1.25)}100%{transform:rotate(360deg) scale(1)}}
.lang-btn.flip{animation:flip .5s ease}
@keyframes flip{0%{transform:perspective(300px) rotateX(0)}50%{transform:perspective(300px) rotateX(90deg) scale(1.1)}100%{transform:perspective(300px) rotateX(0)}}
.nav a.pop{animation:pop .45s ease}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(.9)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.to-top:active,.arrow:active{transform:scale(.88)}

/* ---------- sections propres à Commerciale ---------- */
.split.tej-s{margin-block:0}
.tej{text-align:center}.tej h2,.tej .sub{margin-inline:auto}.tej .hd{justify-content:center}
.tej h2 em{font-style:normal;color:var(--gold)}
.flow{list-style:none;margin:44px auto 36px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;max-width:1100px;text-align:start}
.flow li{position:relative;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--r);padding:24px}
.flow li:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-end:-26px;width:16px;height:16px;border-top:3px solid var(--gold);border-right:3px solid var(--gold);transform:translateY(-50%) rotate(45deg);opacity:.85}
html[dir=rtl] .flow li:not(:last-child)::after{transform:translateY(-50%) rotate(-135deg)}
.flow b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(31,157,99,.18);color:var(--gold);margin-bottom:6px}
.flow p{margin:0;font-size:.95rem}.flow h3{margin:.3em 0 .2em}
.flow .star{border-top-color:var(--gold);box-shadow:var(--sh)}.flow .star b{background:var(--gold);color:#fff}
.fine{font-size:.85rem;margin:14px 0 0}
.models{text-align:center}.models .hd{justify-content:center}.models .sub{margin-inline:auto}
.strip{margin:44px auto 0;max-width:1100px;border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--sh);border:1px solid var(--line)}
.strip img{width:100%}
.eds{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 6px}
.ed{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.ed h3{margin:0 0 6px}.ed p{margin:0;font-size:.95rem}
.ed.hot{border-color:var(--gold);box-shadow:var(--sh)}
.tag{position:absolute;top:-11px;inset-inline-end:14px;background:var(--gold);color:#fff;font-weight:700;font-size:.72rem;padding:3px 10px;border-radius:999px}
.about{max-width:560px}
@media(max-width:980px){.flow{grid-template-columns:1fr 1fr}.flow li:nth-child(2)::after{display:none}}
@media(max-width:700px){.eds{grid-template-columns:1fr}}
@media(max-width:560px){.flow{grid-template-columns:1fr;gap:26px}.flow li::after{display:none}}

/* titres avec <em> : le trait doré est positionné à part pour ne pas couper la phrase */
.hd{display:block;position:relative;padding-inline-start:34px}
.hd::before{position:absolute;inset-inline-start:0;top:.7em}
.tej .hd,.models .hd{padding-inline-start:0}.tej .hd::before,.models .hd::before{display:none}
@media(max-width:560px){.brand small{font-size:.56rem;letter-spacing:0;white-space:nowrap}.brand b{font-size:.9rem}}
