/* =====================================================================
   Alpha-Omega CMS – Default Theme (HGC 2025 Palette + ADA Compliance)
   Version: v4.5.1-top-menu-accessibility
   © 2026 Hubbard Genesis Corporation. All rights reserved.
   Developed by Mighty Jackalope / Northern Lights Entertainment Inc.
   ===================================================================== */

/* --------------------------------------------------------------
   Color Palette Variables
   -------------------------------------------------------------- */
:root {
  --hgc-2025-1:#330000;
  --hgc-2025-2:#660000;
  --hgc-2025-3:#FFF8e8;
  --hgc-2025-4:#D6C68E; /* slightly darker for better contrast */
  --hgc-2025-5:#764916;
  --hgc-2025-6:#990000;
  --hgc-2025-7:#CC0000;
  --hgc-2025-8:#FF0000;

  --color-bg:var(--hgc-2025-1);
  --color-surface:var(--hgc-2025-3);
  --color-text:#1a1a1a;
  --color-primary:var(--hgc-2025-7);
  --color-primary-hover:var(--hgc-2025-6);
  --color-border:var(--hgc-2025-4);
  --color-focus:var(--hgc-2025-8);
}

/* --------------------------------------------------------------
   Base Typography / Body
   -------------------------------------------------------------- */
body {
  font-family:'Roboto',sans-serif;
  background-color:var(--color-surface);
  color:var(--color-text);
  line-height:1.6;
}

/* ==========================================
   Header – Dual-Tone Layout
   ========================================== */

/* ============================================================
   Top (Corporate) Menu – Full-Width Flex Layout
   ============================================================ */
.nav-top-flex {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: var(--hgc-2025-2);
  border-bottom: 2px solid var(--hgc-2025-5);
  color: var(--hgc-2025-3);
  z-index: 1000;
}

.nav-top-flex li {
  flex: 1 1 auto;
  text-align: center;
}

.nav-top-flex a {
  color: var(--hgc-2025-3);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.65rem 0.75rem;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.nav-top-flex a:hover,
.nav-top-flex a:focus-visible {
  color: var(--hgc-2025-3);
  background-color: var(--hgc-2025-1);
  outline: 3px solid var(--hgc-2025-3);
  outline-offset: -3px;
  text-decoration: underline;
}

/* Hide top menu below lg breakpoint */
@media (max-width: 991.98px) {
  .nav-top-flex,
  .top-menu,
  nav.bg-hgc-dark {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* --------------------------------------------------------------
   Main Menu – Light Surface
   -------------------------------------------------------------- */
header.navbar {
  background-color:var(--hgc-2025-4);
  color:var(--hgc-2025-1);
  border-bottom:2px solid var(--hgc-2025-5);
}

header.navbar .nav-link {
  color:var(--hgc-2025-1);
  font-weight:500;
}

header.navbar .nav-link:hover,
header.navbar .nav-link:focus-visible {
  color:var(--hgc-2025-6);
}

.navbar-brand span {
  color:var(--hgc-2025-1);
}

/* --------------------------------------------------------------
   Sidebar
   -------------------------------------------------------------- */
#sidebar {
  background:var(--hgc-2025-4);
  padding:1rem;
  border-left:4px solid var(--hgc-2025-5);
}

/* ============================================================
   Subfooter – Flex-Balanced Layout (v4.5.1-balanced)
   ============================================================ */
.subfooter .footer-flex {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
}

.subfooter .footer-col {
  flex: 1 1 180px;
  max-width: 300px;
}

.subfooter a {
  color: var(--hgc-2025-1);
  text-decoration: none;
}

.subfooter a:hover,
.subfooter a:focus-visible {
  color: var(--hgc-2025-7);
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  .subfooter .footer-flex {
    justify-content: space-between;
    gap: 1.5rem;
  }
}

@media (max-width: 575.98px) {
  .subfooter .footer-flex {
    flex-direction: column;
    gap: 1rem;
  }
}

/* --------------------------------------------------------------
   Footer
   -------------------------------------------------------------- */
.site-footer {
  background-color:var(--hgc-2025-1);
  color:var(--hgc-2025-3);
  text-align:center;
  padding:1rem 0;
  font-size:.9rem;
}

/* --------------------------------------------------------------
   Focus / Accessibility
   -------------------------------------------------------------- */
:focus-visible {
  outline:2px solid var(--color-focus);
  outline-offset:3px;
}

/* --------------------------------------------------------------
   Buttons – HGC 2025 Set
   -------------------------------------------------------------- */
.btn {
  display:inline-block;
  font-weight:500;
  border:none;
  border-radius:.375rem;
  padding:.5rem 1.25rem;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}

.btn:hover,
.btn:focus-visible {
  text-decoration:none;
}

/* Primary (Crimson) */
.btn-earth-primary {
  background-color:var(--color-primary);
  color:var(--hgc-2025-3);
}

.btn-earth-primary:hover,
.btn-earth-primary:focus-visible {
  background-color:var(--color-primary-hover);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

/* Secondary (Deep Bronze) */
.btn-earth-secondary {
  background-color:var(--hgc-2025-5);
  color:var(--hgc-2025-3);
}

.btn-earth-secondary:hover,
.btn-earth-secondary:focus-visible {
  background-color:var(--hgc-2025-4);
  color:var(--hgc-2025-1);
}

/* Outline Version */
.btn-earth-outline {
  background:transparent;
  border:2px solid var(--color-primary);
  color:var(--color-primary);
}

.btn-earth-outline:hover,
.btn-earth-outline:focus-visible {
  background-color:var(--color-primary);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
}

/* --------------------------------------------------------------
   Bootstrap Icons Fallback / Guarantee
   -------------------------------------------------------------- */
.bi::before {
  display:inline-block;
  font-family:"bootstrap-icons"!important;
  font-style:normal;
  font-weight:normal;
  font-variant:normal;
  text-transform:none;
  line-height:1;
  vertical-align:-.125em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* =========================================================
   Accordion – HGC 2025 Palette
   ========================================================= */
.accordion-button {
  background-color:var(--hgc-2025-4);
  color:var(--hgc-2025-1);
  font-weight:500;
  border:none;
  transition:background-color .2s ease,color .2s ease;
}

.accordion-button:not(.collapsed) {
  background-color:var(--hgc-2025-7);
  color:var(--hgc-2025-3);
  box-shadow:inset 0 -1px 0 var(--hgc-2025-5);
}

.accordion-button:hover,
.accordion-button:focus-visible {
  background-color:var(--hgc-2025-6);
  color:var(--hgc-2025-3);
  outline:2px solid var(--hgc-2025-8);
  outline-offset:1px;
}

.accordion-item {
  border:1px solid var(--hgc-2025-5);
  border-radius:.375rem;
  overflow:hidden;
}

.accordion-body {
  background-color:var(--hgc-2025-3);
  color:var(--hgc-2025-1);
  border-top:1px solid var(--hgc-2025-5);
}

/* =========================================================
   Alerts – HGC 2025 Corporate Palette
   ========================================================= */
.alert {
  border-radius:.5rem;
  border-width:1px;
  font-weight:500;
  line-height:1.5;
}

.alert-success {
  background-color:var(--hgc-2025-4);
  border-color:var(--hgc-2025-5);
  color:var(--hgc-2025-1);
}

.alert-info {
  background-color:var(--hgc-2025-3);
  border-color:var(--hgc-2025-4);
  color:var(--hgc-2025-1);
}

.alert-warning {
  background-color:var(--hgc-2025-8);
  border-color:var(--hgc-2025-7);
  color:var(--hgc-2025-3);
}

.alert-secondary {
  background-color:var(--hgc-2025-4);
  border-color:var(--hgc-2025-5);
  color:var(--hgc-2025-1);
}

.alert-danger {
  background-color:var(--hgc-2025-7);
  border-color:var(--hgc-2025-6);
  color:var(--hgc-2025-3);
}

/* =========================================================
   Cards – Accessible, Stable Hover
   ========================================================= */
.card {
  border-radius:.5rem;
  box-shadow:0 3px 10px rgba(0,0,0,0.15);
  transition:box-shadow 0.25s ease-in-out,background-color 0.25s ease-in-out;
  overflow:hidden;
}

.card:hover,
.card:focus-within {
  background-color:var(--hgc-2025-3);
  box-shadow:0 6px 20px rgba(0,0,0,0.25);
}

.card .btn {
  box-shadow:0 -2px 6px rgba(0,0,0,0.25) inset;
  transition:background-color 0.25s ease-in-out,color 0.25s ease-in-out;
}

.card .btn:hover,
.card .btn:focus-visible {
  background-color:var(--color-primary);
  color:var(--hgc-2025-3);
  outline:2px solid var(--color-focus);
  outline-offset:2px;
}

/* =========================================================
   Hero / Section / Shadow Refinements
   ========================================================= */
section[aria-label="Hero Section"] img {
  box-shadow:0 4px 12px rgba(0,0,0,0.25);
}

section {
  transition:box-shadow 0.25s ease-in-out;
}

/* =========================================================
   Reduced Motion Preference
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* =====================================================================
   HubbardGenesis.net Public Frontend Aurora Overrides
   Version: v0.1.1-top-menu-accessibility
   Scope: Frontend Default Theme Only
   ===================================================================== */

:root {
  --tap: 52px;
  --aurora-1: #22d3ee;
  --aurora-2: #3b82f6;
  --aurora-3: #6366f1;
  --aurora-4: #8b5cf6;
  --aurora-5: #d946ef;
  --aurora-6: #ec4899;
  --aurora-7: #f97316;
  --aurora-8: #eab308;
  --aurora-9: #22c55e;
  --card-radius: 1rem;

  --color-bg: #e5e7eb;
  --color-surface: #f8fafc;
  --color-text: #1a1a1a;
  --color-primary: var(--aurora-2);
  --color-primary-hover: var(--aurora-4);
  --color-border: rgba(15, 23, 42, .12);
  --color-focus: #000000;
}

body {
  font-family: Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  background: radial-gradient(circle at top, #f8fafc, #e5e7eb);
  color: var(--color-text);
  line-height: 1.618;
}

#content {
  background: transparent;
}

#content > .container-fluid {
  max-width: 1140px;
  margin-inline: auto;
  padding-inline: 1rem;
}

.nav-top-flex {
  background: linear-gradient(
    120deg,
    var(--aurora-1),
    var(--aurora-2),
    var(--aurora-4),
    var(--aurora-6),
    var(--aurora-9)
  );
  border-bottom: 0;
}

.nav-top-flex a {
  color: #ffffff;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  min-height: 50px;
  padding: 0.65rem 0.75rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.nav-top-flex a:hover,
.nav-top-flex a:focus-visible {
  color: #ffffff;
  background-color: rgba(0, 0, 0, .24);
  outline: 3px solid #000000;
  outline-offset: -3px;
  text-decoration: underline;
}

header.navbar {
  background-color: rgba(255, 255, 255, .92);
  color: #111827;
  border-bottom: 1px solid rgba(15, 23, 42, .12);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
}

header.navbar .nav-link,
.navbar-brand span {
  color: #111827;
}

header.navbar .nav-link:hover,
header.navbar .nav-link:focus-visible {
  color: var(--aurora-4);
}

.launch-card {
  border-radius: var(--card-radius);
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  position: relative;
  overflow: hidden;
}

.launch-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0));
  pointer-events: none;
}

.launch-card:hover,
.launch-card:focus-within {
  transform: translateY(-6px);
  background-color: #ffffff;
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
}

.launch-card a.stretched-link:focus-visible {
  outline: 3px solid #000000;
  outline-offset: 4px;
  border-radius: var(--card-radius);
}

.category-corporate { border-top: 5px solid var(--aurora-2); }
.category-ai        { border-top: 5px solid var(--aurora-4); }
.category-brand     { border-top: 5px solid var(--aurora-5); }
.category-webdev    { border-top: 5px solid var(--aurora-7); }
.category-coming    { border-top: 5px solid var(--aurora-8); }
.category-personal  { border-top: 5px solid var(--aurora-9); }
.category-infra     { border-top: 5px solid var(--aurora-1); }

.icon-bubble {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.06);
  font-size: 1.25rem;
  flex-shrink: 0;
}

.tap,
.btn {
  min-height: var(--tap);
}

.subfooter {
  background-color: rgba(255, 255, 255, .70);
  border-top: 1px solid rgba(15, 23, 42, .10);
}

.site-footer,
footer {
  background: #020617;
  color: #cbd5f5;
}

.site-footer a,
footer a {
  color: #e0f2fe;
}

:focus-visible {
  outline: 3px solid #000000;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* =====================================================================
   HubbardGenesis.net Top Menu Readability Correction
   Version: v0.1.3-top-menu-bold-compact
   Scope: Public frontend top corporate menu only
   ===================================================================== */

.nav-top-flex {
  padding-top: 0;
  padding-bottom: 0;
}

.nav-top-flex a {
  font-weight: 700;
  line-height: 1.2;
  min-height: auto;
  padding-top: 0.35rem;
  padding-bottom: 0.35rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
}

/* Keep keyboard focus visible without adding layout height */
.nav-top-flex a:focus-visible {
  outline: 3px solid #000000;
  outline-offset: -3px;
}

/* =====================================================================
   End HubbardGenesis.net Top Menu Readability Correction
   ===================================================================== */