/* ================================================================
   SHOWMA GLOBAL — global styles
   Extracted verbatim from the approved front-end (design locked).
   Navy #16243F · Gold #BE9230 · Sora (headings) · Hanken Grotesk (body)
   ================================================================ */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #FFFFFF;
  color: #16243F;
  font-family: 'Hanken Grotesk', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
::selection { background: #BE9230; color: #fff; }

@keyframes sgfloat  { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes sgfloat2 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(10px); } }

input, select, textarea, button { font-family: 'Hanken Grotesk', sans-serif; }
input:focus, select:focus, textarea:focus { outline: none; border-color: #BE9230 !important; }

@media (max-width: 880px) {
  [data-head]  { height: auto !important; flex-wrap: wrap; padding-top: 12px !important; padding-bottom: 12px !important; }
  [data-nav]   { order: 3; width: 100%; justify-content: flex-start; flex-wrap: wrap; gap: 12px 18px !important; }
  [data-stack] { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  [data-pad] { padding-left: 22px !important; padding-right: 22px !important; }
}

/* ---- Primary navigation (header) ---- */
.sg-nav { display: flex; align-items: center; gap: 30px; }
.sg-item { position: relative; display: flex; align-items: center; }
.sg-top {
  text-decoration: none; color: #3A4356;
  font: 500 14.5px 'Hanken Grotesk'; letter-spacing: .01em;
  display: inline-flex; align-items: center; gap: 5px; cursor: pointer; white-space: nowrap;
}
.sg-top:hover { color: #16243F; }
.sg-cell {
  position: absolute; top: 100%; left: 50%; padding-top: 16px;
  transform: translateX(-50%) translateY(6px);
  opacity: 0; visibility: hidden;
  transition: opacity .18s ease, transform .18s ease; z-index: 60;
}
.sg-item:hover .sg-cell, .sg-item:focus-within .sg-cell {
  opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0);
}
.sg-card {
  background: #fff; border: 1px solid #ECE8DF; border-radius: 16px;
  box-shadow: 0 26px 56px -22px rgba(16,24,40,.3); padding: 16px;
}
.sg-cap {
  font: 600 11px 'Hanken Grotesk'; letter-spacing: .16em; text-transform: uppercase;
  color: #BE9230; margin: 2px 12px 12px;
}
.sg-link2 {
  display: block; text-decoration: none; color: #3A4356;
  font: 500 14px 'Hanken Grotesk'; padding: 9px 12px; border-radius: 8px; white-space: nowrap;
}
.sg-link2:hover { background: #FBFAF6; color: #16243F; }
.sg-all {
  color: #16243F; font-weight: 600; border-bottom: 1px solid #F0ECE2;
  border-radius: 8px 8px 0 0; margin-bottom: 4px;
}
.sg-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 880px) { .sg-cell { display: none; } .sg-nav { gap: 12px 18px !important; } }

/* ---- Shared helpers used by the PHP page templates ---- */
.sg-wrap { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.sg-btn-gold {
  background: #BE9230; color: #16243F; border: none; cursor: pointer;
  font: 600 14px 'Hanken Grotesk'; letter-spacing: .01em; padding: 13px 22px;
  border-radius: 7px; box-shadow: 0 6px 18px -8px rgba(190,146,48,.7);
  text-decoration: none; display: inline-block;
}
.sg-btn-ghost {
  background: none; border: 1px solid rgba(27,42,74,.18); color: #16243F; cursor: pointer;
  font: 600 14px 'Hanken Grotesk'; padding: 12px 22px; border-radius: 7px;
  text-decoration: none; display: inline-block;
}
