/* Azania Satellites (PTY) Ltd — under-construction holding page (true full-bleed artwork) */

:root {
  --bg: #f4f5f2;
  --bg-2: #e8ebe4;
  --ink: #233326;
  --muted: #5c6a5e;
  --accent: #1c6b3c;
  --link: #155c31;
  --frame: rgba(28,107,60,0.35);
  --focus: #1c6b3c;
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: light;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
}

body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page {
  position: relative;
  width: 100vw;
  height: 100svh;
}

.artwork {
  position: absolute;
  inset: 0;
  margin: 0;
  background: var(--bg);
}

.artwork img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Narrow/portrait phones: a straight edge-to-edge crop of a 3:2 landscape
   wallpaper would cut the logo and headline out of frame entirely, so this
   lets the full composition show (letterboxed, matched to the brand colour)
   only at that one breakpoint. Every wider/landscape view stays true
   edge-to-edge cover with zero visible gap. */
@media (max-aspect-ratio: 4/5) {
  .artwork img {
    object-fit: contain;
    object-position: center;
  }
}

.pagefoot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  padding: 1.6rem 1rem calc(1.6rem + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.92) 68%, rgba(0, 0, 0, 0) 100%);
}

.links {
  margin: 0;
  font-size: clamp(0.78rem, 0.74rem + 0.25vw, 0.92rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.7rem;
}

.links a,
.links span.enquiries {
  color: #ffffff;
}

.links a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.links a:hover {
  text-decoration-thickness: 2px;
}

a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
  border-radius: 3px;
}

.sep {
  color: rgba(255, 255, 255, 0.7);
}

.copyright {
  margin: 0.3rem 0 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: clamp(0.68rem, 0.64rem + 0.2vw, 0.78rem);
}

@media (max-width: 480px) {
  .links {
    flex-direction: column;
    gap: 0.2rem;
  }
  .sep {
    display: none;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .artwork img {
    animation: rise 0.6s ease-out both;
  }
  .pagefoot {
    animation: rise 0.6s ease-out both;
    animation-delay: 0.1s;
  }
  @keyframes rise {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: none;
    }
  }
}

/* Print-safe: a "Print to PDF" of this page fills the sheet with no margin */
@page {
  size: auto;
  margin: 0;
}

@media print {
  html, body {
    width: 100%;
    height: 100%;
  }
  .page {
    width: 100vw;
    height: 100vh;
  }
}
.artwork img { box-shadow: 0 18px 45px rgba(35, 51, 38, 0.18); }