.contact-page .c-page-hero{
  padding-block:calc(var(--hero-pad) - .75rem);
  background:#fcfcfd;
  color:#171b24;
  --ink:#171b24;
  --muted:#343a44
}

.contact-page .hero-shell{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
  gap:clamp(2rem,6vw,5rem)
}

.contact-page .hero-copy,
.contact-page .hero-stage{
  min-width:0
}

.contact-page .hero-copy{
  padding-top:var(--space-2)
}

.contact-page .hero-copy h1{
  max-width:15ch;
  color:#16203e;
  overflow-wrap:anywhere
}

.contact-hero-lead{
  max-width:39rem;
  margin-top:var(--space-3);
  color:#171b24;
  font-size:var(--text-3);
  line-height:var(--lh-loose)
}

.contact-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-top:var(--space-3)
}

.contact-hero-note{
  max-width:39rem;
  margin-top:var(--space-2);
  padding-top:var(--space-2);
  border-top:1px solid color-mix(in srgb,#171b24 12%,transparent);
  color:#171b24;
  font-size:var(--text-1)
}

.contact-page .hero-stage{
  width:100%;
  height:auto;
  overflow:visible
}

.contact-routing-board{
  width:100%;
  height:auto;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#edf1f7;
  color:#202a3d;
  box-shadow:var(--shadow-card)
}

.routing-board-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-4);
  background:#f8ece7;
  color:#3a2924
}

.routing-board-head > div{
  min-width:0
}

.routing-board-head h2{
  margin-top:var(--space-1);
  color:#34251f;
  font-size:var(--text-4)
}

.routing-board-code{
  color:#493c37;
  font-size:var(--text-0);
  letter-spacing:.08em
}

.routing-board-list{
  padding-inline:var(--space-4)
}

.routing-row{
  display:grid;
  grid-template-columns:2.25rem minmax(0,1fr) auto;
  align-items:start;
  gap:var(--space-2);
  padding-block:var(--space-2);
  border-bottom:1px solid color-mix(in srgb,#202a3d 12%,transparent)
}

.routing-row:last-child{
  border-bottom:0
}

.routing-mark{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#1f6737;
  color:#fff;
  font-family:var(--font-mono);
  font-size:var(--text-0);
  line-height:1
}

.routing-row > div{
  min-width:0
}

.routing-row strong{
  display:block;
  color:#202a3d;
  font-size:var(--text-1)
}

.routing-row p{
  margin-top:.35rem;
  color:#596477;
  font-size:var(--text-1);
  line-height:1.5
}

.routing-output{
  display:inline-flex;
  align-items:center;
  padding:.4em .9em;
  border-radius:999px;
  background:#fff;
  color:#263249;
  font-family:var(--font-mono);
  font-size:var(--text-0);
  font-weight:650;
  line-height:1
}

.routing-board-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  padding:var(--space-3) var(--space-4);
  background:#171b24;
  background-image:none;
  color:#f4f6f8
}

.contact-routing-board .routing-board-foot span{
  color:#fff;
  font-size:var(--text-1)
}

.routing-board-foot strong{
  min-width:0;
  color:#f4f6f8;
  overflow-wrap:anywhere
}

.contact-compose-section{
  background:#fcfcfd;
  color:#171b24
}

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

.contact-mail-form{
  min-width:0;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:#edf1f7;
  color:#202a3d
}

.contact-form-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-3);
  margin-bottom:var(--space-4)
}

.contact-form-head > div{
  min-width:0
}

.contact-form-head span{
  color:#536075;
  font-size:var(--text-0)
}

.contact-form-head h3{
  margin-top:var(--space-1);
  color:#182237;
  font-size:var(--text-4)
}

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

.contact-mail-form .c-field{
  min-width:0;
  gap:var(--space-1)
}

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

.contact-mail-form .c-field > label{
  color:#202a3d
}

.contact-mail-form .c-field > small{
  color:#5e687a;
  overflow-wrap:anywhere
}

.contact-field-grid + .contact-fieldset,
.contact-fieldset + .contact-fieldset,
.contact-fieldset + .c-field,
.contact-mail-form > .c-field + .c-field{
  margin-top:var(--space-3)
}

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

.contact-fieldset legend{
  margin-bottom:var(--space-1);
  padding:0;
  color:#202a3d;
  font-size:var(--text-1);
  font-weight:620
}

.contact-mail-form .c-choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2)
}

.contact-mail-form .c-choice input{
  appearance:none
}

.contact-mail-form .c-choice-body{
  min-height:0;
  padding:var(--space-3);
  border-color:#aeb4be;
  background:#fff;
  color:#171b24
}

.contact-mail-form .c-choice input:checked + .c-choice-body{
  border-color:#1f6737;
  background:#edf3ef;
  color:#21332a
}

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

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

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

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

.contact-chip-choice span{
  display:flex;
  width:100%;
  min-height:2.75rem;
  align-items:center;
  justify-content:center;
  padding:.65rem .8rem;
  border:1px solid #aeb4be;
  border-radius:var(--radius-sm);
  background:#fff;
  color:#303640;
  font-size:var(--text-1);
  font-weight:620;
  line-height:1.35;
  text-align:center;
  overflow-wrap:anywhere
}

.contact-chip-choice input:checked + span{
  border-color:#1f6737;
  background:#1f6737;
  color:#fff
}

.contact-chip-choice input:focus-visible + span{
  outline:3px solid color-mix(in srgb,#1f6737 25%,transparent);
  outline-offset:2px
}

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

.contact-form-status{
  min-height:1.5rem;
  margin-top:var(--space-2);
  color:#47536a;
  font-size:var(--text-1)
}

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

.contact-form-status.is-success{
  color:#1f6737
}

.contact-channel-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:#f2f0e8;
  color:#2b3028
}

.contact-channel-card h3{
  color:#252b25
}

.channel-rule{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  padding-block:var(--space-3);
  border-bottom:1px solid color-mix(in srgb,#2b3028 13%,transparent)
}

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

.channel-rule-mark{
  display:inline-flex;
  align-items:center;
  padding:.4em .9em;
  border-radius:999px;
  background:#1f6737;
  color:#fff;
  font-size:var(--text-0);
  font-weight:650;
  line-height:1
}

.channel-rule strong{
  display:block;
  color:#2b3028;
  font-size:var(--text-1)
}

.channel-rule p{
  margin-top:.35rem;
  color:#5d625b;
  font-size:var(--text-1)
}

.contact-channel-address{
  margin-top:var(--space-3);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#fff;
  color:#171b24
}

.contact-channel-address span,
.contact-channel-address a{
  display:block
}

.contact-channel-address span{
  color:#5f6570;
  font-size:var(--text-0)
}

.contact-channel-address a{
  margin-top:var(--space-1);
  color:#174f2b;
  overflow-wrap:anywhere
}

.contact-channel-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-top:var(--space-3)
}

.contact-preflight-section{
  background:#f2f0e8;
  color:#2b3028
}

.contact-preflight-section .c-section-head h2{
  color:#252b25
}

.contact-preflight-section .c-section-head p{
  color:#5d625b
}

.contact-checklist{
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#fff;
  color:#171b24
}

.contact-check-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 color-mix(in srgb,#171b24 12%,transparent)
}

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

.contact-check-number{
  display:inline-flex;
  width:2.5rem;
  height:2.5rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#1f6737;
  color:#fff;
  font-size:var(--text-0);
  line-height:1
}

.contact-check-row strong{
  min-width:0;
  color:#20242c;
  overflow-wrap:anywhere
}

.contact-check-row p{
  min-width:0;
  color:#5f6570
}

.contact-inline-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-top:var(--space-3)
}

.contact-order-section{
  background:#fcfcfd;
  color:#171b24
}

.contact-order-panel{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:stretch;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#f1ecf5;
  color:#30273a
}

.contact-order-copy{
  min-width:0;
  padding:var(--space-5)
}

.contact-order-copy h2{
  color:#30273a
}

.contact-order-copy > p{
  margin-top:var(--space-3);
  color:#665c6d;
  font-size:var(--text-3)
}

.contact-order-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-top:var(--space-3)
}

.contact-order-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  background:#171b24;
  color:#f4f6f8
}

.contact-order-fields > div{
  min-width:0;
  padding:var(--space-4);
  border-right:1px solid color-mix(in srgb,#fff 14%,transparent);
  border-bottom:1px solid color-mix(in srgb,#fff 14%,transparent)
}

.contact-order-fields > div:nth-child(2n){
  border-right:0
}

.contact-order-fields > div:nth-child(n+3){
  border-bottom:0
}

.contact-order-fields span{
  color:#9ea7b4;
  font-size:var(--text-0)
}

.contact-order-fields strong{
  display:block;
  margin-top:var(--space-1);
  color:#f4f6f8;
  font-size:var(--text-3)
}

.contact-order-fields p{
  margin-top:var(--space-1);
  color:#aab1bd;
  font-size:var(--text-1)
}

.contact-security-section{
  background:#171b24;
  color:#f4f6f8
}

.contact-security-section .c-section-head h2{
  color:#f4f6f8
}

.contact-security-section .c-section-head p{
  color:#aab1bd
}

.contact-dark-kicker{
  padding:.4em .9em;
  border-radius:999px;
  background:#edf3ef;
  color:#21332a
}

.contact-dark-kicker .c-kicker-dot{
  background:#174f2b
}

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

.contact-security-card{
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  padding:var(--space-4);
  border-radius:var(--radius-md);
  background:#edf1f7;
  color:#202a3d
}

.contact-security-card .c-icon-well{
  background:#fff;
  color:#1f6737
}

.contact-security-card h3{
  margin-top:var(--space-2);
  color:#182237
}

.contact-security-card p{
  margin-top:var(--space-1);
  color:#5e687a
}

.contact-security-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:var(--space-2);
  margin-top:var(--space-3)
}

.contact-security-section .c-btn-ghost{
  border-color:color-mix(in srgb,#f4f6f8 38%,transparent);
  color:#f4f6f8
}

.contact-boundary-section{
  background:#fcfcfd;
  color:#171b24
}

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

.contact-boundary-card{
  padding-inline:var(--space-4)
}

.contact-boundary-card ul{
  margin:var(--space-3) 0 0;
  padding-left:1.2rem
}

.contact-boundary-card li + li{
  margin-top:var(--space-1)
}

.contact-boundary-card .c-card-end{
  margin-top:auto;
  padding-top:var(--space-4)
}

.contact-boundary-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-2);
  margin-top:var(--space-3);
  padding:var(--space-3);
  border-radius:var(--radius-md);
  background:#edf1f7;
  color:#202a3d
}

.contact-boundary-note svg{
  width:1.25rem;
  height:1.25rem;
  color:#1f6737
}

.contact-boundary-note strong{
  color:#202a3d
}

.contact-boundary-note p{
  margin-top:var(--space-1);
  color:#5e687a
}

.contact-closing-section{
  padding-top:var(--space-6);
  padding-bottom:var(--space-4);
  background:#fcfcfd;
  color:#171b24
}

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

.contact-closing-actions .c-btn-ghost{
  border-color:color-mix(in srgb,#f4f6f8 38%,transparent);
  color:#f4f6f8
}

@media(max-width:64rem){
  .contact-page .hero-shell{
    gap:var(--space-4)
  }

  .contact-compose-layout,
  .contact-order-panel{
    grid-template-columns:minmax(0,1fr)
  }

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

@media(max-width:48rem){
  .contact-page .hero-shell{
    grid-template-columns:minmax(0,1fr);
    align-items:start
  }

  .contact-page .hero-copy{
    padding-top:0
  }

  .contact-page .hero-copy h1{
    max-width:none
  }

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

  .routing-board-head,
  .routing-board-list,
  .routing-board-foot{
    padding-inline:var(--space-3)
  }

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

  .routing-output{
    grid-column:2;
    justify-self:start
  }

  .contact-mail-form,
  .contact-channel-card,
  .contact-security-card,
  .contact-boundary-card{
    padding-inline:var(--space-3)
  }

  .contact-field-grid,
  .contact-mail-form .c-choice-grid,
  .contact-security-grid,
  .contact-boundary-grid{
    grid-template-columns:minmax(0,1fr)
  }

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

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

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

  .contact-order-copy{
    padding:var(--space-4)
  }

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

  .contact-order-fields > div,
  .contact-order-fields > div:nth-child(2n),
  .contact-order-fields > div:nth-child(n+3){
    border-right:0;
    border-bottom:1px solid color-mix(in srgb,#fff 14%,transparent)
  }

  .contact-order-fields > div:last-child{
    border-bottom:0
  }

  .contact-actions .c-btn,
  .contact-form-actions .c-btn,
  .contact-order-actions .c-btn,
  .contact-security-actions .c-btn,
  .contact-inline-actions .c-btn{
    width:100%;
    white-space:normal
  }

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

@media(max-width:24.375rem){
  .contact-chip-grid,
  .contact-period-grid{
    grid-template-columns:minmax(0,1fr)
  }

  .contact-form-head{
    flex-direction:column
  }

  .routing-board-head{
    flex-direction:column
  }
}
