.contact-page main{
  background:#ffffff;
  color:#46505f
}

.contact-hero{
  padding-block:var(--hero-pad);
  background:#fafafc;
  color:#46505f
}

.contact-hero h1,
.contact-hero h2,
.contact-hero h3{
  color:#11182a
}

.contact-hero__split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.94fr);
  align-items:start;
  gap:clamp(2.5rem,6vw,5.5rem)
}

.contact-hero__copy,
.contact-hero__stage{
  min-width:0
}

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

.contact-hero__copy .c-kicker + h1,
.contact-section-head .c-kicker + h2,
.contact-enterprise-copy .c-kicker + h2,
.contact-privacy-panel .c-kicker + h2,
.contact-closing__copy .c-kicker + h2{
  margin-top:var(--space-2)
}

.contact-hero__copy h1{
  max-width:15ch;
  font-size:clamp(2.65rem,5.1vw,4rem);
  line-height:1.16
}

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

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

.contact-hero__facts{
  display:grid;
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0;
  padding-top:var(--space-3);
  border-top:1px solid #e1e3e8
}

.contact-hero__facts div{
  min-width:0;
  padding-right:var(--space-2)
}

.contact-hero__facts div + div{
  padding-left:var(--space-2);
  border-left:1px solid #e1e3e8
}

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

.contact-hero__facts dt{
  color:#11182a
}

.contact-hero__facts dd{
  margin-top:.5rem;
  color:#596371
}

.contact-hero__stage{
  align-self:start
}

.contact-routing-board{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#f2f5f8;
  color:#24313b;
  box-shadow:var(--shadow)
}

.contact-routing-board__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:#f5f2ed;
  color:#302b27
}

.contact-routing-board__head h2{
  margin-top:.5rem;
  color:#302b27;
  font-size:var(--text-lg);
  letter-spacing:-.025em
}

.contact-routing-board__head .c-badge{
  flex:0 0 auto;
  background:#2946a3;
  color:#ffffff
}

.contact-routing-board__code{
  color:#645b52;
  font-size:var(--text-xs);
  letter-spacing:.08em
}

.contact-routing-board__body{
  padding-inline:var(--space-3);
  background:#ffffff;
  color:#46505f
}

.contact-route-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-2);
  min-width:0;
  padding-block:var(--space-2);
  border-bottom:1px solid #e1e3e8
}

.contact-route-row:last-child{
  border-bottom:0
}

.contact-route-row__index{
  display:inline-flex;
  width:2rem;
  height:2rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#f2f5f8;
  color:#2946a3;
  font-size:var(--text-xs);
  font-weight:700
}

.contact-route-row div{
  display:grid;
  gap:.5rem;
  min-width:0
}

.contact-route-row strong,
.contact-route-row span{
  min-width:0;
  overflow-wrap:anywhere
}

.contact-route-row strong{
  color:#11182a;
  line-height:1.35
}

.contact-route-row div span{
  color:#596371;
  font-size:var(--text-sm);
  line-height:1.45
}

.contact-route-row__channel{
  padding:.42em .72em;
  border-radius:999px;
  background:#f2f6f1;
  color:#253229;
  font-size:var(--text-xs);
  font-weight:700
}

.contact-routing-board__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:#11182a;
  color:#d7dcea;
  font-size:var(--text-xs)
}

.contact-section-head{
  display:flex;
  max-width:48rem;
  flex-direction:column;
  align-items:flex-start
}

.contact-section-head p{
  margin-top:var(--space-2);
  color:inherit;
  font-size:var(--text-md)
}

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

.contact-mail-form{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding-inline:clamp(1.5rem,3vw,2.25rem);
  background:#ffffff;
  color:#46505f
}

.contact-mail-form h2,
.contact-mail-form h3,
.contact-mail-form legend,
.contact-mail-form label{
  color:#11182a
}

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

.contact-fieldset + .contact-fieldset,
.contact-form-grid + .contact-fieldset,
.contact-fieldset + .contact-form-grid,
.contact-fieldset + .contact-message-field{
  margin-top:var(--space-4)
}

.contact-fieldset legend{
  width:100%;
  margin:0 0 var(--space-2);
  padding:0;
  font-family:var(--font-heading);
  font-size:var(--text-lg);
  font-weight:600;
  line-height:1.2
}

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

.contact-choice-grid--category .contact-choice:last-child{
  grid-column:1 / -1
}

.contact-choice-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr))
}

.contact-choice-grid--period{
  grid-template-columns:repeat(5,minmax(0,1fr))
}

.contact-choice{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:.65rem;
  padding:var(--space-2);
  border-radius:var(--radius-md);
  background:#f2f5f8;
  color:#24313b;
  cursor:pointer
}

.contact-choice:has(input:checked){
  box-shadow:inset 0 0 0 2px #2946a3;
  background:#ffffff;
  color:#11182a
}

.contact-choice input{
  appearance:none;
  flex:0 0 auto;
  width:1rem;
  height:1rem;
  margin:.18rem 0 0;
  border:1.5px solid #6b7380;
  border-radius:50%;
  background:#ffffff
}

.contact-choice input:checked{
  border-color:#2946a3;
  background:radial-gradient(circle at center,#2946a3 0 38%,#ffffff 41%)
}

.contact-choice span{
  display:grid;
  gap:.5rem;
  min-width:0
}

.contact-choice strong,
.contact-choice small{
  min-width:0;
  overflow-wrap:anywhere
}

.contact-choice strong{
  color:inherit;
  line-height:1.35
}

.contact-choice small{
  color:#596371
}

.contact-choice--compact{
  padding:.85rem
}

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

.contact-form-grid .c-field + .c-field{
  margin-top:0
}

.contact-message-field{
  margin-top:var(--space-4)
}

.contact-consent{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  margin-top:var(--space-2);
  color:#46505f;
  font-weight:500
}

.contact-consent input{
  flex:0 0 auto;
  width:1rem;
  height:1rem;
  margin:.22rem 0 0;
  accent-color:#2946a3
}

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

.contact-form-actions{
  justify-content:flex-start;
  margin-top:var(--space-3)
}

.contact-form-status{
  min-height:1.5rem;
  margin-top:var(--space-2);
  color:#2946a3;
  font-size:var(--text-sm);
  font-weight:600
}

.contact-form-status.is-error{
  color:#8a2836
}

.contact-form-side{
  display:grid;
  grid-template-rows:auto auto;
  align-items:start;
  gap:var(--space-3);
  min-width:0
}

.contact-channel-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  padding-inline:clamp(1.5rem,3vw,2.25rem)
}

.contact-channel-card .c-badge + h3{
  margin-top:var(--space-2)
}

.contact-channel-card ul{
  margin:var(--space-2) 0 0;
  padding-left:1.25rem
}

.contact-channel-card li + li{
  margin-top:.5rem
}

.contact-channel-card .c-btn{
  margin-top:var(--space-3);
  overflow-wrap:anywhere
}

.contact-guidance-section{
  background:#f5f2ed;
  color:#302b27
}

.contact-guidance-section h2,
.contact-guidance-section h3{
  color:#302b27
}

.contact-guidance-grid{
  margin-top:var(--space-4)
}

.contact-guidance-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-inline:clamp(1.5rem,3vw,2.25rem);
  background:#ffffff;
  color:#46505f
}

.contact-guidance-card__index{
  color:#2946a3;
  font-size:var(--text-xs);
  font-weight:750;
  letter-spacing:.08em
}

.contact-guidance-card__index + h3{
  margin-top:var(--space-2)
}

.contact-guidance-card p{
  margin-top:var(--space-1);
  color:#596371
}

.contact-guidance-card--result{
  background:#f2f6f1;
  color:#253229
}

.contact-guidance-card--result h3,
.contact-guidance-card--result p{
  color:#253229
}

.contact-enterprise-layout{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  align-items:stretch;
  gap:var(--space-4)
}

.contact-enterprise-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start
}

.contact-enterprise-copy p{
  margin-top:var(--space-2)
}

.contact-enterprise-copy .c-btn{
  margin-top:var(--space-3)
}

.contact-enterprise-ledger{
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#f2f5f8;
  color:#24313b
}

.contact-enterprise-ledger__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3);
  background:#2946a3;
  color:#ffffff
}

.contact-enterprise-ledger__head span,
.contact-enterprise-ledger__head strong{
  min-width:0;
  overflow-wrap:anywhere
}

.contact-enterprise-ledger__head span{
  font-size:var(--text-xs);
  letter-spacing:.08em
}

.contact-enterprise-ledger dl{
  margin:0;
  padding-inline:var(--space-3);
  background:#f2f5f8;
  color:#24313b
}

.contact-enterprise-ledger dl div{
  display:grid;
  grid-template-columns:minmax(0,.35fr) minmax(0,1fr);
  gap:var(--space-2);
  min-width:0;
  padding-block:var(--space-2);
  border-bottom:1px solid #e1e3e8
}

.contact-enterprise-ledger dl div:last-child{
  border-bottom:0
}

.contact-enterprise-ledger dt,
.contact-enterprise-ledger dd{
  min-width:0;
  color:#24313b;
  overflow-wrap:anywhere
}

.contact-billing-section{
  background:#f2f5f8;
  color:#24313b
}

.contact-billing-section h2,
.contact-billing-section h3{
  color:#24313b
}

.contact-billing-grid{
  margin-top:var(--space-4)
}

.contact-billing-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding-inline:clamp(1.5rem,3vw,2.25rem);
  background:#ffffff;
  color:#46505f
}

.contact-billing-card .c-badge + h3{
  margin-top:var(--space-2)
}

.contact-billing-card dl{
  width:100%;
  margin:var(--space-2) 0 0
}

.contact-billing-card dl div{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,1fr);
  gap:var(--space-2);
  min-width:0;
  padding-block:var(--space-2);
  border-bottom:1px solid #e1e3e8
}

.contact-billing-card dl div:last-child{
  border-bottom:0
}

.contact-billing-card dt,
.contact-billing-card dd{
  min-width:0;
  color:#46505f;
  overflow-wrap:anywhere
}

.contact-billing-card .c-checklist{
  margin-top:var(--space-2)
}

.contact-billing-card .c-btn{
  margin-top:var(--space-3)
}

.contact-response-table th,
.contact-response-table td{
  min-width:10rem;
  vertical-align:top
}

.contact-response-section .table-scroll{
  margin-top:var(--space-4)
}

.contact-response-note{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  margin-top:var(--space-3);
  background:#f5f2ed;
  color:#302b27
}

.contact-response-note strong,
.contact-response-note span{
  min-width:0;
  color:#302b27;
  overflow-wrap:anywhere
}

.contact-privacy-section{
  background:#f7f1f4;
  color:#352934
}

.contact-privacy-section h2{
  color:#352934
}

.contact-privacy-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:var(--radius-lg);
  background:#ffffff;
  color:#46505f
}

.contact-privacy-panel__icon{
  display:inline-flex;
  width:3rem;
  height:3rem;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-md);
  background:#f2f5f8;
  color:#2946a3
}

.contact-privacy-panel__icon svg{
  width:1.375rem;
  height:1.375rem
}

.contact-privacy-panel p{
  margin-top:var(--space-2);
  color:#596371
}

.contact-privacy-panel .c-checklist{
  margin-top:var(--space-3)
}

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

.contact-closing{
  background:#11182a;
  color:#c8cede
}

.contact-closing h2{
  color:#ffffff
}

.contact-closing p{
  max-width:44rem;
  margin-top:var(--space-2);
  color:#aeb7cd
}

.contact-closing .c-kicker-fill{
  background:#f5f2ed;
  color:#302b27
}

.contact-closing .c-kicker-fill::before{
  background:#2946a3
}

.contact-closing__copy{
  min-width:0
}

.contact-closing__actions{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:center;
  gap:.75rem
}

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

.contact-closing__actions .c-btn-ghost{
  color:#ffffff;
  border-color:rgba(255,255,255,.38)
}

@media(max-width:64rem){
  .contact-hero__split,
  .contact-form-layout,
  .contact-enterprise-layout{
    grid-template-columns:1fr
  }

  .contact-hero__copy h1{
    max-width:18ch
  }

  .contact-form-side{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    align-items:start
  }

  .contact-choice-grid--period{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media(max-width:48rem){
  .contact-hero__facts{
    grid-template-columns:1fr
  }

  .contact-hero__facts div{
    padding:var(--space-2) 0
  }

  .contact-hero__facts div + div{
    padding-left:0;
    border-top:1px solid #e1e3e8;
    border-left:0
  }

  .contact-form-grid,
  .contact-form-side,
  .contact-choice-grid,
  .contact-choice-grid--compact,
  .contact-choice-grid--period{
    grid-template-columns:1fr
  }

  .contact-choice-grid--category .contact-choice:last-child{
    grid-column:auto
  }

  .contact-routing-board__head,
  .contact-routing-board__foot,
  .contact-enterprise-ledger__head{
    align-items:flex-start;
    flex-direction:column
  }

  .contact-route-row{
    grid-template-columns:auto minmax(0,1fr)
  }

  .contact-route-row__channel{
    grid-column:2;
    justify-self:start
  }

  .contact-enterprise-ledger dl div,
  .contact-billing-card dl div{
    grid-template-columns:1fr;
    gap:.5rem
  }

  .contact-privacy-panel{
    grid-template-columns:1fr
  }
}

@media(max-width:42rem){
  .contact-hero__copy h1{
    max-width:none;
    font-size:clamp(2.4rem,12vw,3.15rem)
  }

  .contact-hero__actions,
  .contact-form-actions{
    width:100%
  }

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

  .contact-routing-board__head,
  .contact-routing-board__body,
  .contact-routing-board__foot{
    padding-inline:var(--space-3)
  }

  .contact-response-note{
    flex-direction:column
  }

  .contact-closing__actions{
    width:100%;
    align-items:stretch
  }
}
