:root {
  --bg: #0a0a0a;
  --bg2: #111;
  --bg3: #161616;
  --ivory: #F0EDE6;
  --ivory2: #E8E4DC;
  --ivory3: #D8D3C8;
  --t70: rgba(240,237,230,.70);
  --t45: rgba(240,237,230,.45);
  --t25: rgba(240,237,230,.25);
  --t15: rgba(240,237,230,.15);
  --t08: rgba(240,237,230,.08);
  --t04: rgba(240,237,230,.04);
  --sep: 0.5px solid rgba(240,237,230,.08);
  --mono: 'Geist Mono', monospace;
  --display: 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--ivory); font-family: var(--display); overflow-x: hidden; padding-top: 52px; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-thumb { background: rgba(240,237,230,.1); border-radius: 2px; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes logoPulse { 0%, 100% { opacity: .35; transform: scale(1); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes mq-fwd { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes mq-rev { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.rd1 { transition-delay: .06s; }

.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 52px;
  background: rgba(10,10,10,.92); backdrop-filter: blur(16px); border-bottom: var(--sep);
  display: flex; align-items: center; padding: 0 40px;
}
.logo { font-size: 15px; font-weight: 700; letter-spacing: -.01em; color: var(--ivory); display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-grid { width: 22px; height: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.logo-grid div { background: var(--ivory); border-radius: 2px; }
.nav-links { display: flex; margin-left: 40px; }
.nav-links a { font-size: 13px; font-weight: 500; color: var(--t45); padding: 0 16px; height: 52px; display: flex; align-items: center; text-decoration: none; }
.nav-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.btn-ghost { font-family: var(--mono); font-size: 9px; color: var(--t25); letter-spacing: .1em; padding: 4px 12px; border: var(--sep); border-radius: 3px; text-decoration: none; }
.btn-solid { background: var(--ivory); color: var(--bg); font-size: 13px; font-weight: 600; padding: 7px 18px; border-radius: 3px; text-decoration: none; border: none; }

.container { max-width: 1180px; margin: 0 auto; padding: 32px 24px 80px; }
.sec-label { font-family: var(--mono); font-size: 10px; color: var(--t25); letter-spacing: .18em; text-transform: uppercase; margin-bottom: 16px; }
.sec-title { font-size: clamp(32px,4vw,52px); font-weight: 800; letter-spacing: -.04em; line-height: .95; color: var(--ivory); margin-bottom: 16px; text-transform: uppercase; }
.sec-sub { font-size: 15px; color: var(--t45); letter-spacing: -.01em; line-height: 1.7; max-width: 640px; }
.jobs-value-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.jobs-value-chip{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--t25);padding:6px 10px;border:var(--sep);border-radius:3px;background:var(--t04)}

.toolbar { margin-top: 36px; background: var(--bg2); border: var(--sep); border-radius: 3px; display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 1px; overflow: hidden; }
.toolbar select, .toolbar input {
  width: 100%; background: var(--bg3); border: none; border-radius: 3px; padding: 12px 14px;
  font-family: var(--display); font-size: 13px; color: var(--ivory); outline: none;
}
.toolbar input::placeholder { color: var(--t25); }
.toolbar input:focus, .toolbar select:focus { box-shadow: inset 0 0 0 1px rgba(120,220,160,.45); }
.toolbar select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23BFB9AE' d='M6 8 0 1.5 1.2 0 6 5.2 10.8 0 12 1.5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}

.jobs-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(240,237,230,.06); border-radius: 3px; overflow: hidden; }
.job-card { background: var(--bg); padding: 30px; text-decoration: none; color: inherit; transition: background .12s; }
.job-card:hover { background: var(--t04); }
.job-meta { font-family: var(--mono); font-size: 9px; color: var(--t25); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.job-title { font-size: 24px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; margin-bottom: 10px; color: var(--ivory); }
.job-desc { font-size: 14px; line-height: 1.7; color: var(--t45); }
.tags { margin-top: 18px; display: flex; gap: 8px; flex-wrap: wrap; }
.tag { font-family: var(--mono); font-size: 8px; color: var(--t25); background: var(--t04); border: var(--sep); border-radius: 3px; padding: 3px 8px; letter-spacing: .06em; }

.detail { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1px; background: rgba(240,237,230,.06); border-radius: 3px; overflow: hidden; margin-top: 28px; }
.panel { background: var(--bg); padding: 34px; }
.detail h1 { font-size: clamp(34px,4vw,56px); font-weight: 800; letter-spacing: -.04em; line-height: .95; margin-bottom: 14px; text-transform: uppercase; }
.detail p, .detail li { color: var(--t45); line-height: 1.7; font-size: 14px; }
.detail ul { padding-left: 16px; margin-top: 10px; }
.input { width: 100%; background: var(--bg3); border: var(--sep); border-radius: 3px; padding: 10px 14px; font-family: var(--display); font-size: 13px; color: var(--ivory); outline: none; }
.field { margin-bottom: 12px; }
.field label { font-family: var(--mono); font-size: 9px; color: var(--t25); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 6px; display: block; }
.notice { margin-top: 12px; font-size: 13px; color: var(--t45); }

footer { border-top: var(--sep); padding: 24px; text-align: center; font-family: var(--mono); font-size: 9px; color: var(--t15); letter-spacing: .06em; }

@media (max-width: 980px) {
  .jobs-grid, .detail { grid-template-columns: 1fr; }
  .toolbar { grid-template-columns: 1fr; }
  .container { padding: 24px 16px 60px; }
}


.cta-slide-logo{position:relative;overflow:hidden;isolation:isolate}
.cta-slide-logo::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('/assets/origin137-logo.png');
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
  opacity:0;
  transform:scale(.86);
  transition:opacity .2s ease, transform .2s ease;
  filter:invert(1) brightness(.12) contrast(1.2);
  pointer-events:none;
}
.cta-slide-logo:hover{color:transparent !important;text-shadow:none !important}
.cta-slide-logo:hover::before{opacity:.95;transform:scale(1)}
