/* PyraMED unified logon-page background — IE9-safe shared styles.
   Single graphic showing all 8 functionality areas around a central
   logon-window safe zone.

   Composition (1280x800 canvas, absolute-centered in viewport):
     • Top-left:  brand mark · Top-right: version chip
     • Hero (upper-left):  "UNIFIED." headline + 1-line subtitle
     • Left column (mid):  4 tiles — Who We Serve
     • Right column (mid): 4 tiles — Capabilities
     • Center: logon dialog safe zone, calm
     • Hub spokes radiate from center to each tile icon
     • Footer: hairline + support strip

   IE9 caveats observed (and avoided):
     no flex/grid · no CSS vars · no calc-in-transform · no text-stroke
     · no filter · no backdrop-filter · no mix-blend-mode · no inset
*/

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; height: 100%; }
body {
  font-family: Arial, Helvetica, sans-serif;
  background: #ffffff;
  color: #1c1612;
  overflow: hidden;
}

/* Fixed-size canvas, centered in viewport. Keeps the calm center aligned
   with the host app's centered Logon dialog at any window size. */
.canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1280px;
  height: 800px;
  margin-top: -400px;
  margin-left: -640px;
  background: #ffffff;
  overflow: hidden;
}

/* ── Hub: radial spokes + faint center rings (full-bleed background) ── */
.hub {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* ── Thin red hairline frame ─────────────────────────────────────────── */
.hairline {
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  bottom: 24px;
  border: 1px solid #B11C2C;
  opacity: 0.18;
  pointer-events: none;
}

/* ── Top strip ───────────────────────────────────────────────────────── */
.brand {
  position: absolute;
  top: 52px;
  left: 64px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1c1612;
  line-height: 1;
}
.brand-sq {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: #B11C2C;
  margin-right: 12px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.version {
  position: absolute;
  top: 52px;
  right: 64px;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #B11C2C;
  border: 1px solid #B11C2C;
  padding: 7px 14px;
  -moz-border-radius: 100px;
  border-radius: 100px;
  background: #ffffff;
}

/* ── Hero (upper-left) ──────────────────────────────────────────────── */
.hero {
  position: absolute;
  top: 108px;
  left: 64px;
  right: 64px;
  text-align: center;
}
.hero-rule {
  width: 56px;
  height: 4px;
  background: #B11C2C;
  margin: 0 auto 18px;
}
.hero-logo {
  display: block;
  width: 145px;
  height: 50px;
  margin: 0 auto 18px;
}
.hero-title {
  font-family: "Arial Black", "Helvetica Inserat", Arial, sans-serif;
  font-weight: 900;
  font-size: 80px;
  line-height: 0.9;
  letter-spacing: -0.03em;
  color: #1c1612;
  margin: 0;
  text-transform: uppercase;
}
.hero-title .red { color: #B11C2C; }
.hero-sub {
  font-size: 15px;
  line-height: 1.45;
  color: #1c1612;
  opacity: 0.62;
  margin: 16px auto 0;
  max-width: 640px;
  letter-spacing: 0.02em;
}

/* ── Column labels above each tile stack ────────────────────────────── */
.col-label {
  position: absolute;
  top: 294px;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #B11C2C;
}
.col-label .rl-rule {
  display: inline-block;
  width: 22px;
  height: 1px;
  background: #B11C2C;
  vertical-align: middle;
  margin-right: 12px;
  position: relative;
  top: -2px;
}
.col-label.left  { left: 64px; }
.col-label.right { right: 64px; text-align: right; }
.col-label.right .rl-rule { margin-right: 0; margin-left: 12px; }

/* ── Tile stacks (4 tiles per side, vertical) ───────────────────────── */
/* Tile = icon left + name/tag right, 240w x 78h, with 14px row gap.    */
.tile {
  position: absolute;
  width: 240px;
  height: 78px;
}
.tile-icon {
  position: absolute;
  top: 8px;
  width: 36px;
  height: 36px;
}
.tile-text {
  position: absolute;
  top: 0;
  bottom: 0;
}
.tile-name {
  font-family: "Arial Black", Arial, sans-serif;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #1c1612;
  margin: 4px 0 4px;
  text-transform: uppercase;
}
.tile-tag {
  font-size: 11px;
  line-height: 1.4;
  color: #1c1612;
  opacity: 0.62;
  margin: 0;
  letter-spacing: 0.01em;
}

/* Left side: icon on the LEFT, text RIGHT of icon. */
.tile.left .tile-icon { left: 0; }
.tile.left .tile-text { left: 52px; right: 0; }
.tile.left           { left: 64px; }

/* Right side: icon on the RIGHT, text LEFT of icon (mirrored). */
.tile.right .tile-icon { right: 0; }
.tile.right .tile-text { right: 52px; left: 0; text-align: right; }
.tile.right           { right: 64px; }

/* 4 vertical slots per column. Slot heights = 78, gap = 16, total 360.
   Tiles shifted 50px below original layout per copy review. */
.slot-1 { top: 320px; }
.slot-2 { top: 414px; }
.slot-3 { top: 508px; }
.slot-4 { top: 602px; }

/* ── Footer ──────────────────────────────────────────────────────────── */
.footer-rule {
  position: absolute;
  left: 64px;
  right: 64px;
  bottom: 80px;
  height: 1px;
  background: #B11C2C;
  opacity: 0.25;
}
.footer {
  position: absolute;
  left: 64px;
  right: 64px;
  bottom: 40px;
  font-size: 11px;
  letter-spacing: 0.06em;
  color: #1c1612;
  opacity: 0.6;
  line-height: 1.5;
}
.footer-left {
  position: absolute;
  left: 0;
  bottom: 0;
}
.footer-right {
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: right;
}
.footer .strong {
  font-weight: bold;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #B11C2C;
  opacity: 1;
}
