/* OpenShack presentation layer for the bilingual utility pages that still use
   the original long-form page components from style.css. */
body.openshack-utility {
  --ink: #f4f0e6;
  --ink-2: #ebe5d8;
  --panel: #fffdf8;
  --panel-2: #ebe5d8;
  --line: rgba(17, 35, 31, .16);
  --line-2: rgba(17, 35, 31, .28);
  --amber: #e85d32;
  --amber-2: #b93d1d;
  --amber-dim: rgba(232, 93, 50, .13);
  --phosphor: #6d7f15;
  --phosphor-d: rgba(200, 223, 89, .24);
  --paper: #11231f;
  --paper-ink: #fffdf8;
  --text: #11231f;
  --text-dim: #29423b;
  --text-mute: #62736d;
  --radius: 0;
  --radius-lg: 0;
  --nav-h: 82px;
  --max-w: 1220px;
  background: var(--ink);
  color: var(--text);
}

body.openshack-utility::before { display: none; }

.openshack-utility .nav {
  height: var(--nav-h);
  background: rgba(244, 240, 230, .94);
  border-bottom-color: var(--line);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.openshack-utility .nav.scrolled {
  background: rgba(244, 240, 230, .98);
  border-bottom-color: var(--line);
  box-shadow: 0 12px 35px rgba(17, 35, 31, .09);
}

.openshack-utility .nav-inner { gap: 2rem; }

.openshack-utility .nav-logo {
  gap: .72rem;
  color: var(--text);
  font-size: 1.4rem;
  font-weight: 850;
  letter-spacing: -.045em;
}

.openshack-utility .nav-logo::before { display: none; }
.openshack-utility .nav-logo img { width: 44px; height: 44px; }
.openshack-utility .nav-logo .brand-stack { color: var(--text); line-height: .9; }
.openshack-utility .nav-logo .brand-word { color: var(--text); font-weight: 850; }
.openshack-utility .nav-logo .brand-by {
  display: block;
  margin-top: .34rem;
  color: var(--text-mute);
  font: 400 .52rem var(--f-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.openshack-utility .nav-links a {
  color: var(--text);
  font-family: var(--f-body);
  font-size: .95rem;
  font-weight: 720;
  letter-spacing: 0;
  text-transform: none;
}

.openshack-utility .nav-links a::after { background: var(--amber); }
.openshack-utility .lang-toggle button,
.openshack-utility .nav-lang a { color: var(--text-mute); border-radius: 0; }
.openshack-utility .lang-toggle button[aria-pressed="true"],
.openshack-utility .lang-toggle button:hover,
.openshack-utility .nav-lang a.active,
.openshack-utility .nav-lang a:hover { color: #fff; background: var(--text); }

.openshack-utility .nav-cta {
  min-height: 44px;
  padding: .62rem 1rem;
  border-radius: 0;
  background: var(--text);
  color: #fffdf8 !important;
  box-shadow: none;
}

.openshack-utility .nav-cta:hover { background: var(--amber-2); box-shadow: none; }
.openshack-utility .nav-hamburger { color: var(--text); }
.openshack-utility .nav-mobile { background: var(--ink); }
.openshack-utility .nav-mobile a { color: var(--text); border-bottom-color: var(--line); }

.openshack-utility .legal-hero,
.openshack-utility .download-hero { background: var(--ink); }

.openshack-utility .legal-hero::before,
.openshack-utility .download-hero::before {
  background:
    radial-gradient(640px 400px at 82% 8%, rgba(232, 93, 50, .13), transparent 62%),
    linear-gradient(transparent 0, transparent calc(100% - 1px), var(--line) 100%),
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), var(--line) 100%);
  background-size: 100% 100%, 100% 46px, 46px 100%;
}

.openshack-utility .legal-body { background: var(--ink); }
.openshack-utility .legal-meta span { background: rgba(255, 253, 248, .52); }
.openshack-utility .legal-num { -webkit-text-stroke-color: var(--line-2); }
.openshack-utility .legal-card { border-left-color: var(--lime, #c8df59); }
.openshack-utility .legal-card-ic { background: rgba(200, 223, 89, .2); border-color: rgba(109, 127, 21, .3); }
.openshack-utility .legal-zero {
  background: #11231f;
  color: #fffdf8;
  border-color: rgba(255, 255, 255, .18);
}
.openshack-utility .legal-zero h2,
.openshack-utility .legal-zero p { color: #fffdf8; }
.openshack-utility .legal-zero .eyebrow,
.openshack-utility .legal-zero h2 b { color: #c8df59; }

.openshack-utility .download-card {
  box-shadow: 0 24px 60px rgba(17, 35, 31, .14);
}

.openshack-utility .btn,
.openshack-utility .download-card,
.openshack-utility .legal-card,
.openshack-utility .legal-dl,
.openshack-utility .legal-foot-nav a { border-radius: 0; }

.openshack-utility .btn-primary,
.openshack-utility .btn-buy {
  background: var(--amber);
  color: #fff;
  box-shadow: none;
}

.openshack-utility .btn-primary:hover,
.openshack-utility .btn-buy:hover { background: var(--amber-2); box-shadow: none; }

.openshack-utility .site-footer {
  background: var(--ink-2);
  color: var(--text-mute);
  border-top-color: var(--line);
}
.openshack-utility .footer-links a { color: var(--text-dim); }
.openshack-utility .footer-links a:hover { color: var(--amber-2); }
.openshack-utility .footer-copy { color: var(--text-mute); }

@media (max-width: 900px) {
  .openshack-utility .nav-inner { gap: 1rem; }
  .openshack-utility .nav-logo img { width: 40px; height: 40px; }
}
