.contact-page main{
  color:#ecebe6;
  background:
    radial-gradient(52rem 30rem at 82% 5%,rgba(43,98,201,.16),transparent 70%),
    #030405;
}

.contact-hero{
  position:relative;
  display:block;
  padding-block:var(--vm-hero-pad);
  color:#ecebe6;
  background:
    radial-gradient(44rem 30rem at 76% 23%,rgba(43,98,201,.2),transparent 72%),
    radial-gradient(32rem 20rem at 12% 18%,rgba(23,60,158,.12),transparent 74%),
    #030405;
}

.contact-hero .c-page-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
  gap:var(--vm-space-5);
}

.contact-hero .c-page-hero-copy{
  min-width:0;
  align-items:start;
  text-align:left;
}

.contact-hero .c-page-hero-copy .c-kicker{
  color:#c7cbd2;
  background:#0b0e13;
  border-color:rgba(236,235,230,.18);
}

.contact-hero .c-page-hero-copy .c-kicker + h1{
  margin-top:var(--vm-space-2);
}

.contact-hero h1{
  max-width:14ch;
  color:#f4f2ed;
  font-size:clamp(2.5rem,4.4vw,3.75rem);
  line-height:1.16;
}

.contact-hero__lead{
  max-width:42rem;
  margin-top:var(--vm-space-3);
  color:#b1b5bc;
  font-size:var(--vm-text-3);
}

.contact-hero__actions{
  justify-content:flex-start;
  margin-block:var(--vm-space-3);
}

.contact-response{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--vm-space-2);
  margin:0;
  padding-top:var(--vm-space-3);
  border-top:1px solid #20242b;
}

.contact-response div{
  min-width:0;
}

.contact-response dt,
.contact-response dd{
  min-width:0;
  overflow-wrap:anywhere;
}

.contact-response dt{
  color:#969ca5;
}

.contact-response dd{
  margin-top:.35rem;
  color:#ecebe6;
  font-family:var(--vm-font-body);
}

.contact-dispatch{
  width:100%;
  min-width:0;
  height:auto;
  overflow:hidden;
  border:1px solid #20242b;
  border-radius:var(--vm-radius-lg);
  color:#ecebe6;
  background:#080a0d;
  box-shadow:var(--vm-shadow-panel);
  text-align:left;
}

.contact-dispatch__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--vm-space-2);
  padding:var(--vm-space-3);
  color:#ecebe6;
  background:#0d1015;
  border-bottom:1px solid #20242b;
}

.contact-dispatch__head > div{
  min-width:0;
}

.contact-dispatch__eyebrow{
  display:block;
  margin-bottom:.75rem;
  color:#7fa7ff;
  font-family:var(--vm-font-mono);
  font-size:var(--vm-text-0);
  letter-spacing:.08em;
}

.contact-dispatch__head h2{
  color:#f4f2ed;
  font-size:var(--vm-text-4);
}

.contact-dispatch__rows{
  display:grid;
  color:#ecebe6;
  background:#080a0d;
}

.contact-dispatch__row{
  display:grid;
  grid-template-columns:minmax(4.75rem,.55fr) minmax(0,1.8fr) auto;
  align-items:start;
  gap:var(--vm-space-2);
  padding:1.15rem var(--vm-space-3);
  border-bottom:1px solid rgba(236,235,230,.18);
}

.contact-dispatch__row > *{
  min-width:0;
}

.contact-dispatch__code,
.contact-dispatch__route{
  color:#9eb9f5;
  font-family:var(--vm-font-mono);
  font-size:var(--vm-text-0);
  overflow-wrap:anywhere;
}

.contact-dispatch__row strong{
  display:block;
  color:#ecebe6;
  font-size:var(--vm-text-2);
  line-height:1.45;
}

.contact-dispatch__row p{
  margin-top:.4rem;
  color:#969ca5;
  font-size:var(--vm-text-1);
  line-height:1.55;
}

.contact-dispatch__route{
  padding:.35rem .55rem;
  border-radius:var(--vm-radius-pill);
  color:#d9e4ff;
  background:#10204a;
}

.contact-dispatch__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem var(--vm-space-2);
  padding:var(--vm-space-3);
  color:#969ca5;
  background:#0a0c10;
}

.contact-dispatch__foot span{
  font-size:var(--vm-text-1);
}

.contact-dispatch__foot a{
  color:#ecebe6;
  font-family:var(--vm-font-mono);
  font-size:var(--vm-text-1);
  overflow-wrap:anywhere;
}

.contact-routing,
.contact-forms,
.contact-policy,
.contact-self-service,
.contact-closing{
  color:#ecebe6;
  background:#030405;
}

.contact-page .c-section-head{
  align-items:start;
}

.contact-page .c-section-head > div{
  min-width:0;
}

.contact-page .c-section-head .c-kicker + h2{
  margin-top:var(--vm-space-2);
}

.contact-page .c-section-head > p{
  color:#969ca5;
}

.contact-route-grid{
  margin-top:var(--vm-space-4);
  align-items:start;
}

.contact-route-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:var(--vm-space-3);
  color:#ecebe6;
  background:#151a22;
}

.contact-route-card h3{
  margin-top:var(--vm-space-2);
  color:#f4f2ed;
}

.contact-route-card p{
  margin-top:.75rem;
  color:#969ca5;
}

.contact-route-card > .c-btn{
  align-self:flex-start;
  margin-top:var(--vm-space-3);
}

.contact-route-card__mark{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
}

.contact-route-card__mark .c-badge{
  align-self:center;
}

.contact-icon-chip{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border-radius:var(--vm-radius-sm);
  color:#a9c2ff;
  background:#10204a;
}

.contact-icon-chip svg{
  width:1.2rem;
  height:1.2rem;
}

.contact-forms{
  background:
    radial-gradient(48rem 24rem at 50% 0,rgba(43,98,201,.08),transparent 76%),
    #030405;
}

.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--vm-space-3);
  margin-top:var(--vm-space-4);
}

.contact-form-card{
  min-width:0;
  padding:var(--vm-space-4);
  border-radius:var(--vm-radius-md);
  color:#ecebe6;
  background:#151a22;
}

.contact-form-card__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.contact-form-card__head .c-badge + h3{
  margin-top:var(--vm-space-2);
}

.contact-form-card__head h3{
  color:#f4f2ed;
  font-size:1.35rem;
}

.contact-form-card__head p{
  margin-top:.5rem;
  color:#969ca5;
}

.contact-mail-form{
  display:grid;
  gap:var(--vm-space-2);
  margin-top:var(--vm-space-4);
}

.contact-fieldset{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.contact-fieldset legend{
  margin-bottom:.5rem;
  padding:0;
  color:#ecebe6;
  font-size:var(--vm-text-2);
  font-weight:550;
  line-height:1.45;
}

.contact-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem;
}

.contact-choice-grid--four{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.contact-choice{
  position:relative;
  display:flex;
  min-width:0;
  min-height:2.875rem;
  align-items:center;
  gap:.65rem;
  padding:.65rem .8rem;
  border:1px solid #3b424e;
  border-radius:var(--vm-radius-sm);
  color:#c8cbd0;
  background:#0b0e13;
  cursor:pointer;
}

.contact-choice:has(input:checked){
  color:#ffffff;
  border-color:#315fca;
  background:#10204a;
}

.contact-choice input{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  width:1rem;
  height:1rem;
  flex:0 0 auto;
  place-items:center;
  margin:0;
  border:1px solid #5b6472;
  border-radius:50%;
  background:#0b0e13;
}

.contact-choice input::after{
  content:"";
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:transparent;
}

.contact-choice input:checked{border-color:#2b62c9}
.contact-choice input:checked::after{background:#2b62c9}
.contact-choice input:focus-visible{outline:2px solid #2b62c9;outline-offset:2px}

.contact-choice span{
  min-width:0;
  overflow-wrap:anywhere;
}

.contact-field-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--vm-space-2);
}

.contact-log-input{
  min-height:12rem;
  font-family:var(--vm-font-mono);
  font-size:var(--vm-text-1);
}

.contact-confirm{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin-top:.25rem;
  padding:var(--vm-space-2);
  border-radius:var(--vm-radius-sm);
  color:#d7d9dc;
  background:#0d1015;
}

.contact-confirm input{
  width:1rem;
  height:1rem;
  flex:0 0 auto;
  margin:.2rem 0 0;
  accent-color:#2b62c9;
}

.contact-confirm span{
  min-width:0;
  font-size:var(--vm-text-2);
  line-height:1.55;
}

.contact-form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:.75rem;
  margin-top:.5rem;
}

.contact-form-status{
  min-height:1.5rem;
  color:#a8c2ff;
  font-size:var(--vm-text-1);
}

.contact-form-status.is-error{
  color:#e4867f;
}

.contact-form-status.is-success{
  color:#82c9a4;
}

.contact-policy-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:stretch;
  gap:var(--vm-space-3);
}

.contact-billing-card,
.contact-security-card{
  min-width:0;
  padding:var(--vm-space-4);
  border-radius:var(--vm-radius-md);
}

.contact-billing-card{
  color:#ecebe6;
  background:#151a22;
}

.contact-billing-card .c-kicker + h2,
.contact-security-card .c-kicker + h2{
  margin-top:var(--vm-space-2);
}

.contact-billing-card h2{
  color:#f4f2ed;
}

.contact-billing-card > p{
  margin-top:var(--vm-space-2);
  color:#969ca5;
}

.contact-payment-list{
  display:grid;
  margin:var(--vm-space-3) 0 0;
  border-top:1px solid #20242b;
}

.contact-payment-list div{
  display:grid;
  grid-template-columns:minmax(7rem,.55fr) minmax(0,1.45fr);
  gap:var(--vm-space-2);
  padding-block:var(--vm-space-2);
  border-bottom:1px solid #20242b;
}

.contact-payment-list dt,
.contact-payment-list dd{
  min-width:0;
  overflow-wrap:anywhere;
}

.contact-payment-list dt{
  color:#969ca5;
}

.contact-payment-list dd{
  color:#ecebe6;
}

.contact-security-card{
  color:#1b2029;
  background:#d7e3ff;
}

.contact-security-card h2{
  color:#111722;
}

.contact-security-card p{
  margin-top:var(--vm-space-2);
  color:#3b4659;
}

.contact-security-card .c-kicker{
  color:#17233b;
  background:#b9cdfb;
  border-color:rgba(23,35,59,.18);
}

.contact-security-card .c-checklist{
  margin-top:var(--vm-space-3);
}

.contact-security-card .c-checklist li{
  color:#1b2029;
}

.contact-security-card__icon{
  display:inline-flex;
  width:2.5rem;
  height:2.5rem;
  align-items:center;
  justify-content:center;
  margin-bottom:var(--vm-space-2);
  border-radius:var(--vm-radius-sm);
  color:#ffffff;
  background:#173c9e;
}

.contact-security-card__icon svg{
  width:1.35rem;
  height:1.35rem;
}

.contact-self-grid{
  margin-top:var(--vm-space-4);
  align-items:start;
}

.contact-self-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:var(--vm-space-3);
  color:#ecebe6;
  background:#151a22;
}

.contact-self-card h3{
  margin-top:var(--vm-space-2);
  color:#f4f2ed;
}

.contact-self-card p{
  margin-top:.75rem;
  color:#969ca5;
}

.contact-self-card .c-btn{
  align-self:flex-start;
  margin-top:var(--vm-space-3);
}

.contact-step-label{
  display:inline-flex;
  width:fit-content;
  align-self:flex-start;
  padding:.4rem .65rem;
  border-radius:var(--vm-radius-pill);
  color:#b9cdfb;
  background:#10204a;
  font-family:var(--vm-font-mono);
  font-size:var(--vm-text-0);
  line-height:1.2;
  letter-spacing:.06em;
}

.contact-closing{
  padding-top:var(--vm-space-section);
  padding-bottom:var(--vm-space-5);
}

.contact-closing .c-cta-band{
  color:#ecebe6;
  background:
    radial-gradient(32rem 17rem at 78% 20%,rgba(43,98,201,.2),transparent 74%),
    #080a0d;
  border-color:#20242b;
}

.contact-closing .c-kicker{
  color:#c7cbd2;
  background:#0b0e13;
  border-color:#303640;
}

.contact-closing .c-kicker + h2{
  margin-top:var(--vm-space-2);
}

.contact-closing .c-cta-band h2{
  color:#f4f2ed;
}

.contact-closing .c-cta-band p{
  color:#969ca5;
}

.contact-closing__actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  min-width:12rem;
  margin-top:0;
}

.contact-closing__actions .c-btn{
  width:100%;
}

@media (max-width:64rem){
  .contact-hero .c-page-hero-inner{
    grid-template-columns:1fr;
  }

  .contact-hero h1{
    max-width:18ch;
  }

  .contact-form-grid,
  .contact-policy-grid{
    grid-template-columns:1fr;
    align-items:start;
  }

  .contact-policy-grid > *{
    align-self:start;
  }
}

@media (max-width:44rem){
  .contact-hero{
    padding-block:var(--vm-space-6);
  }

  .contact-hero h1{
    max-width:none;
    font-size:clamp(2.35rem,12vw,3.2rem);
  }

  .contact-response{
    grid-template-columns:1fr;
  }

  .contact-dispatch__row{
    grid-template-columns:1fr;
  }

  .contact-dispatch__route{
    width:fit-content;
  }

  .contact-form-card,
  .contact-billing-card,
  .contact-security-card{
    padding:var(--vm-space-3);
  }

  .contact-choice-grid,
  .contact-choice-grid--four,
  .contact-field-pair{
    grid-template-columns:1fr;
  }

  .contact-form-actions{
    align-items:stretch;
  }

  .contact-form-actions .c-btn{
    width:100%;
  }

  .contact-payment-list div{
    grid-template-columns:1fr;
    gap:.5rem;
  }

  .contact-closing__actions{
    width:100%;
    min-width:0;
  }
}
