:root {
  --glass-blue: rgba(18, 40, 63, 0.56);
  --glass-blue-strong: rgba(10, 28, 47, 0.74);
  --glass-border: rgba(255,255,255,0.16);
  --shadow-blue: 0 14px 40px rgba(8, 22, 39, 0.28);
  --accent-blue: #79c8fc;
}

/* Fixed Safari background color gaps by painting the document tree roots */
html {
  background-color: #081524;
  height: 100%;
}

body {
  font-family: 'Inter', sans-serif;
  color: white;
  min-height: 100%;
  background-image: url('https://assets.chukwanishores.spimwebverse.com/Layout.png');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: relative;
  margin: 0;
}

.playfair {
  font-family: 'Playfair Display', serif;
}

::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar-track {
  background: rgba(6, 18, 31, 0.7);
}

::-webkit-scrollbar-thumb {
  background: #4d6883;
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: #7a98b7;
}

.glass-panel {
  background: var(--glass-blue);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-blue);
}

.glass-panel-strong {
  background: var(--glass-blue-strong);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-blue);
}

.glass-chip {
  background: rgba(17, 39, 61, 0.62);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 8px 24px rgba(8, 22, 39, 0.24);
}

.top-icon-btn {
  background: rgba(23, 45, 70, 0.42);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 8px 20px rgba(8, 22, 39, 0.16);
  transition: all 0.25s ease;
}

.top-icon-btn:hover {
  transform: scale(1.04);
  background: rgba(30, 58, 88, 0.58);
}

.soft-overlay {
  background:
    linear-gradient(180deg,
      rgba(8, 21, 36, 0.14) 0%,
      rgba(10, 26, 44, 0.20) 18%,
      rgba(10, 27, 45, 0.34) 52%,
      rgba(8, 22, 38, 0.44) 100%);
}

.title-glow {
  text-shadow: 0 4px 18px rgba(8, 24, 41, 0.28);
}

.contact-card {
  background: linear-gradient(145deg, rgba(20, 38, 58, 0.88), rgba(11, 24, 40, 0.80));
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    0 16px 48px rgba(5, 16, 30, 0.38),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

.input-style {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  color: white;
  transition: all .25s ease;
}

.input-style:focus {
  outline: none;
  border-color: rgba(121, 200, 252, 0.55);
  background: rgba(255,255,255,0.07);
  box-shadow: 0 0 0 3px rgba(121,200,252,0.08);
}

.input-style::placeholder {
  color: rgba(255,255,255,0.45);
}

.submit-btn {
  background: linear-gradient(90deg, #79c8fc, #b5e5ff);
  color: #0f2136;
  transition: all .3s ease;
}

.submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(121,200,252,0.22);
}

.contact-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 16px 64px;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
}

.contact-card-wrap {
  width: min(900px, 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-card-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  width: 100%;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Target Landscape Mobile phones & Low Viewport Heights exclusively */
@media (max-height: 520px) and (orientation: landscape) {
  .contact-shell {
    padding: 52px 12px 36px;
    min-height: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .contact-card-wrap {
    width: min(620px, 100%) !important;
    margin: 0 auto;
    transform: translateY(12px);
  }
  .contact-card-grid {
    grid-template-columns: 1fr 1.05fr !important;
    gap: 4px;
  }
  .left-panel, .right-panel {
    padding: 12px 14px !important;
  }
  .left-panel h1, .right-panel h2 {
    font-size: 14px !important;
    margin-bottom: 2px !important;
  }
  .left-panel p, .left-panel a, .left-panel h3 + p {
    font-size: 9.5px !important;
  }
  .left-panel p.leading-relaxed {
    margin-bottom: 4px !important;
    line-height: 1.25 !important;
  }
  .left-panel img {
    height: 64px !important;
  }
  .input-style {
    height: 25px !important;
    padding: 0 8px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
  }
  textarea.input-style {
    height: 36px !important;
    padding-top: 3px !important;
  }
  .submit-btn {
    height: 26px !important;
    font-size: 10.5px !important;
    border-radius: 6px !important;
  }

  /* Specific Landscape Mobile Overrides for Header Elements */
  .top-header-panel {
    top: 4px !important;
    left: 4px !important;
    padding: 4px !important;
    border-radius: 12px !important;
  }
  .top-header-logo {
    height: 14px !important;
    width: 14px !important;
  }
  .top-header-paddco {
    font-size: 5.5px !important;
  }
  .top-header-title {
    font-size: 8.5px !important;
  }
  .top-header-loc {
    font-size: 6px !important;
  }
  .top-header-divider {
    height: 20px !important;
    margin: 0 2px !important;
  }
  .top-header-btn {
    height: 18px !important;
    width: 18px !important;
  }
  .top-header-btn svg {
    height: 8px !important;
    width: 8px !important;
  }

  /* Top Right Actions Toolbar Configuration */
  .top-right-group {
    top: 4px !important;
    right: 4px !important;
    gap: 6px !important;
  }
  .top-right-btn {
    height: 18px !important;
    width: 18px !important;
  }
  .top-right-btn i {
    font-size: 9px !important;
    height: auto !important;
    width: auto !important;
  }
  .top-right-btn img {
    height: 9px !important;
    width: 9px !important;
  }

  /* Drawer Options Microscale Modifiers */
  #features {
    width: 65px !important;
    padding: 4px !important;
  }
  #features .flex-col {
    gap: 8px !important;
  }
  #featurePanelCloseBtn {
    height: 22px !important;
    width: 22px !important;
  }
  #featurePanelCloseBtn i {
    font-size: 10px !important;
  }
  #featuresList ul {
    gap: 8px !important;
  }
  #featuresList li div {
    height: 24px !important;
    width: 24px !important;
  }
  #featuresList li img {
    height: 12px !important;
    width: 12px !important;
  }
  #featuresList li p {
    font-size: 8px !important;
  }

  .spim-logo-wrapper {
    right: 6px !important;
    bottom: 6px !important;
    height: 22px !important;
    width: 22px !important;
    border-radius: 6px !important;
  }
}

@media (max-width:1024px) and (min-height: 521px) {
  .contact-shell {
    padding-top: 84px;
    padding-bottom: 64px;
  }
  .contact-card-wrap {
    width: 100%;
  }
}

@media (max-width:640px) and (orientation: portrait) {
  .contact-shell {
    padding: 76px 8px 40px;
  }
  .contact-card-grid {
    display: flex;
    flex-direction: column;
  }
  .left-panel, .right-panel {
    padding: 14px;
  }
  .right-panel {
    border-left: none;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .left-panel h1, .right-panel h2 {
    font-size: 17px;
  }
  .left-panel img {
    height: 80px;
  }
  .input-style {
    height: 32px;
    font-size: 12px;
  }
  textarea.input-style {
    height: 56px;
  }
  .submit-btn {
    height: 34px;
    font-size: 12px;
  }
}