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

.contact-hero{
  padding-block:var(--hero-pad);
  background:#fff;
  color:#19151b
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(32rem,.88fr);
  align-items:start;
  gap:var(--space-8)
}

.contact-hero-copy{
  min-width:0;
  align-self:start
}

.contact-hero-copy .c-kicker{
  margin-bottom:var(--space-4)
}

.contact-hero-copy h1{
  max-width:13.5ch
}

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

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

.contact-hero-note{
  max-width:43rem;
  margin-top:var(--space-5);
  padding-top:var(--space-4);
  border-top:1px solid #e8e6e7;
  color:#5f565f;
  font-size:var(--text-sm)
}

.contact-route-board{
  min-width:0;
  height:auto;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:#19151b;
  color:#fff
}

.contact-board-head{
  padding:var(--space-5) var(--space-6);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  background:#59155f;
  color:#fff;
  font-size:var(--text-sm)
}

.contact-board-head strong{
  color:#fff;
  font-size:var(--text-xs);
  overflow-wrap:anywhere
}

.contact-route-list{
  padding:0 var(--space-6)
}

.contact-route{
  min-width:0;
  padding-block:var(--space-5);
  display:grid;
  grid-template-columns:2.5rem minmax(0,1fr) auto;
  align-items:start;
  gap:var(--space-4);
  border-bottom:1px solid rgba(255,255,255,.13);
  background:#19151b;
  color:#fff
}

.contact-route-code{
  width:2.5rem;
  height:2.5rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f4f1e8;
  color:#29231d;
  font-size:var(--text-xs);
  line-height:1
}

.contact-route h3{
  color:#fff;
  font-size:var(--text-h3)
}

.contact-route p{
  margin-top:var(--space-2);
  color:#b8b1b9;
  font-size:var(--text-sm)
}

.contact-route-link{
  align-self:center;
  padding:.55rem .75rem;
  border:1px solid color-mix(in srgb,currentColor 38%,transparent);
  border-radius:var(--radius-sm);
  color:#fff;
  font-size:var(--text-sm);
  font-weight:700;
  text-align:center
}

.contact-route-link:hover{
  background:#fff;
  color:#19151b
}

.contact-board-foot{
  padding:var(--space-5) var(--space-6);
  display:flex;
  justify-content:space-between;
  gap:var(--space-4);
  flex-wrap:wrap;
  background:#272227;
  color:#d9d4d9;
  font-size:var(--text-sm)
}

.contact-board-foot a{
  color:#fff;
  font-family:var(--font-mono);
  overflow-wrap:anywhere
}

.contact-form-section{
  padding-block:var(--section-pad);
  background:#f7f7f5;
  color:#19151b
}

.contact-section-head{
  max-width:48rem
}

.contact-section-head .c-kicker{
  margin-bottom:var(--space-4)
}

.contact-section-head p{
  margin-top:var(--space-4);
  color:#5f565f;
  font-size:var(--text-lg)
}

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

.contact-form-card{
  min-width:0;
  padding:var(--space-6);
  border-radius:var(--radius-lg);
  background:#fff;
  color:#19151b
}

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

.contact-wide-field{
  margin-top:var(--space-5)
}

.contact-form-card input,
.contact-form-card textarea,
.contact-form-card select{
  color:#19151b
}

.contact-form-card select{
  appearance:none;
  padding-inline-end:2.5rem
}

.contact-confirm{
  margin-top:var(--space-4);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--space-3);
  color:#403b41;
  font-size:var(--text-sm)
}

.contact-confirm input{
  width:1.1rem;
  height:1.1rem;
  margin:.15rem 0 0;
  accent-color:#59155f
}

.contact-form-footer{
  margin-top:var(--space-5);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  flex-wrap:wrap
}

.contact-form-status{
  flex:1 1 18rem;
  min-width:0;
  color:#5f565f;
  font-size:var(--text-sm)
}

.contact-form-status.is-error{
  color:#59155f;
  font-weight:700
}

.contact-form-status.is-success{
  color:#1d2b1a;
  font-weight:700
}

.contact-mail-guide{
  min-width:0;
  padding:var(--space-6);
  border-radius:var(--radius-lg);
  background:#eaf1f3;
  color:#19292e
}

.contact-mail-guide .c-badge{
  margin-bottom:var(--space-4);
  background:#fff;
  color:#19292e
}

.contact-mail-guide h3{
  color:#19292e
}

.contact-mail-guide ul{
  margin-top:var(--space-4);
  padding-left:1.2rem;
  display:grid;
  gap:var(--space-3)
}

.contact-mail-guide li{
  color:#304248
}

.contact-mail-address{
  margin-top:var(--space-6);
  padding:var(--space-5);
  border-radius:var(--radius-md);
  display:grid;
  gap:var(--space-2);
  background:#fff;
  color:#19151b
}

.contact-mail-address span{
  color:#5f565f;
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase
}

.contact-mail-address a{
  color:#59155f;
  font-family:var(--font-mono);
  font-weight:700;
  overflow-wrap:anywhere
}

.contact-mail-guide>p{
  margin-top:var(--space-5);
  color:#304248;
  font-size:var(--text-sm)
}

.contact-native-select.is-enhanced{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.contact-select{
  position:relative;
  min-width:0
}

.contact-select-button{
  width:100%;
  min-height:3rem;
  padding:.75rem 2.75rem .75rem .875rem;
  border:1px solid #aaa4aa;
  border-radius:var(--radius-sm);
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:#fff;
  color:#19151b;
  font-size:var(--text-base);
  line-height:1.4;
  text-align:left;
  cursor:pointer
}

.contact-select-button::after{
  content:"";
  position:absolute;
  right:1rem;
  top:50%;
  width:.5rem;
  height:.5rem;
  border-right:2px solid #59155f;
  border-bottom:2px solid #59155f;
  transform:translateY(-70%) rotate(45deg)
}

.contact-select-button[aria-expanded="true"]::after{
  transform:translateY(-30%) rotate(225deg)
}

.contact-select-button[aria-invalid="true"]{
  border-color:#59155f;
  box-shadow:inset 0 0 0 1px #59155f
}

.contact-select-menu{
  position:absolute;
  z-index:20;
  top:calc(100% + var(--space-2));
  left:0;
  right:0;
  max-height:18rem;
  padding:var(--space-2);
  overflow-y:auto;
  border:1px solid #e8e6e7;
  border-radius:var(--radius-md);
  display:grid;
  gap:var(--space-1);
  background:#fff;
  color:#19151b;
  box-shadow:var(--shadow-soft)
}

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

.contact-select-option{
  width:100%;
  padding:.7rem .75rem;
  border:0;
  border-radius:var(--radius-sm);
  display:block;
  background:#fff;
  color:#19151b;
  font-size:var(--text-sm);
  line-height:1.4;
  text-align:left;
  cursor:pointer
}

.contact-select-option:hover,
.contact-select-option[aria-selected="true"]{
  background:#f4f1e8;
  color:#29231d
}

.contact-technical-section{
  padding-block:var(--section-pad);
  background:#f5ece7;
  color:#30201b
}

.contact-technical-section .contact-section-head p{
  color:#5e4941
}

.contact-checklist{
  margin-top:var(--space-8);
  display:grid;
  gap:var(--space-3)
}

.contact-check-row{
  min-width:0;
  padding:var(--space-5);
  border-radius:var(--radius-md);
  display:grid;
  grid-template-columns:2.5rem minmax(7.5rem,11rem) minmax(0,1fr);
  gap:var(--space-4);
  align-items:start;
  background:#fff;
  color:#19151b
}

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

.contact-check-row strong{
  padding-top:.35rem;
  font-family:var(--font-heading);
  font-size:var(--text-base)
}

.contact-check-row p{
  color:#5f565f
}

.contact-scope-section{
  padding-block:var(--section-pad);
  background:#fff;
  color:#19151b
}

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

.contact-scope-card{
  min-width:0;
  height:100%;
  padding:var(--space-6);
  border-radius:var(--radius-lg);
  display:flex;
  flex-direction:column
}

.contact-scope-card-cream{
  background:#f4f1e8;
  color:#29231d
}

.contact-scope-card-blue{
  background:#eaf1f3;
  color:#19292e
}

.contact-scope-card-green{
  background:#edf2e8;
  color:#1d2b1a
}

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

.contact-scope-card-cream .c-icon-well{
  background:#fff;
  color:#59155f
}

.contact-scope-card-blue .c-icon-well{
  background:#fff;
  color:#59155f
}

.contact-scope-card-green .c-icon-well{
  background:#fff;
  color:#59155f
}

.contact-card-mark .c-badge{
  margin:0;
  background:#fff;
  color:#19151b
}

.contact-scope-card h3{
  color:inherit;
  font-size:var(--text-h3)
}

.contact-scope-card p{
  margin-top:var(--space-3);
  color:inherit;
  opacity:.78
}

.contact-card-foot{
  margin-top:auto;
  padding-top:var(--space-6);
  color:inherit;
  font-size:var(--text-sm);
  font-weight:700
}

.contact-expectation-section{
  padding-block:var(--section-pad);
  background:#edf2e8;
  color:#1d2b1a
}

.contact-expectation-section .contact-section-head p{
  color:#40503d
}

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

.contact-expectation-card{
  min-width:0;
  height:100%;
  padding:var(--space-6);
  border-radius:var(--radius-lg);
  display:flex;
  flex-direction:column;
  background:#fff;
  color:#19151b
}

.contact-expectation-index{
  width:fit-content;
  margin-bottom:var(--space-4);
  padding:.4em .9em;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  line-height:1;
  background:#f1f1ef;
  color:#514b52;
  font-size:var(--text-xs);
  font-weight:700
}

.contact-expectation-card h3{
  color:#19151b
}

.contact-expectation-card p{
  margin-top:var(--space-3);
  color:#5f565f
}

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

.contact-payment-card{
  background:#19151b;
  color:#fff
}

.contact-payment-card .contact-expectation-index{
  background:#f4f1e8;
  color:#29231d
}

.contact-payment-card h3{
  color:#fff
}

.contact-payment-card p{
  color:#d9d4d9
}

.contact-payment-note{
  padding-top:var(--space-4);
  border-top:1px solid rgba(255,255,255,.13)
}

.contact-final{
  padding-block:var(--section-pad-tight);
  background:#fff;
  color:#19151b
}

.contact-final .c-portal-band{
  padding-inline:var(--space-8)
}

.contact-closing-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-3)
}

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

.contact-closing-actions .c-btn-ghost{
  border-color:rgba(255,255,255,.38);
  color:#fff
}

@media(max-width:64rem){
  .contact-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:var(--space-6)
  }

  .contact-form-layout{
    grid-template-columns:1fr
  }

  .contact-mail-guide{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);
    column-gap:var(--space-6)
  }

  .contact-mail-guide .c-badge,
  .contact-mail-guide h3,
  .contact-mail-guide ul{
    grid-column:1
  }

  .contact-mail-address,
  .contact-mail-guide>p{
    grid-column:2
  }

  .contact-mail-address{
    grid-row:1/4;
    margin-top:0;
    align-self:start
  }

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

  .contact-expectation-card:last-child{
    grid-column:1/-1
  }
}

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

  .contact-hero-grid{
    width:min(calc(100% - var(--gutter)*2),100%);
    margin-inline:auto;
    grid-template-columns:minmax(0,1fr);
    align-items:start
  }

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

  .contact-route-board{
    width:auto;
    height:auto;
    min-width:0;
    overflow:hidden;
    transform:none
  }

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

  .contact-route>:nth-child(3){
    grid-column:2;
    justify-self:start
  }

  .contact-board-head{
    align-items:flex-start;
    flex-direction:column
  }

  .contact-form-card,
  .contact-mail-guide,
  .contact-scope-card,
  .contact-expectation-card{
    padding:var(--space-5)
  }

  .contact-form-grid{
    grid-template-columns:1fr
  }

  .contact-form-footer{
    align-items:stretch
  }

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

  .contact-mail-guide{
    display:block
  }

  .contact-mail-address{
    margin-top:var(--space-6)
  }

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

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

  .contact-scope-grid,
  .contact-expectation-grid{
    grid-template-columns:1fr
  }

  .contact-expectation-card:last-child{
    grid-column:auto
  }

  .contact-final .c-portal-band{
    padding-inline:var(--space-6)
  }
}
