/* Présentation ZM CONNECT : palette et mesures relevées sur le modèle de référence. */
:root{--navy:#06162f;--navy2:#132b4c;--ink:#06162f;--blue:#0057d9;--cyan:#19b5ff;--muted:#68788f;--paper:#f5f7fa;--line:rgba(6,22,47,.12);--white:#fff;--max:1180px}
body{background:var(--white);font-family:Aptos,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55}
.wrap{width:min(var(--max),calc(100% - 48px))}
.topbar{background:var(--navy);color:rgba(255,255,255,.72);letter-spacing:.02em}
.header{background:rgba(255,255,255,.94);border-color:var(--line)}
.header-inner{height:78px;min-height:78px;gap:34px}
.nav{margin-left:auto;gap:28px;color:#243750;font-size:14px;font-weight:700}
.nav button{padding:0;font-size:14px;line-height:1.55}
.nav .temporary-nav{color:var(--blue)}
.dropdown-menu{background:rgba(255,255,255,.99);border-color:var(--line);border-radius:12px;min-width:285px;padding:12px;box-shadow:0 24px 60px rgba(6,22,47,.16)}
.dropdown-menu a{font-size:13px;color:var(--navy2);font-weight:750;line-height:1.55;padding:11px 12px;border-radius:7px}
.btn{padding:14px 24px;gap:10px;min-height:0;background:var(--blue);border:1px solid var(--blue);border-radius:8px;font-size:16px;font-weight:800;line-height:1.55;box-shadow:0 12px 30px rgba(0,87,217,.22)}
.btn:hover{background:var(--blue-deep,#0a2e73);border-color:#0a2e73;color:var(--white)}
.btn.small{padding:10px 17px;font-size:13px;line-height:1.55;min-height:0}
.header-cta{flex-shrink:0;white-space:nowrap}
.text-link{gap:9px;padding:10px 0;font-size:16px;font-weight:800;line-height:1.55;border-bottom:1px solid rgba(255,255,255,.22)}
.text-link .arrow{color:var(--cyan)}
.hero{background:var(--navy);isolation:isolate}
.hero:not(.detail-hero):before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 8%,rgba(0,87,217,.19),transparent 40%),radial-gradient(circle at 87% 92%,rgba(25,181,255,.12),transparent 32%)}
.hero:not(.detail-hero):after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(25,181,255,.5),transparent)}
.hero-main{grid-template-columns:1.15fr .93fr;gap:clamp(42px,7.08vw,96px);min-height:650px;padding:74px 0 68px}
.hero .eyebrow{font-size:12px;line-height:1.55;font-weight:900;letter-spacing:1.92px;color:var(--cyan);margin-bottom:22px}
.hero h1{font-size:clamp(48px,5.8vw,78px);font-weight:800;line-height:.98;letter-spacing:-.055em;margin:0}
.accent{font-family:Georgia,"Times New Roman",serif;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:inherit;color:var(--cyan)}
.hero-copy p{margin:28px 0 0;font-size:20px;line-height:1.65;color:rgba(255,255,255,.72);max-width:635px}
.hero-actions{margin:34px 0 0;gap:26px}
.hero-promises{margin-top:48px;padding-top:18px;border-color:rgba(255,255,255,.15)}
.hero-promises span{font-size:12px;line-height:1.55;color:rgba(255,255,255,.72)}
.hero-promises b{font-size:11px;font-weight:900;line-height:1.55;letter-spacing:1.65px;color:var(--cyan)}
.hero-art{min-height:0;height:auto;aspect-ratio:.88;margin:0;border:1px solid rgba(25,181,255,.35);border-radius:2px;background:linear-gradient(145deg,#06162f,#031126);box-shadow:0 40px 100px rgba(0,0,0,.42)}
.security-art{width:100%;height:100%;min-height:0}
.hero-art:before,.hero-art:after{width:54px;height:54px;border-color:var(--cyan)}
.hero-art:before{left:16px;bottom:16px}.hero-art:after{right:16px;top:16px}
.art-badge{left:-36px;top:30px;padding:14px 18px;background:rgba(10,29,56,.92);border-color:rgba(255,255,255,.12)}
.art-badge span{font-size:10px;color:rgba(255,255,255,.5);line-height:1.55;letter-spacing:.6px;margin-bottom:2px}
.art-badge strong{font-size:12px;color:var(--white);line-height:1.55}
.hero-art .art-badge.bottom{right:-28px;bottom:30px}
.hero-scan{background:var(--cyan);box-shadow:0 0 18px 2px rgba(25,181,255,.7)}
.service-strip{padding:25px 0;font-size:11px;font-weight:800;line-height:1.55;letter-spacing:1.32px;color:rgba(255,255,255,.45);border-color:rgba(255,255,255,.12)}
.section{padding:112px 0}
.section-head{display:grid;grid-template-columns:1.45fr .9fr;gap:56px;align-items:end;margin-bottom:56px}
.section-head>div{max-width:none;min-width:0}
h2{font-size:clamp(38px,5.05vw,68px);font-weight:800;line-height:.98;letter-spacing:-.055em}
.eyebrow{font-size:12px;font-weight:900;line-height:1.55;letter-spacing:1.92px;margin-bottom:18px;color:var(--blue)}
.section-intro{font-size:18px;line-height:1.55;max-width:410px;color:var(--muted);margin:0}
#solutions,.contact{background:var(--paper)}
.solutions-grid{gap:16px}
.solution-card{min-height:350px;padding:28px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 32px rgba(6,22,47,.04)}
.solution-card:hover{border-color:var(--blue);box-shadow:0 20px 50px rgba(6,22,47,.1)}
.card-top{height:44px;margin-bottom:48px;color:var(--blue)}
.card-number{font-size:11px;font-weight:900;line-height:1.55;letter-spacing:1.65px;color:var(--blue)}
.solution-card .icon{width:44px;height:44px;color:var(--blue)}
.solution-card h3{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.035em;margin:0 0 14px;max-width:280px}
.solution-card p{font-size:15px;line-height:1.55;margin:0 0 22px;color:var(--muted)}
.card-end{font-size:13px;font-weight:800;line-height:1.55;padding-top:22px;border-color:var(--line)}
.card-end span{color:var(--blue);font-size:18px;font-weight:900}
.solution-card.wide{min-height:350px;padding:28px;grid-template-columns:64px 1fr;gap:24px}
.wide .card-top{height:auto;margin:0}.wide .card-end{padding-top:22px}.wide p{margin:0 0 22px}
.why{background:var(--white)}
.split{gap:clamp(40px,6.5vw,88px)}
.technical-visual>img{opacity:1}
.photo-caption{color:var(--cyan)}
.split-copy>p{font-size:18px;line-height:1.55;color:var(--muted)}
.reason>span{font-size:13px;font-weight:900;letter-spacing:1.95px;color:var(--blue)}
.reason h3{font-size:19px;line-height:1.55;font-weight:700}
.reason p{font-size:15px;line-height:1.55;color:var(--muted)}
.sectors{background:radial-gradient(circle at 15% 30%,rgba(0,87,217,.22),transparent 35%),var(--navy);color:var(--white)}
.sectors .section-intro{color:rgba(255,255,255,.62)}
.sectors .sector{border-color:rgba(255,255,255,.14);border-radius:18px}
.sectors .sector-copy small,.temporary-card-copy small{color:var(--cyan);font-size:11px;font-weight:900;letter-spacing:1.65px}
.sectors .sector p{color:rgba(255,255,255,.72)}
.method{background:var(--white);color:var(--ink)}
.method .eyebrow{color:var(--blue)}
.method .section-head{display:block;max-width:760px;margin-bottom:60px}
.method .section-intro{color:var(--muted);max-width:none;margin-top:24px}
.steps{display:block;margin:0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:95px 1fr 60px;gap:6px 24px;align-items:center;min-height:142px;border-top:0;border-bottom:1px solid var(--line);padding:22px 8px}
.step:before{display:none}
.step>span{grid-column:1;grid-row:1 / span 2;font:900 13px/1.55 Aptos,"Segoe UI",Arial,sans-serif;letter-spacing:1.95px;color:var(--blue)}
.step h3{grid-column:2;margin:0;font-size:29px;font-weight:700;letter-spacing:-.035em;line-height:1.55}
.step p{grid-column:2;font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.step:after{content:"→";display:grid;place-items:center;grid-column:3;grid-row:1 / span 2;width:44px;height:44px;border:1px solid rgba(0,87,217,.25);border-radius:50%;color:var(--blue);font-size:20px}
.step:last-child:after{content:"✓"}
.maintenance{background:var(--white);padding:0 0 112px}
.maintenance>.wrap{background:var(--navy);color:var(--white);border-radius:18px;padding:64px;gap:56px;grid-template-columns:1.1fr 1fr}
.maintenance .eyebrow{color:var(--cyan)}
.maintenance .split-copy>p,.maintenance .check-list li{color:rgba(255,255,255,.72)}
.maintenance .check-list li:before{color:var(--cyan)}
.maintenance .text-link{color:var(--white);border-color:rgba(255,255,255,.22)}
.maintenance-panel{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12);color:var(--white)}
.panel-label,.system-row,.panel-foot{border-color:rgba(255,255,255,.12)}
.panel-label,.panel-foot,.system-row small{color:rgba(255,255,255,.55)}
.system-row>.icon{color:var(--cyan)}
.system-row>span{background:rgba(25,181,255,.1);color:var(--cyan)}
.temporary{background:radial-gradient(circle at 12% 10%,rgba(0,87,217,.28),transparent 34%),linear-gradient(145deg,#071a38,#031126 74%);color:var(--white)}
.temporary .section-intro,.temporary-note,.temporary-steps p{color:rgba(255,255,255,.62)}
.temporary .eyebrow{color:var(--cyan)}
.temporary-grid{grid-template-columns:1.15fr 1fr;gap:44px}
.temporary-card{border-radius:18px;border-color:rgba(255,255,255,.14)}
.temporary-form{color:var(--ink)}
.temporary-form .eyebrow{color:var(--blue)}
.contact-grid{grid-template-columns:.85fr 1.15fr;gap:104px}
.contact-copy>p{font-size:18px;line-height:1.55}
.contact-item small{font-size:11px;font-weight:900;letter-spacing:1.65px;color:var(--blue)}
.contact-form{padding:46px;border-radius:18px;background:var(--white);border-color:var(--line);box-shadow:0 24px 60px rgba(6,22,47,.08)}
.form-heading,.temporary-form .form-heading{font-size:27px;line-height:1.1;letter-spacing:-.04em;color:var(--ink)}
.field input,.field select,.field textarea{background:var(--paper);border:1px solid transparent;border-radius:7px;color:var(--ink);font-size:13px;font-weight:800;line-height:1.55;min-height:52px;padding:14px 15px}
.field textarea{min-height:120px}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(0,87,217,.25);border-color:var(--blue)}
.field label{font-size:13px;color:var(--ink)}
.partners{background:var(--navy)}
.partners p{color:rgba(255,255,255,.72)}
.footer{background:var(--navy);color:rgba(255,255,255,.72)}
.footer h3{color:rgba(255,255,255,.4);font-size:11px;font-weight:700;letter-spacing:1.43px}
.footer-slogan,.footer-bottom{color:rgba(255,255,255,.4)}
@media(min-width:1500px){.hero-main{padding:74px 0 68px}.hero-art{height:auto;min-height:0}.security-art{height:100%;min-height:0}}
@media(max-width:1100px){.header-inner{gap:22px}.nav{gap:18px;font-size:13px}.nav button{font-size:13px}.nav .temporary-nav{display:none}.hero-main{gap:50px}.hero h1{font-size:64px}.hero-copy p{font-size:18px}.section-head{gap:36px}.section-intro{font-size:17px}.art-badge{left:-20px}.hero-art .art-badge.bottom{right:-15px}.maintenance>.wrap{padding:42px;gap:36px}.contact-grid{gap:64px}.contact-form{padding:36px}.temporary-grid{gap:30px}.step h3{font-size:27px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{height:73px;min-height:73px;gap:12px}.header-inner>.brand{margin-right:auto}.header-cta{order:1}.menu-toggle{order:2;display:block}.brand-type{font-size:22px}.brand-mark{width:38px}.nav{margin:0;gap:4px;font-size:14px;top:73px}.nav .temporary-nav{display:block}.nav button{font-size:14px}.nav>a,.nav .dropdown>button{padding:14px 0}.dropdown-menu{min-width:0}.dropdown-menu a{font-size:13px}.hero-main{grid-template-columns:1fr;min-height:0;padding:56px 0 46px;gap:54px}.hero h1{font-size:clamp(48px,8vw,68px)}.hero-copy p{font-size:18px}.hero-art{width:min(440px,calc(100% - 24px));height:auto;min-height:0;margin:auto}.security-art{height:100%}.hero-art .art-badge.bottom{bottom:30px}.hero-actions{margin:28px 0 0}.hero-promises{margin-top:38px}.service-strip{font-size:9px;justify-content:center;gap:20px}.section{padding:80px 0}.section-head{display:block;margin-bottom:42px}.section-head .section-intro{margin-top:24px;max-width:560px}h2{font-size:clamp(38px,6.5vw,56px)}.solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solution-card,.solution-card.wide{min-height:350px;padding:26px}.card-top,.wide .card-top{margin-bottom:42px}.solution-card h3{font-size:23px}.wide p{margin:0 0 22px}.wide .card-end{padding-top:22px}.split{grid-template-columns:1fr}.steps{display:block}.step{grid-template-columns:54px 1fr 44px;gap:6px 16px}.step h3{font-size:25px}.step p{font-size:15px}.maintenance{padding:0 0 80px}.maintenance>.wrap{grid-template-columns:1fr;padding:40px;gap:40px}.temporary-grid{grid-template-columns:1fr}.temporary-form .field-row{grid-template-columns:1fr 1fr;gap:16px}.contact-grid{grid-template-columns:1fr;gap:44px}.contact-form{padding:36px}.form-heading{font-size:27px}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.header-inner{gap:8px}.brand{gap:7px}.brand-type{font-size:18px;letter-spacing:-.8px}.brand-type small{font-size:6px;letter-spacing:1.2px}.brand-mark{width:31px;height:40px}.btn.small{font-size:11px;padding:10px 12px}.menu-toggle{padding:5px}.menu-toggle svg{width:22px;height:22px}.hero-main{padding:44px 0 40px;gap:44px}.hero h1{font-size:clamp(43px,10.9vw,52px)}.hero .eyebrow{font-size:10px;letter-spacing:1.3px;gap:8px}.hero-copy p{font-size:17px;line-height:1.65}.hero-actions{display:flex;align-items:flex-start;gap:16px;margin:28px 0 0}.hero-actions .text-link{margin:0;font-size:14px}.hero-actions .btn{font-size:14px;padding:14px 20px}.hero-promises{margin-top:34px}.hero-promises span{font-size:10px}.hero-promises b{font-size:10px}.hero-art{aspect-ratio:.88;min-height:0}.security-art{height:100%}.art-badge{left:-10px;top:22px;padding:10px 12px}.art-badge span{font-size:8px}.art-badge strong{font-size:10px}.hero-art .art-badge.bottom{right:-10px;bottom:24px}.service-strip{font-size:8px;letter-spacing:.9px;gap:14px;padding:22px 0}.section{padding:64px 0}.eyebrow{font-size:11px;letter-spacing:1.6px}.section-head{margin-bottom:36px}.section-intro{font-size:16px}h2{font-size:40px;letter-spacing:-.055em}.solutions-grid{grid-template-columns:1fr;gap:16px}.solution-card,.solution-card.wide{min-height:330px;padding:28px}.card-top,.wide .card-top{margin-bottom:40px}.solution-card h3{font-size:24px}.solution-card p{font-size:15px}.card-number{font-size:11px}.card-end{font-size:13px}.split-copy>p{font-size:16px}.reason h3{font-size:18px}.reason p{font-size:14px}.method .section-head{margin-bottom:36px}.step{grid-template-columns:30px 1fr 30px;gap:6px 12px;padding:22px 0;min-height:142px}.step>span{font-size:12px}.step h3{font-size:22px;line-height:1.25}.step p{font-size:14px;line-height:1.55}.step:after{width:30px;height:30px;font-size:16px}.maintenance{padding:0 0 64px}.maintenance>.wrap{padding:32px 24px;border-radius:18px}.maintenance-panel{padding:24px}.temporary-form .field-row{grid-template-columns:1fr;gap:0}.contact-form{padding:28px}.field-row{grid-template-columns:1fr;gap:0}.form-heading,.temporary-form .form-heading{font-size:25px}.contact-grid{gap:36px}.partners p{font-size:16px}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero h1{font-size:43px}.detail-hero .hero-actions{gap:16px}.footer{padding-bottom:90px}}
@media(max-width:380px){.brand-type{font-size:16px}.brand-mark{width:27px}.btn.small{font-size:10px;padding:10px}.menu-toggle{padding:3px}.header-inner{gap:6px}.hero-actions{flex-direction:column}.hero h1{font-size:43px}}
