/*
Theme Name: VoltPhase Astra Child
Theme URI: https://voltphase.com/
Description: Child theme for Astra – VoltPhase single-page informational site.
Author: VoltPhase LLC
Template: astra
Version: 1.0.0
Text Domain: voltphase-astra-child
*/

:root{
  --vp-navy:#0B1F3B;
  --vp-copper:#B87333;
  --vp-ink:#111827;
  --vp-muted:#6B7280;
  --vp-bg:#FFFFFF;
  --vp-soft:#F3F4F6;
}

.vp-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(18px, 3vw, 32px);
}

.vp-hero{
  padding: clamp(44px, 7vw, 84px) 0;
}

.vp-kicker{
  display:inline-block;
  letter-spacing: .12em;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  color: var(--vp-copper);
  margin-bottom: 14px;
}

.vp-title{
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.05;
  margin: 0 0 14px;
  color: var(--vp-navy);
}

.vp-subtitle{
  font-size: clamp(16px, 2vw, 20px);
  color: var(--vp-ink);
  margin: 0 0 18px;
  max-width: 72ch;
}

.vp-bullets{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 0;
  margin: 18px 0 0;
  list-style: none;
}

.vp-bullets li{
  background: var(--vp-soft);
  border: 1px solid rgba(17,24,39,.08);
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 600;
  color: var(--vp-ink);
}

.vp-section{
  padding: clamp(34px, 5vw, 62px) 0;
  border-top: 1px solid rgba(17,24,39,.08);
}

.vp-h2{
  font-size: clamp(22px, 2.6vw, 30px);
  margin: 0 0 12px;
  color: var(--vp-navy);
}

.vp-lead{
  color: var(--vp-ink);
  max-width: 85ch;
  margin: 0 0 18px;
}

.vp-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 18px;
}

.vp-card{
  grid-column: span 6;
  background: var(--vp-bg);
  border: 1px solid rgba(17,24,39,.10);
  border-radius: 16px;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 28px rgba(11,31,59,.06);
}

.vp-card h3{
  margin: 0 0 8px;
  color: var(--vp-navy);
  font-size: 18px;
}

.vp-card p{
  margin: 0 0 12px;
  color: var(--vp-ink);
}

.vp-list{
  margin: 0;
  padding-left: 18px;
  color: var(--vp-ink);
}

.vp-list li{
  margin: 6px 0;
}

.vp-capabilities{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding: 0;
  margin: 0;
  list-style:none;
}

.vp-capabilities li{
  border: 1px solid rgba(17,24,39,.12);
  background: #fff;
  border-radius: 999px;
  padding: 10px 12px;
  color: var(--vp-ink);
}

.vp-contact{
  background: linear-gradient(0deg, rgba(184,115,51,.10), rgba(184,115,51,0));
  border: 1px solid rgba(184,115,51,.25);
  border-radius: 18px;
  padding: 18px;
}

.vp-contact strong{ color: var(--vp-navy); }

.vp-fineprint{
  margin-top: 14px;
  color: var(--vp-muted);
  font-size: 13px;
}

@media (max-width: 860px){
  .vp-card{ grid-column: span 12; }
}
