/* OrvixLabs v1.4 */
:root{--bg:#0B1220;--panel:rgba(255,255,255,.03);--border:rgba(255,255,255,.08);--text:#E6E9F0;--muted:#9AA3B2;--accent:#2FE38C}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.container{width:min(1080px,92vw);margin:0 auto}
.site-header{position:sticky;top:0;background:rgba(11,18,32,.92);border-bottom:1px solid rgba(255,255,255,.06);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;min-width:140px}
.brand-mark{width:16px;height:16px;border-radius:999px;background:linear-gradient(180deg, rgba(47,227,140,.35), rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.18)}
.brand-name{letter-spacing:.12em;text-transform:uppercase;font-size:12px;opacity:.95}
.nav{display:flex;align-items:center;gap:18px}
.nav-link{color:var(--muted);font-size:14px;line-height:1;display:inline-flex;align-items:center;padding:10px 0}
.nav-link:hover{color:var(--text)}
.nav-cta{color:var(--text);border:1px solid rgba(47,227,140,.35);padding:10px 12px;border-radius:10px;line-height:1;display:inline-flex;align-items:center}
.nav-cta:hover{border-color:rgba(47,227,140,.7)}
.lang-switch{display:flex;gap:8px;align-items:center}
.lang-switch a{padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:12px;line-height:1;display:inline-flex;align-items:center}
.lang-switch a.active{border-color:rgba(47,227,140,.55);color:var(--text)}
.hero{min-height:84vh;display:flex;align-items:center;padding:46px 0}
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.hero-media{width:min(420px,72vw);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.hero-video{width:100%;height:100%;object-fit:cover;border-radius:999px;box-shadow:0 30px 120px rgba(0,0,0,.55);border:1px solid var(--border);background:var(--bg)}
.hero-title{margin:0;font-weight:600;letter-spacing:-0.02em;line-height:1.05;font-size:clamp(34px,4vw,56px)}
.hero-title span{display:block}
.hero-sub{margin:0;color:var(--muted);max-width:860px;line-height:1.6;font-size:16px}
.hero-cta{margin-top:6px}
.btn-primary{background:var(--accent);color:#061018;padding:14px 18px;border-radius:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer}
.btn-primary:hover{filter:brightness(1.05)}
.btn-secondary{border:1px solid rgba(47,227,140,.45);padding:12px 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}
.btn-secondary:hover{border-color:rgba(47,227,140,.7)}
.section{padding:56px 0;border-top:1px solid rgba(255,255,255,.06)}
.section-title{margin:0 0 12px 0;font-size:22px;letter-spacing:-0.01em}
.muted{color:var(--muted);line-height:1.65}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:rgba(230,233,240,.92);line-height:1.55}
.arch-block{border-left:2px solid rgba(47,227,140,.45);padding-left:16px;margin:18px 0}
.arch-block p{margin:0 0 10px 0;line-height:1.7;color:var(--muted)}
.arch-block p:last-child{margin-bottom:0}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px}
.card h3{margin:0 0 8px 0}
.card p{margin:0}
.system-motion{width:100%;max-width:960px;margin:0 auto;display:block;border-radius:18px;border:1px solid var(--border);background:var(--bg)}
.media-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}
.media-item{border:1px solid var(--border);border-radius:16px;background:var(--panel);padding:12px}
.media-label{color:var(--muted);font-size:12px;margin-bottom:10px}
.media-img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.06)}
.clean-list{margin:10px 0 0 18px;color:var(--muted);line-height:1.7}
.clean-list li{margin:6px 0}
.page-head{padding:44px 0 22px;border-bottom:1px solid rgba(255,255,255,.06)}
.page-title{margin:0;font-size:34px;letter-spacing:-0.02em}
.page-sub{margin:10px 0 0;color:var(--muted);max-width:860px;line-height:1.6}
.timeline{display:flex;flex-direction:column;gap:12px}
.step{display:flex;gap:14px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}
.step-num{width:44px;height:44px;border-radius:14px;background:rgba(47,227,140,.12);border:1px solid rgba(47,227,140,.25);display:flex;align-items:center;justify-content:center;font-weight:800}
.step-title{font-weight:800;margin-bottom:4px}
.step-text{color:var(--muted);line-height:1.6}
.form{max-width:820px}
.form-grid{margin-bottom:10px}
.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
label{color:var(--muted);font-size:13px}
input,select,textarea{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.10);border-radius:12px;padding:12px;color:var(--text);outline:none}
select{appearance:auto;-webkit-appearance:menulist}
select option{color:#0B1220;background:#FFFFFF}
input:focus,select:focus,textarea:focus{border-color:rgba(47,227,140,.55)}
.checks{display:flex;flex-wrap:wrap;gap:12px}
.checks label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px}
.notice{padding:12px 14px;border-radius:14px;background:rgba(47,227,140,.10);border:1px solid rgba(47,227,140,.22);margin-bottom:14px;color:rgba(230,233,240,.95)}
.faq{display:flex;flex-direction:column;gap:10px}
.faq-item{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:12px}
.faq-item summary{cursor:pointer;font-weight:700;color:rgba(230,233,240,.95)}
.faq-body{margin-top:10px;color:var(--muted);line-height:1.7}
.news-list{display:flex;flex-direction:column;gap:14px}
.news-meta{color:var(--muted);font-size:12px;margin-bottom:6px}
.news-title{margin:0 0 6px 0}
.cta-row{margin-top:18px}
.site-footer{padding:26px 0;border-top:1px solid rgba(255,255,255,.06)}
.footer-inner{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}
.footer-small{opacity:.8}
@media(max-width:1020px){.nav{display:none}}
@media(max-width:860px){.grid-2{grid-template-columns:1fr}.media-strip{grid-template-columns:1fr}.hero{min-height:auto;padding:34px 0}}

/* v1.6 hero layout lock */
.hero-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.hero-cta{margin-top:6px;display:flex;justify-content:center}

/* v1.7 mobile navigation */
.menu-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer}
.menu-bars{display:block;width:18px;height:2px;background:rgba(230,233,240,.92);border-radius:2px;position:relative}
.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:rgba(230,233,240,.92);border-radius:2px}
.menu-bars:before{top:-6px}
.menu-bars:after{top:6px}

.mobile-nav{position:fixed;inset:0;z-index:80;display:none;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.mobile-nav.open{display:block}
.mobile-nav-inner{position:absolute;right:0;top:0;height:100%;width:min(360px,88vw);background:rgba(11,18,32,.98);border-left:1px solid rgba(255,255,255,.08);padding:18px;display:flex;flex-direction:column;gap:10px}
.mobile-nav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.mobile-nav-title{letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--muted)}
.mobile-close{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer}
.mobile-link{padding:12px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);color:rgba(230,233,240,.95)}
.mobile-link:hover{border-color:rgba(47,227,140,.35)}
.mobile-cta{border-color:rgba(47,227,140,.35)}
.mobile-lang{margin-top:auto;display:flex;gap:10px}
.mobile-pill{flex:1;text-align:center;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);color:var(--muted)}
.mobile-pill:hover{border-color:rgba(47,227,140,.35);color:var(--text)}

@media(max-width:1020px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
}

/* v1.9 systems CTA alignment */
.cta-row{
  margin-top: 22px;
  display: flex;
  justify-content: center;
}
.cta-inline{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  transform: none !important;
}
@media(max-width: 720px){
  .cta-row{justify-content: stretch}
  .cta-row .cta-inline{width: 100%; text-align:center}
}

/* Manifesto positioning updates */
.hero-rule{
  margin: 14px 0 0;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255,255,255,0.92);
}
.hero-anchor{
  margin: 10px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
  font-style: italic;
}
.principles, .notfor{
  margin: 18px 0 0;
  padding-left: 18px;
}
.principles li, .notfor li{
  margin: 10px 0;
}
.section-title.small{
  font-size: 18px;
  margin-bottom: 8px;
}

/* v12.1 dual manifesto layout */
.work-dual-grid{ align-items: start; }
.work-dual .work-col{ padding: 6px 0; }
@media(max-width: 900px){
  .work-dual-grid{ grid-template-columns: 1fr !important; }
}



/* --- Cases: prevent image stretching/deformation --- */
.cases-grid{ gap:18px; }

/* if any global rule sets img{height:100%} this will override for case images */
.case-img, .case-hero-img{
  width:100% !important;
  height:auto !important;
  display:block;
  background: rgba(7,18,31,.35);
}

/* Card thumbnails */
.case-img{
  max-height:220px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
}

/* Case page hero diagram */
.case-hero-img{
  max-height:560px;
  object-fit:contain;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
}

/* Avoid any container forcing stretch */
.card img{ max-width:100%; }
.card{ overflow:hidden; }

@media(max-width: 900px){
  .case-img{ max-height:180px; }
  .case-hero-img{ max-height:420px; }
}
/* --- end Cases overrides --- */
