/* ============================================================
   POLSIA — shared styles
   Loaded by every page via <link rel="stylesheet" href="polsia.css">
   Page-specific styles remain in inline <style>
   ============================================================ */

/* === FONTS ============================================================== */
@font-face{
  font-family:'Suisse Mono';
  src:url("Suisse Int'l Mono Regular.otf") format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Suisse Mono';
  src:url("SuisseIntlMono-Bold.otf") format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Editorial Old';
  src:url('PPEditorialOld-Regular.otf') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Editorial Old';
  src:url('PPEditorialOld-Ultralight.otf') format('opentype');
  font-weight:200;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Editorial Old';
  src:url('PPEditorialOld-UltralightItalic.otf') format('opentype');
  font-weight:200;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Editorial Old';
  src:url('PPEditorialOld-Italic.otf') format('opentype');
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Editorial New';
  src:url('PPEditorialNew-Regular.otf') format('opentype'),
      url('PPEditorialNew-Regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Editorial New';
  src:url('PPEditorialNew-Italic.otf') format('opentype');
  font-weight:400;
  font-style:italic;
  font-display:swap;
}
@font-face{
  font-family:'Editorial New';
  src:url('PPEditorialNew-Bold.otf') format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* === TYPE TOKENS ======================================================== */
:root {
  --mono-xs: 9px;
  --mono-md: 11px;
  --mono-lg: 12px;
  --body-sm: 14px;
  --body:    16px;
  --body-lg: 20px;
  --h3:      24px;
  --h2:      36px;
  --h1:      56px;
  --hero:    72px;
}
@media (max-width: 700px) {
  :root {
    --body-sm: 13px;
    --body:    14px;
    --body-lg: 17px;
    --h3:      20px;
    --h2:      26px;
    --h1:      36px;
    --hero:    44px;
  }
}

/* === RESET / BASE ======================================================= */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'Editorial New', 'Times New Roman', serif;
  font-weight: 400;
  background: #fff;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; }

/* === NAVBAR ============================================================= */
.navbar {
  padding: 20px;
  border-bottom: 1px solid #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
}
.navbar-brand-container { display: flex; align-items: center; }
.navbar-brand {
  font-size: 2em;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
}
.navbar-brand img { height: 29px; width: auto; display: block; }
.navbar-actions { display: flex; align-items: center; gap: 12px; }

/* === DASHBOARD BUTTON (Get Started / Try Polsia / etc.) ================= */
.dashboard-btn {
  background: linear-gradient(to bottom, #ffffff, #888888);
  border: 1px solid #1a1a1a;
  color: #000;
  padding: 4px 12px;
  font-family: 'Suisse Mono', 'Courier New', monospace;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: var(--mono-lg);
  cursor: pointer;
  border-radius: 2px;
  text-decoration: none;
  display: inline-block;
  pointer-events: auto;
  text-shadow: 0 1px 0 rgba(255,255,255,0.9);
  box-shadow:
    rgba(255,255,255,0.4) 0 1px 0 0 inset,
    rgba(255,255,255,0.4) 0 1px 0;
}
.dashboard-btn:hover { background: linear-gradient(to bottom, #ffffff, #aaaaaa); }
.dashboard-btn.dark {
  background: linear-gradient(to bottom, #555555, #000000);
  border-color: #000;
  color: #fff;
  text-shadow:
    0 -1px 0 rgba(0,0,0,0.8),
    0 1px 0 rgba(255,255,255,0.2);
  box-shadow:
    rgba(255,255,255,0.25) 0 1px 0 0 inset,
    rgba(0,0,0,0.4) 0 1px 0;
}
.dashboard-btn.dark:hover { background: linear-gradient(to bottom, #6a6a6a, #1a1a1a); }
.dashboard-btn.deep {
  background: linear-gradient(to bottom, #ff8a3d, #c54400);
  border-color: #8a3000;
  color: #fff;
  text-shadow:
    0 -1px 0 rgba(110,30,0,0.7),
    0 1px 0 rgba(255,255,255,0.25);
  box-shadow:
    rgba(255,255,255,0.35) 0 1px 0 0 inset,
    rgba(120,40,0,0.45) 0 1px 0;
}
.dashboard-btn.deep:hover { background: linear-gradient(to bottom, #ffa05c, #d44e00); }
.dashboard-btn.lg {
  padding: 6px 17px;
  font-size: 17px;
  letter-spacing: 0.04em;
  border-radius: 3px;
  margin-bottom: 5px;
}
@media (max-width: 700px) {
  .dashboard-btn.lg { padding: 4px 12px; font-size: 12px; }
}

/* === LIVE BADGE ========================================================= */
.live-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border: 1px solid #000;
  border-radius: 999px;
  font-size: var(--mono-md);
  font-family: 'Suisse Mono', 'Courier New', monospace;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  margin-left: 12px;
}
.live-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e65100;
  display: inline-block;
  animation: live-pulse 1.5s ease-in-out infinite;
}
@keyframes live-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* === FOOTER ============================================================= */
.footer {
  border-top: 1px solid #000;
  background: #fff;
  padding: 20px 40px;
  font-family: 'Suisse Mono', 'Courier New', monospace;
  font-size: var(--mono-md);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #555;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.footer a { color: #000; text-decoration: underline; }
@media (max-width: 600px) {
  .footer { padding-left: 20px; padding-right: 20px; font-size: var(--mono-xs); }
}
