.contact-page{
  background:#FAF9F6;
  color:#172126;
}

.contact-hero{
  padding-block:var(--hero-pad) var(--section-pad);
  background:#F0EAF7;
  color:#30283A;
}

.contact-hero .c-page-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  text-align:center;
}

.contact-hero .c-page-hero-copy .c-kicker{
  align-self:center;
  margin-inline:auto;
}

.contact-hero .c-page-hero-copy h1{
  max-width:58rem;
  margin-top:var(--space-2);
  color:#30283A;
  font-size:clamp(2.55rem,5.2vw,4rem);
  line-height:1.18;
}

.contact-hero .c-page-hero-copy p{
  max-width:48rem;
  margin-top:var(--space-2);
  color:#5D5267;
  font-size:var(--text-md);
  overflow-wrap:break-word;
}

.contact-hero .actions{
  justify-content:center;
  margin-top:var(--space-3);
}

.contact-data-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--space-2);
  margin-top:var(--space-5);
  margin-bottom:var(--space-5);
  padding:var(--space-2);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.78);
}

.contact-data-item{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.45rem;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#FFFFFF;
  color:#172126;
  transition:transform var(--transition),box-shadow var(--transition);
}

.contact-data-item:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-soft);
}

.contact-data-item:focus-visible{
  outline:3px solid color-mix(in srgb,#00617D 32%,transparent);
  outline-offset:3px;
}

.contact-data-item b{
  color:#172126;
  font-family:var(--font-heading);
  font-size:var(--text-md);
}

.contact-data-item span{
  color:#59666D;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.contact-routing-stage{
  display:block;
  grid-template-columns:none;
  grid-template-areas:none;
  width:min(calc(100% - var(--gutter)*2),68rem);
  height:auto;
  padding:0;
  overflow:visible;
}

.contact-routing-sheet{
  width:100%;
  max-width:none;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#FFFFFF;
  color:#172126;
  box-shadow:var(--shadow-soft);
}

.contact-routing-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-3) var(--space-4);
  background:#E7EEF5;
  color:#1D303D;
}

.contact-routing-head div{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.35rem;
}

.contact-routing-head span{
  color:#526875;
  font-size:var(--text-xs);
  font-weight:800;
  letter-spacing:.08em;
}

.contact-routing-head strong{
  color:#1D303D;
  font-family:var(--font-heading);
  font-size:var(--text-lg);
}

.contact-routing-code{
  flex:0 0 auto;
  padding:.5rem .8rem;
  border-radius:var(--radius-pill);
  background:#172126;
  color:#FFFFFF!important;
  letter-spacing:0!important;
}

.contact-routing-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(17rem,.36fr);
  align-items:stretch;
}

.contact-routing-main{
  min-width:0;
  padding:var(--space-2) var(--space-4);
  background:#FFFFFF;
  color:#172126;
}

.contact-route-row{
  display:grid;
  grid-template-columns:2.5rem minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-3);
  padding-block:var(--space-2);
  border-bottom:1px solid var(--line-paper);
}

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

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

.contact-route-row strong{
  display:block;
  color:#172126;
  font-size:var(--text-base);
}

.contact-route-row p{
  margin-top:.35rem;
  color:#59666D;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.contact-route-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  background:#F0EAF7;
  color:#30283A;
  font-weight:800;
}

.contact-route-row .c-badge{
  margin-top:0;
}

.contact-routing-health{
  min-width:0;
  padding:var(--space-4);
  background:#172126;
  color:#FFFFFF;
}

.contact-health-label{
  display:inline-flex;
  padding:.4em .9em;
  border-radius:var(--radius-pill);
  background:#F5F0D8;
  color:#363018;
  font-size:var(--text-xs);
  font-weight:800;
  line-height:1;
}

.contact-routing-health strong{
  display:block;
  margin-top:var(--space-2);
  color:#FFFFFF;
  font-family:var(--font-heading);
  font-size:var(--text-xl);
}

.contact-routing-health ul{
  display:grid;
  gap:var(--space-1);
  margin:var(--space-3) 0 0;
  padding:0;
  list-style:none;
  color:#D7DFE1;
}

.contact-routing-health li{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  font-size:var(--text-sm);
}

.contact-routing-health li::before{
  content:"";
  flex:0 0 auto;
  width:.5rem;
  height:.5rem;
  margin-top:.52rem;
  border-radius:50%;
  background:#82D6E1;
}

.contact-routing-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-2) var(--space-4);
  background:#F8E8DE;
  color:#422A22;
}

.contact-routing-foot span{
  color:#695249;
  font-size:var(--text-sm);
}

.contact-routing-foot a{
  color:#00536B;
  font-size:var(--text-sm);
  font-weight:800;
  overflow-wrap:anywhere;
}

.contact-form-section{
  background:#FAF9F6;
  color:#172126;
}

.contact-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(18rem,.75fr);
  align-items:start;
  gap:var(--space-4);
}

.contact-form-card{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:#FFFFFF;
  color:#172126;
  box-shadow:var(--shadow-soft);
}

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

.contact-fieldset+.contact-fieldset{
  margin-top:var(--space-4);
  padding-top:var(--space-4);
  border-top:1px solid var(--line-paper);
}

.contact-fieldset legend{
  padding:0;
  color:#172126;
  font-family:var(--font-heading);
  font-size:var(--text-lg);
  font-weight:650;
}

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

.contact-field-hint{
  margin-top:var(--space-1);
  color:#59666D;
  font-size:var(--text-sm);
}

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

.contact-purpose-grid .c-choice{
  padding:var(--space-3);
}

.contact-purpose-grid .c-choice-body strong{
  color:#1D303D;
  font-size:var(--text-base);
}

.contact-purpose-grid .c-choice-body span{
  color:#526875;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

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

.contact-radio-tile{
  position:relative;
  display:flex;
  min-width:0;
  cursor:pointer;
}

.contact-radio-tile input{
  position:absolute;
  opacity:0;
  pointer-events:none;
  appearance:none;
}

.contact-radio-tile span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:3rem;
  padding:.65rem 1rem;
  border:1px solid var(--line-control);
  border-radius:var(--radius-pill);
  background:#FFFFFF;
  color:#172126;
  font-size:var(--text-sm);
  font-weight:700;
  line-height:1.35;
  text-align:center;
  overflow-wrap:break-word;
  transition:background var(--transition),color var(--transition),border-color var(--transition);
}

.contact-radio-tile input:checked+span{
  border-color:#00536B;
  background:#00536B;
  color:#FFFFFF;
}

.contact-radio-tile input:focus-visible+span{
  outline:3px solid rgba(0,97,125,.22);
  outline-offset:3px;
}

.contact-order-field{
  margin-top:var(--space-2);
}

.contact-confirm{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  margin-top:var(--space-2);
  color:#59666D;
  cursor:pointer;
}

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

.contact-confirm span{
  min-width:0;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.contact-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  margin-top:var(--space-4);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#E7F3EC;
  color:#18372D;
}

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

.contact-submit-row strong{
  color:#18372D;
  font-size:var(--text-sm);
  overflow-wrap:anywhere;
}

.contact-submit-row p{
  margin-top:.35rem;
  color:#49645A;
  font-size:var(--text-sm);
}

.contact-submit-row .c-btn{
  flex:0 0 auto;
}

.contact-status{
  min-height:1.5rem;
  margin-top:var(--space-2);
  color:#00536B;
  font-size:var(--text-sm);
  font-weight:700;
}

.contact-status.is-error{
  color:#8A3327;
}

.contact-channel-card{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:#F5F0D8;
  color:#363018;
}

.contact-channel-card .c-kicker{
  margin-bottom:var(--space-2);
}

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

.contact-channel-list{
  display:grid;
  gap:var(--space-3);
  margin-top:var(--space-4);
}

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

.contact-channel-item .c-icon-well{
  background:#FFFFFF;
  color:#00617D;
}

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

.contact-channel-item strong{
  color:#363018;
  font-size:var(--text-base);
}

.contact-channel-item p{
  margin-top:.4rem;
  color:#5E5734;
  font-size:var(--text-sm);
}

.contact-channel-item a{
  display:inline-block;
  margin-top:var(--space-1);
  color:#00536B;
  font-size:var(--text-sm);
  font-weight:800;
  overflow-wrap:anywhere;
}

.contact-channel-note{
  margin-top:var(--space-4);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#FFFFFF;
  color:#172126;
}

.contact-channel-note strong{
  color:#172126;
  font-size:var(--text-sm);
}

.contact-channel-note p{
  margin-top:.4rem;
  color:#59666D;
  font-size:var(--text-sm);
}

.contact-guidance{
  background:#F0EAF7;
  color:#30283A;
}

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

.contact-guidance-card{
  padding:var(--space-4);
}

.contact-card-mark{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--space-1);
}

.contact-guidance-card h3{
  margin-top:var(--space-2);
  font-size:var(--text-xl);
}

.contact-guidance-card ul{
  display:grid;
  gap:var(--space-1);
  margin:var(--space-3) 0 0;
  padding-left:1.2rem;
}

.contact-guidance-card li{
  font-size:var(--text-sm);
}

.contact-guidance-card .contact-card-foot{
  margin-top:auto;
  padding-top:var(--space-3);
  font-size:var(--text-sm);
}

.contact-console-section{
  background:#FAF9F6;
  color:#172126;
}

.contact-console-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--space-5);
  padding:var(--space-5);
  border-radius:var(--radius-lg);
  background:#E7F3EC;
  color:#18372D;
}

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

.contact-console-copy .c-kicker{
  margin-bottom:var(--space-2);
}

.contact-console-copy h2{
  max-width:45rem;
  color:#18372D;
}

.contact-console-copy>p{
  max-width:48rem;
  margin-top:var(--space-2);
  color:#49645A;
  font-size:var(--text-md);
}

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

.contact-console-facts div{
  min-width:0;
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#FFFFFF;
  color:#172126;
}

.contact-console-facts strong,
.contact-console-facts span{
  display:block;
}

.contact-console-facts strong{
  color:#172126;
  font-size:var(--text-sm);
}

.contact-console-facts span{
  margin-top:.35rem;
  color:#59666D;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.contact-console-actions{
  display:flex;
  min-width:13rem;
  flex-direction:column;
  align-items:stretch;
  gap:var(--space-2);
}

.contact-console-actions .c-btn-ghost{
  background:transparent;
  color:#18372D;
  border-color:color-mix(in srgb,#18372D 45%,transparent);
}

.contact-response-section{
  background:#E7EEF5;
  color:#1D303D;
}

.contact-response-list{
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#FFFFFF;
  color:#172126;
}

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

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

.contact-response-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  background:#E7EEF5;
  color:#1D303D;
  font-weight:800;
}

.contact-response-row strong{
  min-width:0;
  color:#172126;
  font-size:var(--text-base);
  overflow-wrap:break-word;
}

.contact-response-row p{
  min-width:0;
  color:#59666D;
  font-size:var(--text-sm);
  overflow-wrap:break-word;
}

.contact-response-notice{
  margin-top:var(--space-4);
}

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

.contact-response-notice strong{
  color:#363018;
}

.contact-response-notice p{
  margin-top:.35rem;
  color:#5E5734;
  font-size:var(--text-sm);
}

.contact-closing-section{
  background:#FAF9F6;
  color:#172126;
}

.contact-closing-section .c-cta{
  padding:var(--space-4);
  background:#172126;
  color:#FFFFFF;
}

.contact-closing-section .c-cta h2{
  color:#FFFFFF;
  font-size:clamp(1.75rem,3vw,2.5rem);
}

.contact-closing-section .c-cta p{
  color:#B9C4C8;
}

.contact-closing-section .c-cta .actions{
  justify-content:flex-start;
  margin-top:0;
}

.contact-closing-section .c-cta .c-btn-ghost{
  color:#FFFFFF;
  border-color:color-mix(in srgb,#FFFFFF 45%,transparent);
}

@media(max-width:64rem){
  .contact-data-band{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

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

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

  .contact-channel-card{
    width:100%;
  }

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

  .contact-console-card{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
  }

  .contact-console-actions{
    width:min(100%,24rem);
    min-width:0;
  }
}

@media(max-width:42rem){
  .contact-hero{
    padding-block:var(--hero-pad) var(--section-pad);
  }

  .contact-hero .actions{
    margin-top:var(--space-3);
  }

  .contact-data-band{
    grid-template-columns:minmax(0,1fr);
    margin-top:var(--space-4);
    margin-bottom:var(--space-4);
  }

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

  .contact-routing-head,
  .contact-routing-foot{
    align-items:flex-start;
    flex-direction:column;
    padding:var(--space-3);
  }

  .contact-routing-main{
    padding:var(--space-2) var(--space-3);
  }

  .contact-route-row{
    grid-template-columns:2.25rem minmax(0,1fr);
    gap:var(--space-2);
  }

  .contact-route-row>.c-badge{
    grid-column:2;
    margin-top:0;
  }

  .contact-routing-health{
    padding:var(--space-3);
  }

  .contact-form-card,
  .contact-channel-card,
  .contact-guidance-card{
    padding:var(--space-3);
  }

  .contact-field-grid,
  .contact-purpose-grid,
  .contact-node-grid,
  .contact-period-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .contact-submit-row{
    align-items:stretch;
    flex-direction:column;
  }

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

  .contact-console-card{
    padding:var(--space-3);
  }

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

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

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

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

  .contact-closing-section .c-cta{
    padding:var(--space-3);
  }

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