/* armoire.online - site public. Graphite sobre, typographie mesuree, filigrane du rhinoceros OrdiCloud, une feuille de dessin claire comme seul point lumineux. */
:root{--bg:#0E1112;--bg2:#131718;--panel:#171C1D;--ink:#ECEFEC;--ink2:#A3ADA9;--ink3:#7D8884;--line:#252C2C;--line2:#323B3A;
  --accent:#F0B52A;--acc-ink:#1E1600;--paper:#F4F5F1;--err:#F29A90;--ok:#7CC79A;
  --f-disp:"Barlow Condensed","Arial Narrow",sans-serif;--f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}
body::before{content:"";position:fixed;z-index:0;right:-6vw;bottom:-8vh;width:min(72vw,900px);aspect-ratio:432/173;background:url(/assets/ordicloud-white.png) no-repeat center/contain;opacity:.035;pointer-events:none}
main,.nav,.foot{position:relative;z-index:1}
main{flex:1}
a{color:var(--ink)}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(28px,3.6vw,40px);line-height:1.12}
h2{font-size:clamp(20px,2.2vw,24px);line-height:1.2}
h3{font-size:15px;line-height:1.3}
p{margin:0}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Navigation */
.nav{position:sticky;top:0;z-index:10;background:rgba(14,17,18,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
body::after{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:11}
.navin{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px}
.nlogo{display:flex;align-items:center;gap:10px;text-decoration:none}
.nlogo img{height:30px;width:auto}
.nlogo span{font-family:var(--f-disp);font-size:19px;font-weight:500;letter-spacing:.03em;border-left:1px solid var(--line2);padding-left:10px;color:var(--ink)}
.nlogo b{color:var(--accent);font-weight:500}
.nav nav{display:flex;align-items:center;gap:2px}
.nav nav a{text-decoration:none;color:var(--ink2);font-size:13.5px;padding:7px 11px;border-radius:4px}
.nav nav a:hover{color:var(--ink);background:var(--panel)}
.nav nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0}
.nav nav .nbtn{margin-left:8px;border:1px solid var(--line2);color:var(--ink)}
.navt,.navb{display:none}
@media(max-width:820px){
  .navb{display:flex;flex-direction:column;gap:4px;padding:10px;cursor:pointer}
  .navb i{display:block;width:20px;height:2px;background:var(--ink)}
  .nav nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--bg2);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 14px max(20px,env(safe-area-inset-left,0px))}
  .navt:checked~nav{display:flex}
  .nav nav a{padding:10px 4px;font-size:15px}
  .nav nav .nbtn{margin:8px 0 0;text-align:center}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 16px;border-radius:4px;border:1px solid var(--line2);background:transparent;color:var(--ink);font:600 13.5px/1 var(--f-body);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--ink3);background:var(--panel)}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--acc-ink)}
.btn.pri:hover{filter:brightness(1.05);background:var(--accent)}

/* Sections */
.eyebrow{font-family:var(--f-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:12px}
.lead{font-size:16px;color:var(--ink2);max-width:62ch;margin-top:14px}
.hero{padding-block:64px 56px;border-bottom:1px solid var(--line)}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
@media(max-width:900px){.hgrid{grid-template-columns:minmax(0,1fr);gap:36px}.hero{padding-block:40px}}
.ctas{margin-top:26px}
.ticks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink3)}
.ticks li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:2px}
.hshot{margin:0}
.sheet{background:var(--paper);color:#1C2425;border-radius:3px;padding:12px 14px 8px;box-shadow:0 24px 48px -24px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04)}
.sheethead{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10.5px;color:#5a6563;border-bottom:1px solid #d4d9d4;padding-bottom:6px;margin-bottom:8px}
.sheet svg{display:block;width:100%;height:auto}
.sheet .w{fill:#E9ECE7}.sheet rect{stroke:#1C2425;stroke-width:1}
.sheet .up rect{fill:#F8F8F4}.sheet .base rect{fill:#3E5A4E}.sheet .base .app{fill:#C4C8CA}
.sheet .tall{fill:#C4C8CA}.sheet .win{fill:#BCD3DC}.sheet .ct{fill:#ECEBE6}.sheet .l{stroke:#1C2425;stroke-width:1}
.sheet .floor{stroke:#1C2425;stroke-width:2.2}.sheet .dim line{stroke:#2B6888;stroke-width:.8}.sheet .dim text{fill:#2B6888;font:500 9.5px var(--f-mono);text-anchor:middle}
.hshot figcaption{font-size:12.5px;color:var(--ink3);margin-top:14px;max-width:56ch}
.pagehead{padding-block:52px 40px;border-bottom:1px solid var(--line)}
.sec{padding-block:56px;border-bottom:1px solid var(--line)}
.sec.alt{background:rgba(19,23,24,.7)}
.sechead{margin-bottom:28px;max-width:640px}
.sechead p{color:var(--ink2);margin-top:8px}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media(max-width:820px){.trio{grid-template-columns:minmax(0,1fr)}}
.trio article{display:flex;flex-direction:column;gap:8px;padding-top:18px;border-top:1px solid var(--line2)}
.trio svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trio p{color:var(--ink2);font-size:14px}
.trio a{font-size:13px;color:var(--ink);text-decoration:none;margin-top:4px}
.trio a:hover{color:var(--accent)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media(max-width:820px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts div{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--accent);padding-left:14px}
.facts b{font-size:22px;font-weight:500}
.facts span{font-size:13px;color:var(--ink2)}
.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:48px}
@media(max-width:860px){.split{grid-template-columns:minmax(0,1fr);gap:20px}}
.splith p{color:var(--ink2);margin-top:8px;font-size:14px}
.flist{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px}
@media(max-width:600px){.flist{grid-template-columns:minmax(0,1fr)}}
.flist div{border-top:1px solid var(--line2);padding-top:12px}
.flist dt{font-weight:600;font-size:14.5px}
.flist dd{margin:4px 0 0;color:var(--ink2);font-size:13.5px}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.steps li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.steps li:first-child{border-top:1px solid var(--line)}
.steps .num{color:var(--accent);font-size:13px}
.steps p{color:var(--ink2);font-size:14px;margin-top:4px;max-width:70ch}
.steps .who{font-size:12px;color:var(--ink3);font-family:var(--f-mono);white-space:nowrap}
@media(max-width:600px){.steps li{grid-template-columns:40px minmax(0,1fr)}.steps .who{grid-column:2}}
.tblw{overflow-x:auto}
.rtbl{width:100%;border-collapse:collapse;font-size:14px}
.rtbl th,.rtbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.rtbl th{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);font-weight:500}
.rtbl td:first-child{font-weight:600;white-space:nowrap}
.rtbl td:last-child{color:var(--ink2)}
.cta{padding-block:44px}
.ctain{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;border:1px solid var(--line2);border-radius:6px;padding:24px 26px;background:var(--panel)}
.ctain p{color:var(--ink2);font-size:14px;margin-top:6px;max-width:60ch}

/* Contact */
.cgrid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);gap:48px;align-items:start}
@media(max-width:880px){.cgrid{grid-template-columns:minmax(0,1fr);gap:28px}}
.cinfo h2{font-size:18px}
.mini-steps{margin:14px 0 24px;padding-left:20px;color:var(--ink2);font-size:14px;display:flex;flex-direction:column;gap:8px}
.mini-steps li::marker{color:var(--accent);font-family:var(--f-mono);font-size:12px}
.cdl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13.5px;border-top:1px solid var(--line);padding-top:16px}
.cdl dt{color:var(--ink3)}
.cdl dd{margin:0}
.formcard{position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line2);border-radius:6px;padding:26px 28px}
.formcard::before{content:"";position:absolute;inset:auto -60px -40px auto;width:440px;aspect-ratio:432/173;background:url(/assets/ordicloud-white.png) no-repeat center/contain;opacity:.05;pointer-events:none}
.formcard>*{position:relative}
@media(max-width:560px){.formcard{padding:20px 16px}}
.formcard form{display:flex;flex-direction:column;gap:18px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin-bottom:10px;padding:0}
.fg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:560px){.fg2{grid-template-columns:minmax(0,1fr)}}
.ff{display:flex;flex-direction:column;gap:5px;min-width:0}
.ff.full{grid-column:1/-1}
.ff span{font-size:12.5px;font-weight:600;color:var(--ink2)}
.ff i{color:var(--accent);font-style:normal}
.ff input,.ff select,.ff textarea{font:400 14px/1.4 var(--f-body);color:var(--ink);background:rgba(14,17,18,.75);border:1px solid var(--line2);border-radius:4px;padding:9px 11px;width:100%;min-height:40px}
.ff textarea{resize:vertical;min-height:110px}
.ff input:hover,.ff select:hover,.ff textarea:hover{border-color:var(--ink3)}
.ff input:focus,.ff select:focus,.ff textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(240,181,42,.15)}
.ff [aria-invalid="true"],.fcheck [aria-invalid="true"]{border-color:var(--err)}
.ff ::placeholder{color:var(--ink3)}
.ff select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink2) 50%),linear-gradient(135deg,var(--ink2) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
.ferr{color:var(--err);font-size:12px}
.falert{border:1px solid var(--err);background:rgba(242,154,144,.08);color:var(--ink);border-radius:4px;padding:9px 12px;font-size:13.5px}
.fcheck{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink2)}
.fcheck input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}
.fcheck a{color:var(--ink)}
.factions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.factions small{color:var(--ink3);font-size:12px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok-state{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding-block:20px}
.ok-state svg{width:34px;height:34px;fill:none;stroke:var(--ok);stroke-width:2;border:1px solid var(--ok);border-radius:50%;padding:6px}
.ok-state p{color:var(--ink2)}

/* Legal */
.legal{max-width:760px}
.legal h2{font-size:18px;margin:28px 0 8px}
.legal p,.legal li{color:var(--ink2);font-size:14.5px}
.legal ul{padding-left:20px}

/* Pied */
.foot{border-top:1px solid var(--line);background:var(--bg);padding-top:36px}
.footin{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media(max-width:760px){.footin{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fcol{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--ink2)}
.fcol img{height:28px;width:auto;align-self:flex-start;margin-bottom:6px}
.fcol p{max-width:30ch}
.fcol b{color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-family:var(--f-mono);font-weight:500;margin-bottom:2px}
.fcol a{color:var(--ink2);text-decoration:none}
.fcol a:hover{color:var(--ink)}
.legal-line{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;font-size:12px;color:var(--ink3);border-top:1px solid var(--line);margin-top:28px;padding-block:16px calc(16px + env(safe-area-inset-bottom,0px))}
.legal-line a{color:var(--ink2)}
@media (prefers-reduced-motion:no-preference){.btn,.nav nav a{transition:background-color .15s,border-color .15s,color .15s}}
@media(max-width:880px){.cgrid .formcard{order:-1}}
