/* ===========================================================================
   Queen City Electric — "volt-graphite" theme (Charlotte, NC demo).
   CROSS-SITE UNIQUENESS (AGENTS.md §5 hard law): deliberately different BONES
   from copper-desert, not a re-skin. Full-bleed image hero (vs copper's split
   panel), a hazard-stripe "danger signals" SIGNATURE section high on the page,
   ALTERNATING image/text service rows (vs copper's card grid), a neighborhood
   service-area band (copper had none), and NO coupon band (wrong for the
   niche). Palette: cool graphite + high-vis volt-lime (~68°, far from the
   banned blue band and distinct from storm-amber / copper). Fonts: Archivo +
   Plus Jakarta Sans (both unused elsewhere).
=========================================================================== */

.theme-volt {
  --graphite: #191c1a;
  --graphite-2: #21241f;
  --graphite-deep: #111311;
  --volt: #c3d631;
  --volt-br: #d4e64a;
  --concrete: #f0efe8;
  --concrete-2: #e3e1d6;
  --ink: #1a1a16;
  --ink-soft: #58554b;
  --line: rgba(26, 26, 22, 0.13);
  --line-dk: rgba(240, 239, 232, 0.15);
  --hd: var(--font-heading, 'Archivo', system-ui, sans-serif);
  --bd: var(--font-body, 'Plus Jakarta Sans', system-ui, sans-serif);

  background: var(--concrete);
  color: var(--ink);
  font-family: var(--bd);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
.theme-volt *, .theme-volt *::before, .theme-volt *::after { box-sizing: border-box; }
.theme-volt h1, .theme-volt h2, .theme-volt h3 { font-family: var(--hd); font-weight: 800; letter-spacing: -0.02em; line-height: 1.03; margin: 0; }
.theme-volt p { margin: 0; }
.theme-volt a { color: inherit; text-decoration: none; }
.theme-volt .wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 22px; }

.theme-volt [data-r] { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.19,1,.22,1), transform .7s cubic-bezier(.19,1,.22,1); }
.theme-volt [data-r].on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .theme-volt [data-r] { opacity: 1; transform: none; transition: none; } }

/* hazard-stripe motif (the signature accent) */
.theme-volt .hazard { background-image: repeating-linear-gradient(-45deg, var(--volt) 0 14px, var(--graphite) 14px 28px); }

/* ---------- Nav (license number shown — insiders notice) ---------- */
.theme-volt .nav { position: sticky; top: 0; z-index: 50; background: var(--graphite); border-bottom: 1px solid var(--line-dk); color: var(--concrete); }
.theme-volt .nav .row { display: flex; align-items: center; justify-content: space-between; height: 66px; }
.theme-volt .brand { display: flex; align-items: center; gap: 10px; font-family: var(--hd); font-weight: 800; font-size: 1.2rem; letter-spacing: -0.02em; }
.theme-volt .brand .bolt { width: 22px; height: 22px; color: var(--volt); }
.theme-volt .brand em { font-style: normal; color: var(--volt); }
.theme-volt .nav .mid { display: none; gap: 24px; font-size: 0.92rem; font-weight: 500; }
.theme-volt .nav .mid a { opacity: .8; transition: opacity .2s, color .2s; }
.theme-volt .nav .mid a:hover, .theme-volt .nav .mid a.active { opacity: 1; color: var(--volt); }
.theme-volt .nav .right { display: none; align-items: center; gap: 16px; }
.theme-volt .nav .lic { font-size: 0.72rem; letter-spacing: .06em; color: color-mix(in srgb, var(--concrete) 55%, transparent); font-weight: 600; }
.theme-volt .nav .call { background: var(--volt); color: var(--graphite); font-family: var(--hd); font-weight: 700; padding: 9px 17px; border-radius: 2px; font-size: 0.92rem; }
.theme-volt .nav .call:hover { background: var(--volt-br); }
.theme-volt .burger { display: inline-flex; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: 8px; }
.theme-volt .burger span { width: 24px; height: 2px; background: var(--concrete); transition: .25s; }
.theme-volt .burger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.theme-volt .burger.open span:nth-child(2){ opacity: 0; }
.theme-volt .burger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
.theme-volt .mmenu { position: fixed; inset: 66px 0 auto 0; z-index: 45; background: var(--graphite); border-bottom: 3px solid var(--volt); display: flex; flex-direction: column; padding: 8px 0 16px; transform: translateY(-118%); transition: transform .35s cubic-bezier(.19,1,.22,1); visibility: hidden; color: var(--concrete); }
.theme-volt .mmenu.open { transform: none; visibility: visible; }
.theme-volt .mmenu a { padding: 13px 24px; font-weight: 600; border-top: 1px solid var(--line-dk); }
.theme-volt .mmenu a.mcall { color: var(--volt); }
@media (min-width: 940px){ .theme-volt .nav .mid, .theme-volt .nav .right { display: flex; } .theme-volt .burger { display: none; } }

/* ---------- Hero: FULL-BLEED image, bottom content band ---------- */
.theme-volt .hero { position: relative; min-height: 88vh; display: flex; flex-direction: column; justify-content: flex-end; background: var(--graphite); color: var(--concrete); overflow: hidden; }
.theme-volt .hero .bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.theme-volt .hero .scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,19,17,.72) 0%, rgba(17,19,17,.5) 38%, rgba(17,19,17,.86) 100%); }
.theme-volt .hero .stripe { position: absolute; top: 0; left: 0; right: 0; height: 6px; }
.theme-volt .hero .inner { position: relative; padding: 0 22px 46px; width: 100%; max-width: 1180px; margin: 0 auto; }
.theme-volt .hero .kick { display: inline-flex; align-items: center; gap: 9px; font-family: var(--hd); font-size: 0.74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--volt); }
.theme-volt .hero h1 { margin-top: 16px; font-size: clamp(2.5rem, 6.4vw, 5rem); max-width: 16ch; text-transform: uppercase; }
.theme-volt .hero h1 .lo { color: var(--volt); }
.theme-volt .hero .sub { margin-top: 18px; max-width: 50ch; font-size: 1.08rem; line-height: 1.6; color: color-mix(in srgb, var(--concrete) 84%, transparent); }
.theme-volt .hero .cta { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.theme-volt .btn { display: inline-flex; align-items: center; gap: 9px; font-family: var(--hd); font-weight: 700; border-radius: 2px; padding: 15px 26px; font-size: 1rem; transition: transform .2s, background .2s; }
.theme-volt .btn-volt { background: var(--volt); color: var(--graphite); }
.theme-volt .btn-volt:hover { background: var(--volt-br); transform: translateY(-2px); }
.theme-volt .btn-out { border: 1.5px solid color-mix(in srgb, var(--concrete) 40%, transparent); color: var(--concrete); }
.theme-volt .btn-out:hover { border-color: var(--volt); color: var(--volt); }
.theme-volt .hero .quick { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 0.88rem; color: color-mix(in srgb, var(--concrete) 70%, transparent); }
.theme-volt .hero .quick b { color: var(--volt); }
@media (min-width: 820px){ .theme-volt .hero .inner { padding-bottom: 60px; } }

/* ---------- Danger-signals SIGNATURE section ---------- */
.theme-volt .danger { background: var(--graphite-deep); color: var(--concrete); position: relative; }
.theme-volt .danger .stripe { height: 8px; }
.theme-volt .danger .in { padding: 58px 22px; display: grid; gap: 34px; }
.theme-volt .danger .lead .tag { font-family: var(--hd); font-size: 0.74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--volt); }
.theme-volt .danger .lead h2 { margin-top: 12px; font-size: clamp(1.9rem, 4vw, 3rem); text-transform: uppercase; }
.theme-volt .danger .lead p { margin-top: 16px; max-width: 46ch; line-height: 1.6; color: color-mix(in srgb, var(--concrete) 78%, transparent); }
.theme-volt .danger .shot { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 4/3; }
.theme-volt .danger .shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-volt .danger .shot .cap { position: absolute; left: 0; bottom: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,.8)); color: #fff; font-size: 0.82rem; padding: 30px 16px 14px; }
.theme-volt .danger .signs { display: grid; gap: 1px; background: var(--line-dk); border: 1px solid var(--line-dk); border-radius: 4px; overflow: hidden; }
.theme-volt .danger .sign { background: var(--graphite); padding: 15px 18px; display: flex; gap: 12px; align-items: flex-start; font-size: 0.96rem; line-height: 1.45; }
.theme-volt .danger .sign .no { font-family: var(--hd); font-weight: 800; color: var(--volt); flex: none; }
@media (min-width: 900px){ .theme-volt .danger .in { grid-template-columns: 1fr 1fr; align-items: start; padding: 78px 22px; } .theme-volt .danger .lead { grid-column: 1 / -1; max-width: 62ch; } }

/* ---------- Services: ALTERNATING image/text rows ---------- */
.theme-volt .svc { background: var(--concrete); }
.theme-volt .svc .head { padding: 60px 22px 12px; max-width: 1180px; margin: 0 auto; }
.theme-volt .svc .head h2 { font-size: clamp(2rem, 4vw, 3rem); max-width: 20ch; }
.theme-volt .svc .head p { margin-top: 14px; color: var(--ink-soft); max-width: 56ch; line-height: 1.6; }
.theme-volt .svc .rows { max-width: 1180px; margin: 0 auto; padding: 24px 22px 66px; display: grid; gap: 28px; }
.theme-volt .srow { display: grid; gap: 22px; align-items: center; }
.theme-volt .srow .pic { border-radius: 5px; overflow: hidden; aspect-ratio: 16/11; border: 1px solid var(--line); }
.theme-volt .srow .pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-volt .srow .n { font-family: var(--hd); font-weight: 800; font-size: 0.8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--volt); background: var(--graphite); display: inline-block; padding: 4px 11px; border-radius: 2px; }
.theme-volt .srow h3 { margin-top: 14px; font-size: 1.5rem; }
.theme-volt .srow p { margin-top: 10px; color: var(--ink-soft); line-height: 1.62; }
.theme-volt .srow ul { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.theme-volt .srow li { font-size: 0.86rem; font-weight: 600; color: var(--ink); display: flex; align-items: center; gap: 7px; }
.theme-volt .srow li::before { content: ''; width: 7px; height: 7px; background: var(--volt); border-radius: 50%; display: inline-block; }
@media (min-width: 800px){ .theme-volt .srow { grid-template-columns: 1fr 1fr; gap: 44px; } .theme-volt .srow.flip .pic { order: 2; } }

/* ---------- Credentials band ---------- */
.theme-volt .creds { background: var(--graphite); color: var(--concrete); }
.theme-volt .creds .in { padding: 30px 22px; display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; justify-content: space-between; }
.theme-volt .creds .item { display: flex; flex-direction: column; gap: 2px; }
.theme-volt .creds .item .k { font-family: var(--hd); font-weight: 800; font-size: 1.1rem; color: var(--volt); }
.theme-volt .creds .item .v { font-size: 0.82rem; color: color-mix(in srgb, var(--concrete) 68%, transparent); }

/* ---------- Reviews: featured + stack ---------- */
.theme-volt .revs { background: var(--concrete-2); }
.theme-volt .revs .in { padding: 62px 22px; }
.theme-volt .revs .top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.theme-volt .revs h2 { font-size: clamp(1.9rem, 3.6vw, 2.6rem); }
.theme-volt .revs .rate { font-family: var(--hd); font-weight: 700; color: #b98b00; }
.theme-volt .revs .grid { margin-top: 30px; display: grid; gap: 16px; }
.theme-volt .revs .feat { background: var(--graphite); color: var(--concrete); border-radius: 6px; padding: 30px; }
.theme-volt .revs .feat .q { font-family: var(--hd); font-weight: 700; font-size: 1.35rem; line-height: 1.4; }
.theme-volt .revs .feat .who { margin-top: 18px; font-size: 0.9rem; color: color-mix(in srgb, var(--concrete) 66%, transparent); }
.theme-volt .revs .feat .who b { color: var(--volt); }
.theme-volt .revs .small { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 22px; }
.theme-volt .revs .small p { line-height: 1.6; font-size: 0.96rem; }
.theme-volt .revs .small .who { margin-top: 14px; font-size: 0.84rem; color: var(--ink-soft); }
.theme-volt .revs .small .who b { color: var(--ink); }
.theme-volt .revs .stars { color: var(--volt); filter: drop-shadow(0 0 1px rgba(0,0,0,.3)); letter-spacing: 2px; }
@media (min-width: 900px){ .theme-volt .revs .grid { grid-template-columns: 1.2fr 1fr; align-items: start; } .theme-volt .revs .feat { grid-row: span 2; display: flex; flex-direction: column; justify-content: center; } }

/* ---------- Service-area neighborhood band ---------- */
.theme-volt .area { background: var(--concrete); }
.theme-volt .area .in { padding: 58px 22px; }
.theme-volt .area h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); max-width: 22ch; }
.theme-volt .area p { margin-top: 12px; color: var(--ink-soft); max-width: 54ch; line-height: 1.6; }
.theme-volt .area .hoods { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 10px; }
.theme-volt .area .hood { border: 1px solid var(--line); border-radius: 100px; padding: 8px 16px; font-size: 0.9rem; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
.theme-volt .area .hood:hover { background: var(--graphite); color: var(--volt); border-color: var(--graphite); }

/* ---------- Finale ---------- */
.theme-volt .fin { background: var(--graphite); color: var(--concrete); position: relative; overflow: hidden; }
.theme-volt .fin .stripe { height: 6px; }
.theme-volt .fin .in { padding: 60px 22px; display: grid; gap: 22px; }
.theme-volt .fin h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); max-width: 18ch; text-transform: uppercase; }
.theme-volt .fin p { max-width: 48ch; line-height: 1.6; color: color-mix(in srgb, var(--concrete) 80%, transparent); }
.theme-volt .fin .finance { font-size: 0.86rem; color: var(--volt); font-weight: 600; margin-top: 4px; }
@media (min-width: 900px){ .theme-volt .fin .in { grid-template-columns: 1.5fr 1fr; align-items: center; } }

/* ---------- Footer ---------- */
.theme-volt .foot { background: var(--graphite-deep); color: var(--concrete); }
.theme-volt .foot .in { padding: 52px 22px 28px; display: grid; gap: 30px; }
.theme-volt .foot .brand { font-family: var(--hd); font-weight: 800; font-size: 1.3rem; }
.theme-volt .foot .brand em { font-style: normal; color: var(--volt); }
.theme-volt .foot .blurb { margin-top: 12px; max-width: 34ch; font-size: 0.9rem; line-height: 1.6; color: color-mix(in srgb, var(--concrete) 60%, transparent); }
.theme-volt .foot h4 { font-family: var(--hd); font-size: 0.76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--volt); margin-bottom: 12px; }
.theme-volt .foot .links a { display: block; font-size: 0.9rem; padding: 4px 0; color: color-mix(in srgb, var(--concrete) 74%, transparent); }
.theme-volt .foot .links a:hover { color: var(--volt); }
.theme-volt .foot .legal { margin-top: 18px; border-top: 1px solid var(--line-dk); padding-top: 18px; font-size: 0.76rem; color: color-mix(in srgb, var(--concrete) 48%, transparent); }
@media (min-width: 820px){ .theme-volt .foot .in { grid-template-columns: 1.6fr 1fr 1fr; } }

/* ---------- Interior: page hero ---------- */
.theme-volt .phero { background: var(--graphite); color: var(--concrete); position: relative; }
.theme-volt .phero .stripe { height: 6px; }
.theme-volt .phero .in { padding: 52px 22px 46px; }
.theme-volt .phero .crumb { font-family: var(--hd); font-size: 0.74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--volt); }
.theme-volt .phero h1 { margin-top: 14px; font-size: clamp(2.1rem, 5vw, 3.4rem); max-width: 20ch; text-transform: uppercase; }
.theme-volt .phero p { margin-top: 16px; max-width: 52ch; font-size: 1.05rem; line-height: 1.6; color: color-mix(in srgb, var(--concrete) 82%, transparent); }
@media (min-width: 820px){ .theme-volt .phero .in { padding: 72px 22px 62px; } }
/* phero with full-bleed photo + legibility scrim (Lowcountry treatment) */
.theme-volt .phero.has-img { overflow: hidden; }
.theme-volt .phero.has-img .stripe, .theme-volt .phero.has-img .in { position: relative; z-index: 2; }
.theme-volt .phero .phbg { position: absolute; inset: 0; z-index: 0; }
.theme-volt .phero .phbg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-volt .phero.has-img::after { content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(17,19,17,.94) 0%, rgba(17,19,17,.86) 38%, rgba(17,19,17,.55) 70%, rgba(17,19,17,.4) 100%),
              linear-gradient(0deg, rgba(17,19,17,.7) 0%, rgba(17,19,17,0) 42%); }
.theme-volt .phero.has-img .in { min-height: 46vh; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 120px; }
@media (min-width: 820px){ .theme-volt .phero.has-img .in { min-height: 56vh; padding-top: 150px; } }

/* ---------- Interior: prose ---------- */
.theme-volt .prose.tone-a { background: var(--concrete); }
.theme-volt .prose.tone-b { background: var(--concrete-2); }
.theme-volt .prose.tone-dk { background: var(--graphite); color: var(--concrete); }
.theme-volt .prose .in { padding: 56px 22px; }
.theme-volt .prose .eyebrow { font-family: var(--hd); font-size: 0.74rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--volt); }
.theme-volt .prose.tone-dk .eyebrow { color: var(--volt); }
.theme-volt .prose h2 { margin-top: 10px; font-size: clamp(1.7rem, 3.4vw, 2.5rem); max-width: 22ch; }
.theme-volt .prose .body { margin-top: 18px; max-width: 62ch; display: grid; gap: 14px; }
.theme-volt .prose .body p { font-size: 1.03rem; line-height: 1.7; color: var(--ink-soft); }
.theme-volt .prose.tone-dk .body p { color: color-mix(in srgb, var(--concrete) 80%, transparent); }
.theme-volt .prose ul { margin-top: 20px; display: grid; gap: 10px; max-width: 62ch; }
.theme-volt .prose li { display: flex; gap: 11px; align-items: flex-start; font-size: 1rem; line-height: 1.5; }
.theme-volt .prose li::before { content: ''; flex: none; width: 8px; height: 8px; margin-top: 8px; background: var(--volt); border-radius: 50%; }
@media (min-width: 820px){ .theme-volt .prose .in { padding: 74px 22px; } }
/* prose with alternating copy / photo columns */
.theme-volt .prose .pfig { margin-top: 26px; border-radius: 5px; overflow: hidden; aspect-ratio: 4 / 3; border: 1px solid var(--line); }
.theme-volt .prose.tone-dk .pfig { border-color: var(--line-dk); }
.theme-volt .prose .pfig img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 820px){
  .theme-volt .prose.has-img .in { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
  .theme-volt .prose.has-img .pfig { margin-top: 0; aspect-ratio: 5 / 4; }
  .theme-volt .prose.has-img.img-left .ptext { order: 2; }
  .theme-volt .prose.has-img.img-left .pfig { order: 1; }
  .theme-volt .prose.has-img h2, .theme-volt .prose.has-img .body, .theme-volt .prose.has-img ul { max-width: none; }
}

/* ---------- Interior: deep services (spec-sheet rows) ---------- */
.theme-volt .deep { background: var(--concrete); }
.theme-volt .deep .in { padding: 56px 22px; }
.theme-volt .deep h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); max-width: 20ch; }
.theme-volt .deep .list { margin-top: 32px; display: grid; gap: 18px; }
.theme-volt .deep .d { border: 1px solid var(--line); border-left: 4px solid var(--volt); border-radius: 4px; background: #fff; padding: 24px; }
.theme-volt .deep .d .tag { font-family: var(--hd); font-size: 0.7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.theme-volt .deep .d h3 { margin-top: 6px; font-size: 1.3rem; }
.theme-volt .deep .d p { margin-top: 10px; color: var(--ink-soft); line-height: 1.62; }
.theme-volt .deep .d ul { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.theme-volt .deep .d li { font-size: 0.86rem; font-weight: 600; display: flex; align-items: center; gap: 7px; }
.theme-volt .deep .d li::before { content: ''; width: 6px; height: 6px; background: var(--volt); border-radius: 50%; }
@media (min-width: 820px){ .theme-volt .deep .in { padding: 74px 22px; } .theme-volt .deep .list { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Interior: FAQ ---------- */
.theme-volt .faq { background: var(--concrete-2); }
.theme-volt .faq .in { padding: 56px 22px; }
.theme-volt .faq h2 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); }
.theme-volt .faq .list { margin-top: 26px; max-width: 780px; }
.theme-volt .fitem { border-top: 1px solid var(--line); }
.theme-volt .fitem:last-child { border-bottom: 1px solid var(--line); }
.theme-volt .fitem summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; font-family: var(--hd); font-weight: 700; font-size: 1.05rem; }
.theme-volt .fitem summary::-webkit-details-marker { display: none; }
.theme-volt .fitem .plus { flex: none; font-family: var(--hd); font-size: 1.5rem; color: var(--volt); transition: transform .25s; }
.theme-volt .fitem[open] .plus { transform: rotate(45deg); }
.theme-volt .fitem p { padding: 0 0 22px; color: var(--ink-soft); line-height: 1.7; max-width: 64ch; }
@media (min-width: 820px){ .theme-volt .faq .in { padding: 74px 22px; } }

/* ---------- Interior: contact ---------- */
.theme-volt .contact { background: var(--concrete); }
.theme-volt .contact .in { padding: 56px 22px; }
.theme-volt .contact .cgrid { display: grid; gap: 34px; }
.theme-volt .contact h2 { font-size: clamp(1.8rem, 3.6vw, 2.5rem); }
.theme-volt .contact .csub { margin-top: 14px; max-width: 44ch; color: var(--ink-soft); line-height: 1.6; }
.theme-volt .contact .methods { margin-top: 24px; display: grid; gap: 2px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.theme-volt .contact .method { background: #fff; padding: 16px 20px; display: grid; gap: 3px; }
.theme-volt .contact .method .ml { font-family: var(--hd); font-size: 0.72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.theme-volt .contact .method .mv { font-family: var(--hd); font-weight: 700; font-size: 1.05rem; }
.theme-volt a.method:hover .mv { color: #7a8a1e; }
.theme-volt .cform { background: var(--graphite); color: var(--concrete); border-radius: 6px; padding: 26px; display: grid; }
.theme-volt .cform label { font-family: var(--hd); font-size: 0.84rem; font-weight: 600; margin-top: 16px; }
.theme-volt .cform label:first-of-type { margin-top: 0; }
.theme-volt .cform input[type=text], .theme-volt .cform input[type=tel], .theme-volt .cform input[type=email], .theme-volt .cform textarea { margin-top: 7px; width: 100%; border: 1px solid var(--line-dk); border-radius: 3px; background: var(--graphite-2); color: var(--concrete); padding: 11px 13px; font: inherit; font-size: 1rem; }
.theme-volt .cform input:focus, .theme-volt .cform textarea:focus { outline: none; border-color: var(--volt); }
.theme-volt .cform input::placeholder, .theme-volt .cform textarea::placeholder { color: color-mix(in srgb, var(--concrete) 42%, transparent); }
.theme-volt .cform .consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; font-size: 0.76rem; font-weight: 400; line-height: 1.45; color: color-mix(in srgb, var(--concrete) 72%, transparent); }
.theme-volt .cform .consent input { margin-top: 2px; accent-color: var(--volt); }
.theme-volt .cform button { margin-top: 20px; background: var(--volt); color: var(--graphite); font-family: var(--hd); font-weight: 700; border: 0; border-radius: 3px; padding: 14px; font-size: 1.02rem; cursor: pointer; transition: background .2s; }
.theme-volt .cform button:hover { background: var(--volt-br); }
@media (min-width: 860px){ .theme-volt .contact .cgrid { grid-template-columns: 1fr 1.1fr; gap: 44px; } .theme-volt .contact .in { padding: 74px 22px; } }

/* Sticky mobile call bar */
.theme-volt .callbar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; background: var(--volt); color: var(--graphite); display: flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--hd); font-weight: 800; padding: 14px; }
@media (min-width: 940px){ .theme-volt .callbar { display: none; } }
.theme-volt.has-callbar { padding-bottom: 54px; }
@media (min-width: 940px){ .theme-volt.has-callbar { padding-bottom: 0; } }
