.contact-page [hidden]{display:none!important}

.contact-page .c-page-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,31rem);
  align-items:start;
  gap:var(--space-7);
}

.contact-hero{
  padding-block:var(--hero-space);
  background:var(--color-canvas);
  color:#f2f4f7;
}

.contact-hero-copy{
  min-width:0;
  overflow-wrap:anywhere;
}

.contact-hero-copy .c-kicker+h1,
.contact-page .c-section__head .c-kicker+h2,
.contact-form-intro .c-kicker+h2,
.contact-team-copy .c-kicker+h2,
.contact-payment-card .c-kicker+h2,
.contact-page .c-cta .c-kicker+h2{
  margin-top:var(--space-4);
}

.contact-hero-copy h1{
  max-width:14ch;
  color:#f2f4f7;
}

.contact-hero-lead{
  max-width:42rem;
  margin-top:var(--space-4);
  color:#a1a8b2;
  font-size:var(--text-lg);
}

.contact-hero-note{
  max-width:42rem;
  margin-top:var(--space-5);
  color:#969da8;
  font-size:var(--text-sm);
}

.contact-hero-note a{
  color:#aab9ff;
  overflow-wrap:anywhere;
}

.contact-hero-stage{
  min-width:0;
  height:auto;
  overflow:visible;
}

.contact-router{
  width:100%;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface-2);
  color:#f2f4f7;
  box-shadow:var(--shadow-window);
  text-align:left;
}

.contact-router__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  padding:var(--space-4) var(--space-5);
  background:var(--color-primary);
  color:#ffffff;
}

.contact-router__head span{
  font-size:var(--text-sm);
  font-weight:650;
}

.contact-router__head strong{
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  font-weight:600;
}

.contact-router__body{
  padding:var(--space-5);
  background:var(--color-surface-2);
  color:#f2f4f7;
}

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

.contact-router__topic{
  display:flex;
  min-width:0;
  align-items:center;
  gap:var(--space-3);
  padding:var(--space-4);
  border-radius:var(--radius-sm);
  background:var(--color-surface-3);
  color:#f2f4f7;
}

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

.contact-router__topic strong,
.contact-router__topic small{
  display:block;
  overflow-wrap:anywhere;
}

.contact-router__topic strong{
  font-size:var(--text-sm);
}

.contact-router__topic small{
  margin-top:var(--space-1);
  color:#969da8;
}

.contact-router__code{
  display:inline-flex;
  width:2.5rem;
  height:2.5rem;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--color-primary);
  color:#ffffff;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1;
}

.contact-router__nodes{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--space-2);
  margin-top:var(--space-5);
}

.contact-router__nodes span{
  display:flex;
  min-width:0;
  min-height:3.25rem;
  align-items:center;
  justify-content:center;
  padding:var(--space-2);
  border-radius:var(--radius-sm);
  background:#202734;
  color:#dce3ed;
  font-size:var(--text-xs);
  line-height:1.35;
  text-align:center;
  overflow-wrap:anywhere;
}

.contact-router__route{
  display:grid;
  gap:0;
  margin:var(--space-5) 0 0;
}

.contact-router__route div{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
  gap:var(--space-3);
  padding-block:var(--space-3);
  border-top:1px solid var(--color-line);
}

.contact-router__route dt,
.contact-router__route dd{
  min-width:0;
  color:#dce3ed;
  overflow-wrap:anywhere;
}

.contact-router__route dd{
  color:#969da8;
  text-align:right;
}

.contact-page .c-section{
  padding-block:var(--section-space);
}

.contact-page .c-section__head{
  max-width:48rem;
  margin-inline:auto;
  text-align:center;
}

.contact-page .c-section__head .c-kicker{
  margin-inline:auto;
}

.contact-page .c-section__head h2{
  color:#f2f4f7;
}

.contact-page .c-section__head p{
  margin-top:var(--space-4);
  color:#969da8;
}

.contact-topic-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));
  gap:var(--space-4);
  align-items:stretch;
  margin-top:var(--space-7);
}

.contact-topic{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:var(--color-surface-2);
  color:#f2f4f7;
}

.contact-topic .c-badge{
  margin-bottom:var(--space-4);
}

.contact-topic h3{
  color:#f2f4f7;
  font-size:var(--text-xl);
}

.contact-topic p{
  margin-top:var(--space-2);
  color:#a1a8b2;
}

.contact-topic__link{
  width:fit-content;
  margin-top:auto;
  padding-top:var(--space-5);
  color:#aab9ff;
  font-size:var(--text-sm);
  font-weight:650;
}

.contact-form-section{
  background:var(--color-canvas-2);
  color:#f2f4f7;
}

.contact-form-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:var(--space-6);
  align-items:start;
}

.contact-form-layout--reverse{
  grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);
}

.contact-form-layout--reverse .contact-form-intro{
  grid-column:2;
  grid-row:1;
}

.contact-form-layout--reverse .contact-mail-form{
  grid-column:1;
  grid-row:1;
}

.contact-form-intro{
  min-width:0;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:var(--color-surface-3);
  color:#f2f4f7;
}

.contact-form-intro h2{
  color:#f2f4f7;
  font-size:var(--text-2xl);
}

.contact-form-intro>p{
  margin-top:var(--space-3);
  color:#a1a8b2;
}

.contact-form-intro .c-checklist,
.contact-diagnostic-list{
  margin-top:var(--space-5);
}

.contact-mail-form{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-surface-2);
  color:#f2f4f7;
  box-shadow:inset 0 0 0 1px var(--color-line);
}

.contact-form-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  padding:var(--space-4) var(--space-5);
  background:var(--color-primary);
  color:#ffffff;
}

.contact-form-head strong{
  font-size:var(--text-base);
}

.contact-form-head span{
  font-size:var(--text-xs);
  text-align:right;
}

.contact-form-body{
  display:grid;
  gap:var(--space-5);
  padding:var(--space-5);
  background:var(--color-surface-2);
  color:#f2f4f7;
}

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

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

.contact-fieldset legend{
  margin-bottom:var(--field-gap);
  padding:0;
  color:#dce3ed;
  font-size:var(--text-sm);
  font-weight:650;
}

.contact-choice input,
.contact-region-choice input,
.contact-pill-options input{
  appearance:none;
}

.contact-choice .c-choice__body strong{
  color:#f2f4f7;
}

.contact-choice .c-choice__body small{
  color:#969da8;
}

.contact-region-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));
  gap:var(--space-2);
}

.contact-region-choice{
  position:relative;
  display:block;
  min-width:0;
}

.contact-region-choice input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
}

.contact-region-choice span{
  display:flex;
  min-height:4.5rem;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:var(--space-4) var(--space-5);
  border:1px solid #394352;
  border-radius:var(--radius-md);
  background:#111720;
  color:#f2f4f7;
  cursor:pointer;
}

.contact-region-choice small{
  margin-top:var(--space-1);
  color:#969da8;
  font-family:var(--font-mono);
}

.contact-region-choice input:checked+span{
  border-color:var(--color-primary-bright);
  background:#182247;
  color:#ffffff;
  box-shadow:inset 0 0 0 1px var(--color-primary-bright);
}

.contact-pill-options{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}

.contact-pill-options label{
  position:relative;
  display:block;
}

.contact-pill-options input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
}

.contact-pill-options span{
  display:inline-flex;
  min-height:2.75rem;
  align-items:center;
  justify-content:center;
  padding:.65rem 1rem;
  border:1px solid #394352;
  border-radius:999px;
  background:#111720;
  color:#dce3ed;
  line-height:1;
  cursor:pointer;
}

.contact-pill-options input:checked+span{
  border-color:var(--color-primary-bright);
  background:var(--color-primary);
  color:#ffffff;
}

.contact-log-input{
  font-family:var(--font-mono);
}

.contact-confirm{
  display:flex;
  align-items:flex-start;
  gap:var(--space-3);
  margin-top:var(--space-3);
  color:#c4cad2;
}

.contact-confirm input{
  width:1.1rem;
  height:1.1rem;
  flex:0 0 auto;
  margin:.15rem 0 0;
  accent-color:var(--color-primary-bright);
}

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

.contact-form-body .c-action-row{
  justify-content:flex-start;
  margin-top:var(--space-3);
}

.contact-diagnostic-list{
  display:grid;
}

.contact-diagnostic-list>div{
  padding-block:var(--space-4);
  border-top:1px solid var(--color-line);
}

.contact-diagnostic-list strong,
.contact-diagnostic-list span{
  display:block;
}

.contact-diagnostic-list strong{
  color:#f2f4f7;
  font-size:var(--text-sm);
}

.contact-diagnostic-list span{
  margin-top:var(--space-2);
  color:#969da8;
  font-size:var(--text-sm);
}

.contact-order-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
  gap:var(--space-4);
  align-items:stretch;
  margin-top:var(--space-7);
}

.contact-order-card{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:var(--color-surface-2);
  color:#f2f4f7;
}

.contact-order-card .c-icon-well{
  margin-bottom:var(--space-4);
}

.contact-order-card h3{
  color:#f2f4f7;
  font-size:var(--text-xl);
}

.contact-order-card ul{
  margin:var(--space-4) 0 0;
  padding-left:1.2rem;
  color:#a1a8b2;
}

.contact-order-card li+li{
  margin-top:var(--space-2);
}

.contact-order-card .c-action-row{
  margin-top:auto;
  padding-top:var(--space-5);
}

.contact-team-section{
  background:var(--color-canvas-2);
  color:#f2f4f7;
}

.contact-team-card{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:var(--space-6);
  align-items:stretch;
  padding:var(--space-6);
  border-radius:var(--radius-lg);
  background:var(--color-surface-2);
  color:#f2f4f7;
}

.contact-team-copy{
  min-width:0;
}

.contact-team-copy h2{
  color:#f2f4f7;
}

.contact-team-copy p{
  margin-top:var(--space-4);
  color:#a1a8b2;
}

.contact-team-copy .c-btn{
  margin-top:var(--space-5);
}

.contact-team-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
}

.contact-team-fields>div{
  min-width:0;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:var(--color-surface-3);
  color:#f2f4f7;
}

.contact-team-fields span,
.contact-team-fields strong,
.contact-team-fields p{
  display:block;
}

.contact-team-fields span{
  color:#aab9ff;
  font-size:var(--text-xs);
}

.contact-team-fields strong{
  margin-top:var(--space-3);
  color:#f2f4f7;
}

.contact-team-fields p{
  margin-top:var(--space-2);
  color:#969da8;
  font-size:var(--text-sm);
}

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

.contact-safety-card,
.contact-payment-card{
  display:flex;
  min-width:0;
  height:auto;
  flex-direction:column;
  padding:var(--space-5);
  border-radius:var(--radius-md);
}

.contact-safety-card{
  background:var(--color-surface-2);
  color:#f2f4f7;
}

.contact-payment-card{
  background:var(--surface-sand);
  color:#261d14;
}

.contact-safety-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  margin-bottom:var(--space-4);
}

.contact-safety-card h2,
.contact-payment-card h2{
  font-size:var(--text-2xl);
}

.contact-safety-card h2{
  color:#f2f4f7;
}

.contact-payment-card h2{
  color:#261d14;
}

.contact-safety-card>p{
  margin-top:var(--space-3);
  color:#a1a8b2;
}

.contact-payment-card>p{
  margin-top:var(--space-3);
  color:#4d3c2b;
}

.contact-do-not-send{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
  margin-top:var(--space-5);
}

.contact-do-not-send span{
  display:inline-flex;
  align-items:center;
  padding:.4em .9em;
  border-radius:999px;
  background:#202734;
  color:#dce3ed;
  font-size:var(--text-sm);
  line-height:1;
}

.contact-payment-methods{
  display:grid;
  gap:var(--space-3);
  margin-top:var(--space-5);
}

.contact-payment-methods>div{
  padding:var(--space-4);
  border-radius:var(--radius-sm);
  background:var(--surface-lemon);
  color:#262311;
}

.contact-payment-methods strong,
.contact-payment-methods span{
  display:block;
}

.contact-payment-methods span{
  margin-top:var(--space-2);
  color:#4d4622;
  font-size:var(--text-sm);
}

.contact-response-section{
  background:var(--color-canvas-2);
  color:#f2f4f7;
}

.contact-response-list{
  margin-top:var(--space-7);
}

.contact-response-row{
  display:grid;
  grid-template-columns:2.5rem minmax(7.5rem,11rem) minmax(0,1fr);
  gap:var(--space-3);
  align-items:start;
  padding:var(--space-4);
  border-top:1px solid var(--color-line);
}

.contact-response-row:last-child{
  border-bottom:1px solid var(--color-line);
}

.contact-response-row__number{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--color-primary);
  color:#ffffff;
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  line-height:1;
}

.contact-response-row strong{
  color:#f2f4f7;
}

.contact-response-row p{
  color:#969da8;
}

.contact-response-note{
  margin-top:var(--space-6);
  padding:var(--space-5);
  border-radius:var(--radius-md);
  background:var(--color-surface-3);
  color:#f2f4f7;
}

.contact-response-note strong{
  display:block;
  color:#f2f4f7;
}

.contact-response-note p{
  margin-top:var(--space-2);
  color:#a1a8b2;
}

.contact-closing-section{
  padding-bottom:var(--space-8);
}

.contact-page .c-cta h2{
  max-width:38rem;
  color:#f2f4f7;
  font-size:var(--text-2xl);
}

.contact-page .c-cta p{
  max-width:42rem;
}

.contact-closing-actions{
  flex:0 0 auto;
  flex-direction:column;
  align-items:stretch;
  margin-top:0;
}

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

@media(max-width:64rem){
  .contact-page .c-page-hero__grid,
  .contact-form-layout,
  .contact-form-layout--reverse,
  .contact-team-card{
    grid-template-columns:minmax(0,1fr);
  }

  .contact-form-layout--reverse .contact-form-intro,
  .contact-form-layout--reverse .contact-mail-form{
    grid-column:auto;
    grid-row:auto;
  }

  .contact-form-layout--reverse .contact-form-intro{
    order:0;
  }

  .contact-form-layout--reverse .contact-mail-form{
    order:1;
  }

  .contact-hero-stage{
    width:min(calc(100% - var(--gutter)*2),100%);
    height:auto;
    margin-inline:auto;
    overflow:visible;
    transform:none;
  }

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

@media(max-width:42rem){
  .contact-hero-copy h1{
    max-width:none;
  }

  .contact-hero-copy .c-action-row,
  .contact-form-body .c-action-row{
    align-items:stretch;
    flex-direction:column;
  }

  .contact-hero-copy .c-action-row .c-btn,
  .contact-form-body .c-action-row .c-btn{
    width:100%;
    white-space:normal;
  }

  .contact-router__head,
  .contact-form-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .contact-router__head strong,
  .contact-form-head span{
    text-align:left;
  }

  .contact-router__topics,
  .contact-field-grid,
  .contact-safety-grid,
  .contact-team-fields{
    grid-template-columns:minmax(0,1fr);
  }

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

  .contact-router__nodes span:last-child{
    grid-column:1/-1;
  }

  .contact-router__route div{
    grid-template-columns:minmax(0,1fr);
  }

  .contact-router__route dd{
    text-align:left;
  }

  .contact-form-intro,
  .contact-form-body,
  .contact-team-card,
  .contact-safety-card,
  .contact-payment-card{
    padding:var(--space-5);
  }

  .contact-region-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .contact-response-row{
    grid-template-columns:2.25rem minmax(0,1fr);
  }

  .contact-response-row>:nth-child(3){
    grid-column:2;
  }

  .contact-page .c-cta{
    padding-inline:var(--space-5);
  }

  .contact-closing-actions{
    width:100%;
  }
}
