/* omacorp.fr — identité Instrument : graphite chaud, crème, aiguille bleue ; titres Michroma */
@font-face{font-family:Michroma;src:url(fonts/michroma-latin.woff2) format("woff2");font-display:swap}
@font-face{font-family:Jost;font-weight:100 900;src:url(fonts/jost-latin-wght-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Archivo;font-weight:100 900;src:url(fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"JetBrains Mono";font-weight:100 900;src:url(fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");font-display:swap}
:root{--black:#000;--ground:#1B1A18;--card:#2B2A27;--sub:#33322E;--hair:#575550;--hair2:#42403C;
  --cream:#F4F3EF;--cream2:#CBC9C2;--cream3:#ABAAA4;--needle:#7FA1E8;--compass:#D96A5E;--compass-l:#F08C80;--atlas:#3FA98A;--atlas-l:#66C4A8;
  --w:1180px;--pad:clamp(20px,4vw,48px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ground);color:var(--cream);font:17px/1.6 Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.mono{font-family:"JetBrains Mono",monospace}
.k{font:12px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--cream3)}
h1,h2,.mi{font-family:Michroma,sans-serif;font-weight:400;letter-spacing:.16em;text-transform:uppercase}
h1{font-size:clamp(34px,6vw,64px);line-height:1.05}
h2{font-size:clamp(18px,2.2vw,24px);line-height:1.3;margin-bottom:18px}
h3{font:600 21px/1.3 Jost,sans-serif;margin-bottom:8px}
p{color:var(--cream2)}
.lead{font:400 clamp(19px,2vw,23px)/1.5 Jost,sans-serif;color:var(--cream2);max-width:760px}
.promise{font:500 clamp(28px,4vw,46px)/1.15 Jost,sans-serif;color:var(--cream);max-width:900px}
/* en-tête */
header.top{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair2)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;font:14px Michroma;letter-spacing:.24em;text-decoration:none;color:var(--cream)}
.brand img{width:28px;height:28px}
nav.main{display:flex;gap:28px;align-items:center;font-size:15px}
nav.main a{text-decoration:none;color:var(--cream2)}
nav.main a:hover,nav.main a[aria-current]{color:var(--cream)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 15px Archivo;text-decoration:none;padding:12px 20px;border:1px solid var(--cream);background:var(--cream);color:#0B0B0C;border-radius:2px;cursor:pointer}
.btn:hover{background:#fff}
.btn.ghost{background:transparent;color:var(--cream);border-color:var(--hair)}
.btn.ghost:hover{border-color:var(--cream)}
.btn.sm{padding:8px 14px;font-size:14px}
/* sections */
section{padding:96px 0;border-top:1px solid var(--hair2)}
section.hero{border-top:none;padding:88px 0 72px}
.hero .k{margin-bottom:28px}
.hero .lead{margin:26px 0 36px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--cream);border-bottom:1px solid var(--hair)}
@media (max-width:900px){.grid2,.grid3{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}nav.main a.hide-s{display:none}}
.card{background:var(--card);border:1px solid var(--hair2);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}
.card .body{padding:30px 30px 32px;display:flex;flex-direction:column;gap:14px;flex:1}
.card .shot{border-bottom:1px solid var(--hair2);aspect-ratio:16/9;overflow:hidden;background:#000}
.card .shot img{width:100%;height:100%;object-fit:cover;object-position:left top}
.prod{display:flex;align-items:center;gap:16px}
.prod .ic{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;flex:none}
.prod .ic img{width:38px;height:38px}
.prod .nm{font:22px Michroma;letter-spacing:.16em}
.prod .tg{font:15px Jost;color:var(--cream3)}
.card .actions{margin-top:auto;padding-top:10px}
.fig{padding:30px 22px 28px 0}
.fig+.fig{padding-left:22px;border-left:1px solid var(--hair2)}
.fig b{display:block;font:500 46px/1 "JetBrains Mono",monospace;letter-spacing:-.03em;color:var(--cream)}
.fig span{display:block;margin-top:12px;font-size:15px;color:var(--cream2);line-height:1.45}
.rule{height:3px;width:44px;background:var(--needle);margin-bottom:18px}
ul.dash{list-style:none}
ul.dash li{padding-left:22px;position:relative;margin-bottom:10px;color:var(--cream2)}
ul.dash li::before{content:"";position:absolute;left:0;top:13px;width:10px;height:2px;background:var(--acc,var(--needle))}
ul.dash li b{color:var(--cream);font-weight:600}
.frame{border:1px solid var(--hair);border-radius:4px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.cap{font:12.5px "JetBrains Mono",monospace;color:var(--cream3);margin-top:12px}
.pill{display:inline-block;font:12px "JetBrains Mono",monospace;letter-spacing:.06em;border:1px solid var(--hair);color:var(--cream2);padding:4px 10px;border-radius:2px}
table.spec{width:100%;border-collapse:collapse}
table.spec th{width:220px;text-align:left;vertical-align:top;font:13px Michroma;letter-spacing:.12em;text-transform:uppercase;padding:18px 24px 18px 0;color:var(--cream)}
table.spec td{padding:18px 0;color:var(--cream2)}
table.spec tr{border-bottom:1px solid var(--hair2)}
table.spec tr:first-child{border-top:1px solid var(--hair2)}
@media (max-width:700px){table.spec th{width:auto;display:block;padding-bottom:4px}table.spec td{display:block;padding-top:0}}
.band{background:#000}
.cta{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
@media (max-width:900px){.cta{grid-template-columns:1fr}}
footer{border-top:1px solid var(--hair2);padding:40px 0 56px;font-size:14px;color:var(--cream3)}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:var(--cream2);text-decoration:none;margin-left:22px}
footer a:hover{color:var(--cream)}
.prose{max-width:760px}
.prose h2{margin-top:44px}
.prose p{margin-bottom:14px}
/* portail de code (pages servies par le portail) */
body.gate{min-height:100vh;display:grid;place-items:center;padding:24px}
.gate-card{width:min(560px,100%);background:var(--card);border:1px solid var(--hair2);border-radius:4px;padding:44px 40px}
.gate-card .brand{margin-bottom:34px}
.gate-card h1{font-size:22px;margin-bottom:12px}
.gate-card form{display:flex;gap:10px;margin-top:22px}
.gate-card input{flex:1;font:18px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;background:#1B1A18;color:var(--cream);border:1px solid var(--hair);padding:12px 14px;border-radius:2px}
.gate-card input:focus{outline:2px solid var(--needle);outline-offset:1px}
.gate-card .err{color:#FF7A7A;margin-top:14px}
.demo{border-top:1px solid var(--hair2);padding:26px 0}
.demo:last-of-type{border-bottom:1px solid var(--hair2)}
.demo .prod{margin-bottom:12px}
.demo dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:15px;margin:12px 0 16px;color:var(--cream2)}
.demo dt{color:var(--cream3)}
.demo dd code{font:14px "JetBrains Mono",monospace;color:var(--cream);background:#1B1A18;border:1px solid var(--hair2);padding:1px 7px;border-radius:2px}
.muted{color:var(--cream3);font-size:14px}
@media (max-width:640px){nav.main a:not(.btn){display:none}.brand{letter-spacing:.18em}.fig b{font-size:36px}section{padding:64px 0}}
