/* ======================================================
   OMNIA — Brutalist shared styles
   Used across homepage + service pages + work + contact
   ====================================================== */
:root{
  --purple:#A375FF;
  --paper:#EDE7DB;
  --ink:#0A0A0A;
  --amber:#E8A341;
  --green:#5FD3A3;
  --red:#D73F3F;
  --rule:#0A0A0A;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --display:'Instrument Serif',serif;
  --body:'Inter',system-ui,sans-serif;
  --dens:1;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--mono);font-weight:400;font-size:13px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    linear-gradient(to right,rgba(10,10,10,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(10,10,10,.05) 1px,transparent 1px);
  background-size:32px 32px;
}
body.bg-dark{--paper:#0A0A0A;--ink:#EDE7DB;--rule:#EDE7DB;background-image:
    linear-gradient(to right,rgba(237,231,219,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(237,231,219,.05) 1px,transparent 1px)}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--purple)}
/* Prevent iOS from rendering arrow characters as emoji */
.arrow,.arr,.faq-toggle{font-variant-emoji:text}
.serif-em{font-family:var(--display);font-style:italic;color:var(--purple)}

/* =========== HEADER =========== */
.top{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr 1fr 1fr;padding:20px 28px;border-bottom:1px solid var(--rule);background:var(--paper);align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.top .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:24px;text-transform:none;letter-spacing:-.01em}
.top .brand svg{width:22px;height:22px}
.top .middle{display:flex;justify-content:center;gap:28px}
.top .middle a{position:relative}
.top .middle a.active{color:var(--purple)}
.top .middle a:hover{background:var(--purple);color:var(--paper);padding:2px 6px;margin:-2px -6px}
.top .right{display:flex;justify-content:flex-end;gap:20px;align-items:center}
.top .right .clock{opacity:.6}
.top .right .cta{border:1px solid var(--rule);padding:8px 14px;display:inline-flex;align-items:center;gap:8px}
.top .right .cta:hover{background:var(--ink);color:var(--paper)}
.top .right .cta .dot{width:6px;height:6px;border-radius:50%;background:var(--purple);display:inline-block;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}

/* Corner registration marks */
.reg{position:absolute;width:14px;height:14px;pointer-events:none}
.reg::before,.reg::after{content:'';position:absolute;background:var(--rule)}
.reg::before{top:50%;left:0;right:0;height:1px}
.reg::after{top:0;bottom:0;left:50%;width:1px}
.reg.tl{top:14px;left:14px}.reg.tr{top:14px;right:14px}
.reg.bl{bottom:14px;left:14px}.reg.br{bottom:14px;right:14px}

/* =========== PAGE HEAD (service/work/contact pages) =========== */
.page{padding:100px 28px 40px;border-bottom:1px solid var(--rule);position:relative}
.page .crumbs{display:grid;grid-template-columns:60px 1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--rule);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:calc(40px * var(--dens))}
.page .crumbs span:first-child{font-weight:500}
.page h1.pageTitle{font-family:var(--display);font-weight:400;font-size:clamp(64px,13vw,200px);line-height:.86;letter-spacing:-.04em;margin:0 0 calc(32px * var(--dens))}
.page h1.pageTitle em{font-style:italic;color:var(--purple)}
.page .lede{font-family:var(--body);font-size:clamp(18px,1.6vw,22px);line-height:1.45;max-width:68ch;margin-bottom:calc(40px * var(--dens))}
.page .dossier{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-top:calc(28px * var(--dens));border-top:1px solid var(--rule)}
.page .dossier h4{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;opacity:.6;font-weight:500}
.page .dossier .val{font-family:var(--display);font-size:28px;line-height:1;letter-spacing:-.02em}
.page .dossier .body{font-family:var(--body);font-size:14px;line-height:1.55}
@media (max-width:900px){.page .dossier{grid-template-columns:1fr 1fr}}

/* =========== TICKER =========== */
.ticker{border-bottom:1px solid var(--rule);padding:26px 0;overflow:hidden;background:var(--ink);color:var(--paper)}
.ticker-track{display:flex;gap:60px;white-space:nowrap;animation:tick 40s linear infinite;font-family:var(--display);font-size:44px;letter-spacing:-.01em}
.ticker-track em{font-style:italic;color:var(--purple)}
@keyframes tick{to{transform:translateX(-50%)}}

/* =========== SECTION SCAFFOLD =========== */
.sec{padding:calc(100px * var(--dens)) 28px;border-bottom:1px solid var(--rule)}
.sec-head{display:grid;grid-template-columns:200px 1fr 1fr;gap:40px;padding-bottom:calc(50px * var(--dens));border-bottom:1px solid var(--rule);margin-bottom:calc(50px * var(--dens))}
.sec-head .k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.sec-head h2{font-family:var(--display);font-size:clamp(44px,6.5vw,92px);line-height:.9;letter-spacing:-.025em;font-weight:400}
.sec-head h2 em{font-style:italic;color:var(--purple)}
.sec-head p{font-family:var(--body);font-size:17px;line-height:1.55;max-width:42ch;align-self:end}
@media (max-width:900px){.sec-head{grid-template-columns:1fr;gap:16px}}

/* =========== CTA (bottom of every page) =========== */
.cta-end{padding:calc(130px * var(--dens)) 28px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.cta-end .l h2{font-family:var(--display);font-size:clamp(52px,8.4vw,128px);line-height:.88;letter-spacing:-.03em;font-weight:400}
.cta-end .l h2 em{font-style:italic;color:var(--purple)}
.cta-end .r{font-family:var(--body);font-size:16px;line-height:1.6}
.cta-end .r p{max-width:42ch;margin-bottom:30px}
.cta-end .r .btn{display:inline-flex;align-items:center;gap:14px;padding:22px 28px;border:1.5px solid var(--rule);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:all .3s;background:var(--paper)}
.cta-end .r .btn:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--rule)}
.cta-end .r .btn .arr{font-family:var(--display);font-size:24px;transform:rotate(-45deg);transition:transform .3s;line-height:1}
.cta-end .r .btn:hover .arr{transform:rotate(0deg);color:var(--purple)}
.cta-end .r .info{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:24px;border-top:1px solid var(--rule)}
.cta-end .r .info b{display:block;font-family:var(--display);font-size:20px;font-weight:400;letter-spacing:-.01em;text-transform:none;margin-top:4px}
@media (max-width:900px){.cta-end{grid-template-columns:1fr}}

/* =========== FOOTER =========== */
footer{padding:60px 28px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--rule)}
.f-brand{font-family:var(--display);font-size:clamp(72px,12vw,160px);line-height:.85;letter-spacing:-.04em;text-transform:none}
.f-brand em{font-style:italic;color:var(--purple)}
.f-col h5{margin-bottom:18px;opacity:.6;font-weight:500}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.f-col a{text-transform:none;font-family:var(--body);font-size:14px;letter-spacing:normal}
.f-col a:hover{color:var(--purple)}
.f-bot{display:flex;justify-content:space-between;padding-top:24px;opacity:.6}
/* =========== HAMBURGER BUTTON =========== */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:8px 10px;border:1px solid var(--rule);background:none;flex-shrink:0}
.burger span{display:block;width:18px;height:1.5px;background:var(--rule);transition:transform .25s,opacity .25s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* =========== MOBILE NAV OVERLAY =========== */
.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;background:var(--paper);padding:72px 24px 40px;flex-direction:column;overflow-y:auto;
  background-image:linear-gradient(to right,rgba(10,10,10,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,10,10,.05) 1px,transparent 1px);background-size:32px 32px}
.mobile-nav.open{display:flex}
.mobile-nav a{font-family:var(--display);font-size:clamp(40px,11vw,60px);line-height:1;letter-spacing:-.025em;padding:18px 0;border-bottom:1px solid var(--rule);display:block;transition:color .2s}
.mobile-nav a:active{color:var(--purple)}
.mobile-nav .mob-cta{margin-top:32px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;padding:18px 24px;border:1.5px solid var(--rule);background:var(--ink);color:var(--paper)}
.mobile-nav .mob-cta .dot{width:6px;height:6px;border-radius:50%;background:var(--purple);animation:blink 1.6s infinite}

@media (max-width:900px){
  .burger{display:flex}
  .top{grid-template-columns:1fr auto;gap:12px}.top .middle{display:none}.top .right .clock{display:none}.top .right .cta{display:none}
  .f-top{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}
  .page h1.pageTitle{font-size:clamp(52px,14vw,200px)}
  .sec-head{grid-template-columns:1fr;gap:16px}
  .cta-end{grid-template-columns:1fr}
}

@media (max-width:600px){
  .top{padding:16px}
  .page{padding:80px 16px 32px}
  .page .crumbs{grid-template-columns:48px 1fr;gap:12px}
  .page .dossier{grid-template-columns:1fr;gap:24px}
  .sec{padding:60px 16px}
  .sec-head{gap:12px}
  .ticker-track{font-size:32px;gap:32px}
  .step{padding:20px 16px}
  .faq-item{padding:16px 0}
  .cta-end{padding:72px 16px}
  .cta-end .r .info{grid-template-columns:1fr;gap:12px}
  footer{padding:36px 16px 20px}
  .f-top{grid-template-columns:1fr 1fr;gap:20px 16px}
  .f-brand{grid-column:1/-1;font-size:clamp(48px,14vw,90px)}
  .f-bot{flex-direction:column;gap:4px;font-size:10px}
  .inflight-label{padding:0 12px;font-size:10px;letter-spacing:.1em}
}

/* =========== IN-FLIGHT STRIP (homepage) =========== */
.strip{background:var(--ink);color:var(--paper);overflow:hidden;border-bottom:1px solid var(--rule);position:relative}
.strip .label{position:absolute;left:0;top:0;bottom:0;z-index:2;padding:0 20px;display:flex;align-items:center;gap:8px;background:var(--purple);color:var(--ink);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;font-family:var(--mono)}
.strip .label::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ink);animation:blink 1.4s infinite}
.strip-track{display:flex;gap:48px;padding:18px 0 18px 180px;white-space:nowrap;animation:slide 70s linear infinite;font-size:13px;letter-spacing:.04em;font-family:var(--mono)}
.strip-track .item{display:inline-flex;align-items:center;gap:12px}
.strip-track .item .dot{width:6px;height:6px;border-radius:50%;background:var(--amber)}
.strip-track .item.launching .dot{background:var(--green)}
.strip-track .item.landed .dot{background:#666}
.strip-track .item.discovery .dot{background:var(--purple)}
.strip-track .item b{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:-.01em}
.strip-track .sep{opacity:.3}
@keyframes slide{to{transform:translateX(-50%)}}
</content>
