/* ═══════════════════════════════════════════════════════
   POSEIDON SERVICES — v1.0.1
   All classes prefixed ps- to avoid WordPress conflicts
═══════════════════════════════════════════════════════ */

:root {
  --ps-navy:     #07111f;
  --ps-deep:     #0b1e38;
  --ps-ocean:    #0d3d74;
  --ps-wave:     #1565a8;
  --ps-sea:      #1a8fd1;
  --ps-seafoam:  #00c2e0;
  --ps-gold:     #c6973f;
  --ps-gold-lt:  #e8c06a;
  --ps-gold-pale:#f5e9c8;
  --ps-white:    #f2f6fb;
  --ps-pale:     #e4edf7;
  --ps-ltblue:   #eaf3ff;
  --ps-slate:    #6b8aaa;
  --ps-ink:      #1a2d42;
  --ps-body:     #2c3e55;
}

/* ── Nuclear WP reset — scoped to our wrappers ── */
.ps-hero, .ps-sec, .ps-footer,
.ps-hero *, .ps-sec *, .ps-footer * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Body overrides ── */
body.poseidon-site {
  font-family: 'Barlow', sans-serif !important;
  background: var(--ps-navy) !important;
  color: var(--ps-body) !important;
  overflow-x: hidden !important;
}

/* Kill WP content wrappers that add padding/margin */
body.poseidon-site #page,
body.poseidon-site #content,
body.poseidon-site #primary,
body.poseidon-site main.site-main,
body.poseidon-site .site-content,
body.poseidon-site .wp-site-blocks,
body.poseidon-site .entry-content {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  background: transparent !important;
}

/* Kill any WP theme default header/nav that may render above our content */
body.poseidon-site .site-header,
body.poseidon-site #masthead,
body.poseidon-site .navbar,
body.poseidon-site header.site-header {
  display: none !important;
}

/* Kill WP default footer */
body.poseidon-site .site-footer:not(.ps-footer),
body.poseidon-site #colophon {
  display: none !important;
}

/* ── Section wrappers (staggered fade-in) ── */
.ps-wrap {
  animation: ps-fadeup 0.55s ease both;
}
.ps-wrap:nth-child(1)  { animation-delay: .04s; }
.ps-wrap:nth-child(2)  { animation-delay: .10s; }
.ps-wrap:nth-child(3)  { animation-delay: .16s; }
.ps-wrap:nth-child(4)  { animation-delay: .22s; }
.ps-wrap:nth-child(5)  { animation-delay: .28s; }
.ps-wrap:nth-child(6)  { animation-delay: .34s; }
.ps-wrap:nth-child(7)  { animation-delay: .40s; }
.ps-wrap:nth-child(8)  { animation-delay: .46s; }
.ps-wrap:nth-child(9)  { animation-delay: .52s; }
.ps-wrap:nth-child(10) { animation-delay: .58s; }

@keyframes ps-fadeup {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: none; }
}

/* ════════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════════ */
.ps-hero {
  position: relative;
  background: var(--ps-navy);
  overflow: hidden;
  padding: 90px 60px 160px;
  min-height: 500px;
}
.ps-hero::before {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(13,61,116,.55) 0%, transparent 70%);
  pointer-events: none;
}
.ps-hero::after {
  content: '';
  position: absolute;
  bottom: -100px; left: -100px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(21,101,168,.25) 0%, transparent 70%);
  pointer-events: none;
}
.ps-hero__topbar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--ps-gold) 0%, var(--ps-gold-lt) 50%, var(--ps-gold) 100%);
}
#ps-wave-canvas {
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 200px;
  pointer-events: none;
  display: block;
}
.ps-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
}
.ps-hero__anchor {
  font-size: 72px;
  line-height: 1;
  margin-bottom: 12px !important;
  filter: drop-shadow(0 0 24px rgba(198,151,63,.45));
}
.ps-hero__name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(48px, 6vw, 80px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: 3px !important;
  line-height: .95 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ps-hero__sub {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  letter-spacing: 7px !important;
  color: var(--ps-seafoam) !important;
  margin-top: 8px !important;
  text-transform: uppercase !important;
}
.ps-hero__tagline {
  font-style: italic !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,.55) !important;
  margin-top: 14px !important;
  line-height: 1.6 !important;
  max-width: 500px !important;
}
.ps-hero__divider {
  width: 220px;
  height: 2px;
  margin: 18px 0 !important;
  background: linear-gradient(90deg, var(--ps-gold), transparent);
}
.ps-hero__label {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  color: var(--ps-gold-lt) !important;
  letter-spacing: 4px !important;
}
.ps-hero__badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 280px;
}
.ps-badge {
  display: flex;
  flex-direction: column;
  padding: 10px 16px;
  background: rgba(255,255,255,.07);
  border-left: 3px solid var(--ps-gold);
  border-radius: 0 6px 6px 0;
  transition: background .2s;
}
.ps-badge:hover { background: rgba(255,255,255,.11); }
.ps-badge__code {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ps-gold-lt) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.ps-badge__full {
  font-size: 11px !important;
  color: rgba(255,255,255,.5) !important;
  margin-top: 2px !important;
}

/* ════════════════════════════════════════════════════════
   SHARED SECTION
════════════════════════════════════════════════════════ */
.ps-sec {
  padding: 70px 60px;
  display: block;
  width: 100%;
}
.ps-sec__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.ps-eyebrow {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--ps-wave) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}
.ps-eyebrow::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, var(--ps-pale), transparent);
  max-width: 200px;
}
.ps-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 700 !important;
  color: var(--ps-ink) !important;
  line-height: 1.1 !important;
  margin-bottom: 32px !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.ps-dark .ps-eyebrow {
  color: var(--ps-seafoam) !important;
}
.ps-dark .ps-eyebrow::after {
  background: linear-gradient(to right, rgba(255,255,255,.15), transparent) !important;
}
.ps-dark .ps-heading {
  color: #fff !important;
}

/* ── About ── */
.ps-about { background: var(--ps-white); }
.ps-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.ps-about__text p {
  font-size: 15px !important;
  line-height: 1.75 !important;
  color: var(--ps-body) !important;
  margin-bottom: 16px !important;
}
.ps-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ps-stat {
  padding: 24px 20px;
  background: #fff;
  border-radius: 8px;
  border-bottom: 3px solid var(--ps-gold);
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
  text-align: center;
}
.ps-stat__num {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  color: var(--ps-ocean) !important;
  line-height: 1 !important;
}
.ps-stat__lbl {
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--ps-slate) !important;
  margin-top: 6px !important;
}

/* ── Competencies ── */
.ps-comp {
  background: var(--ps-navy);
  position: relative;
  overflow: hidden;
}
.ps-comp::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 100% 70% at 50% 0%, rgba(13,61,116,.5) 0%, transparent 65%);
  pointer-events: none;
}
.ps-comp__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  position: relative;
  z-index: 1;
}
.ps-comp__card {
  padding: 24px 24px 24px 20px;
  background: rgba(255,255,255,.055);
  border-top: 3px solid var(--ps-gold);
  border-radius: 0 0 8px 8px;
  position: relative;
  overflow: hidden;
  transition: background .25s, transform .25s;
}
.ps-comp__card:hover {
  background: rgba(255,255,255,.09);
  transform: translateY(-3px);
}
.ps-comp__card::after {
  content: attr(data-num);
  position: absolute;
  right: 12px; bottom: -4px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 72px;
  font-weight: 700;
  color: rgba(198,151,63,.1);
  line-height: 1;
  pointer-events: none;
}
.ps-card-icon { font-size: 28px; margin-bottom: 10px !important; }
.ps-card-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--ps-gold-lt) !important;
  margin-bottom: 8px !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.ps-card-desc {
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: rgba(255,255,255,.6) !important;
}

/* ── Differentiators ── */
.ps-diff { background: var(--ps-deep); }
.ps-diff__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
.ps-diff__card {
  display: flex;
  gap: 16px;
  padding: 20px 22px;
  background: var(--ps-navy);
  border-radius: 6px;
  border-left: 3px solid var(--ps-gold);
  transition: transform .2s, box-shadow .2s;
}
.ps-diff__card:hover {
  transform: translateX(4px);
  box-shadow: -3px 0 0 var(--ps-gold-lt);
}
.ps-diff__icon { font-size: 22px; flex-shrink: 0; margin-top: 2px !important; }
.ps-diff__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
  text-transform: uppercase !important;
  color: var(--ps-gold-lt) !important;
  margin-bottom: 6px !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.ps-diff__desc {
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: rgba(255,255,255,.55) !important;
}

/* ── NAICS ── */
.ps-naics { background: var(--ps-white); }
.ps-naics__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
}
.ps-naics__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border-radius: 6px;
  border-left: 4px solid var(--ps-ocean);
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  transition: box-shadow .2s;
}
.ps-naics__item:hover { box-shadow: 0 4px 20px rgba(13,61,116,.12); }
.ps-naics__code {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ps-ocean) !important;
  min-width: 62px !important;
  white-space: nowrap !important;
  flex-shrink: 0;
}
.ps-naics__desc {
  font-size: 13px !important;
  color: var(--ps-body) !important;
  line-height: 1.45 !important;
}

/* ── Certifications ── */
.ps-certs { background: var(--ps-deep); }
.ps-cert__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}
.ps-cert__card {
  padding: 22px 18px;
  text-align: center;
  background: rgba(245,233,200,.07);
  border: 1.5px solid var(--ps-gold);
  border-radius: 8px;
  transition: background .2s, transform .2s;
}
.ps-cert__card:hover {
  background: rgba(245,233,200,.13);
  transform: translateY(-3px);
}
.ps-cert__icon { font-size: 28px; margin-bottom: 8px !important; }
.ps-cert__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--ps-gold-lt) !important;
  line-height: 1.4 !important;
}

/* ── Contracts ── */
.ps-contracts { background: var(--ps-ltblue); }
.ps-contracts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.ps-contract__card {
  padding: 18px 18px 16px;
  background: #fff;
  border-radius: 8px;
  border-top: 3px solid var(--ps-wave);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  transition: box-shadow .2s, transform .2s;
}
.ps-contract__card:hover {
  box-shadow: 0 6px 24px rgba(21,101,168,.15);
  transform: translateY(-2px);
}
.ps-contract__icon { font-size: 22px; margin-bottom: 8px !important; }
.ps-contract__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: var(--ps-ink) !important;
  margin-bottom: 4px !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.ps-contract__sub {
  font-size: 12px !important;
  color: var(--ps-slate) !important;
  line-height: 1.4 !important;
}

/* ── Values ── */
.ps-values { background: var(--ps-white); }
.ps-values__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}
.ps-value__card {
  display: flex;
  gap: 14px;
  padding: 20px 18px;
  background: var(--ps-ltblue);
  border-left: 3px solid var(--ps-wave);
  border-radius: 0 8px 8px 0;
  transition: background .2s;
}
.ps-value__card:hover { background: var(--ps-pale); }
.ps-value__check {
  color: var(--ps-wave);
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px !important;
}
.ps-value__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: var(--ps-ink) !important;
  margin-bottom: 5px !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.ps-value__desc {
  font-size: 12.5px !important;
  color: var(--ps-body) !important;
  line-height: 1.6 !important;
}

/* ── Contact ── */
.ps-contact {
  background: var(--ps-navy);
  position: relative;
  overflow: hidden;
}
.ps-contact::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(13,61,116,.4) 0%, transparent 65%);
  pointer-events: none;
}
.ps-contact__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  position: relative;
  z-index: 1;
  align-items: start;
}
.ps-contact__info { display: flex; flex-direction: column; }
.ps-contact__row {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.ps-contact__row:last-child { border-bottom: none; }
.ps-contact__lbl {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--ps-gold) !important;
  font-weight: 700 !important;
  margin-bottom: 4px !important;
}
.ps-contact__val {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1.4 !important;
}
.ps-fedids {
  background: rgba(14,26,46,.8);
  border: 1.5px solid rgba(198,151,63,.4);
  border-radius: 8px;
  padding: 28px;
  border-top: 3px solid var(--ps-gold);
}
.ps-fedids__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--ps-gold-lt) !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(198,151,63,.3);
}
.ps-fedids__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.ps-fedids__row:last-child { border-bottom: none; }
.ps-fedids__key { font-size: 12px !important; color: var(--ps-slate) !important; }
.ps-fedids__val {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
}

/* ── Footer ── */
.ps-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  background: var(--ps-deep) !important;
  border-top: 4px solid var(--ps-gold) !important;
  padding: 28px 60px !important;
}
.ps-footer__name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--ps-gold) !important;
  letter-spacing: 2px !important;
}
.ps-footer__tags { display: flex; gap: 8px; flex-wrap: wrap; }
.ps-footer__tag {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 4px 10px;
  border: 1.5px solid var(--ps-gold);
  border-radius: 3px;
  color: var(--ps-gold-lt) !important;
}
.ps-footer__copy { font-size: 11px !important; color: var(--ps-slate) !important; }

/* ════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .ps-sec        { padding: 50px 24px; }
  .ps-hero       { padding: 60px 24px 140px; }
  .ps-hero__inner        { grid-template-columns: 1fr; }
  .ps-hero__badges       { flex-direction: row; flex-wrap: wrap; }
  .ps-about__grid,
  .ps-contact__grid      { grid-template-columns: 1fr; }
  .ps-footer             { padding: 24px !important; }
}
@media (max-width: 480px) {
  .ps-hero__name  { letter-spacing: 1px !important; }
  .ps-hero__anchor { font-size: 52px; }
}
