.contact-hero{
  padding-block:var(--rm-hero-pad);
  background:#f5eee5;
  color:#413126
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:start;
  gap:clamp(2rem,5vw,5rem)
}

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

.contact-hero h1{
  max-width:18ch;
  color:#413126;
  font-size:var(--rm-text-3xl);
  line-height:1.18
}

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

.contact-hero-facts{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:var(--rm-space-4) 0 0;
  border-block:1px solid color-mix(in srgb,#413126 15%,transparent)
}

.contact-hero-facts>div{
  min-width:0;
  padding:var(--rm-space-2)
}

.contact-hero-facts>div:first-child{
  padding-inline-start:0
}

.contact-hero-facts>div+div{
  border-left:1px solid color-mix(in srgb,#413126 15%,transparent)
}

.contact-hero-facts dt{
  color:#725f50
}

.contact-hero-facts dd{
  margin-top:.5rem;
  color:#413126;
  font-weight:750;
  overflow-wrap:anywhere
}

.contact-hero-actions{
  justify-content:flex-start;
  margin-top:var(--rm-space-4)
}

.contact-routing-stage{
  min-width:0;
  align-self:start;
  height:auto;
  overflow:visible;
  border-radius:var(--rm-radius-lg);
  background:#171426;
  color:#fff;
  box-shadow:var(--rm-shadow)
}

.contact-routing-sheet{
  width:100%;
  max-width:none;
  height:auto;
  overflow:hidden;
  border-radius:var(--rm-radius-lg);
  background:#171426;
  color:#fff
}

.contact-routing-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--rm-space-3);
  padding:var(--rm-space-4);
  border-bottom:1px solid rgba(255,255,255,.14);
  background:#171426;
  color:#fff
}

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

.contact-routing-label{
  display:block;
  color:#c8c3cd;
  font-size:var(--rm-text-xs);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}

.contact-routing-head h2{
  margin-top:.5rem;
  color:#fff;
  font-size:var(--rm-text-xl);
  letter-spacing:-.035em
}

.contact-routing-state{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:#fff;
  font-size:var(--rm-text-xs);
  font-weight:750
}

.contact-routing-state>span{
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:#c53b2d;
  box-shadow:0 0 0 5px rgba(197,59,45,.16)
}

.contact-route-list{
  display:grid;
  gap:var(--rm-space-1);
  padding:var(--rm-space-3);
  background:#171426;
  color:#fff
}

.contact-route-row{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--rm-space-2);
  padding:var(--rm-space-3);
  border-radius:var(--rm-radius-md)
}

.contact-route-row-mint{
  background:#eaf5f1;
  color:#183b32
}

.contact-route-row-sand{
  background:#fff1cf;
  color:#493512
}

.contact-route-row-blue{
  background:#e9eef9;
  color:#202d4d
}

.contact-route-row-mauve{
  background:#f2e9f0;
  color:#41243a
}

.contact-route-code{
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:50%;
  background:#981b38;
  color:#fff;
  font-size:var(--rm-text-xs);
  font-weight:850
}

.contact-route-row>div:nth-child(2){
  min-width:0
}

.contact-route-row strong,
.contact-route-row span{
  overflow-wrap:anywhere
}

.contact-route-row strong{
  display:block;
  color:inherit;
  font-family:var(--rm-font-heading);
  font-size:var(--rm-text-sm)
}

.contact-route-row strong+span{
  display:block;
  margin-top:.5rem;
  color:inherit;
  font-size:var(--rm-text-xs);
  line-height:1.5;
  opacity:.78
}

.contact-route-channel{
  align-self:center;
  width:fit-content;
  max-width:100%;
  padding:.45rem .7rem;
  border-radius:var(--rm-radius-pill);
  background:#fff;
  color:#171426;
  font-size:var(--rm-text-xs);
  font-weight:800;
  text-align:center
}

.contact-routing-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--rm-space-2);
  padding:var(--rm-space-3) var(--rm-space-4);
  border-top:1px solid rgba(255,255,255,.14);
  background:#171426;
  color:#fff
}

.contact-routing-foot span{
  color:#c8c3cd;
  font-size:var(--rm-text-xs)
}

.contact-routing-foot strong{
  color:#fff;
  font-size:var(--rm-text-xs);
  text-align:right
}

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

.contact-choice{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--rm-space-2);
  padding:var(--rm-space-3);
  border-radius:var(--rm-radius-md);
  background:#f5eee5;
  color:#413126;
  cursor:pointer;
  transition:background .2s var(--rm-ease),color .2s var(--rm-ease),transform .2s var(--rm-ease)
}

.contact-choice:hover{
  transform:translateY(-2px)
}

.contact-choice:has(input:focus-visible){
  outline:3px solid rgba(152,27,56,.24);
  outline-offset:3px
}

.contact-choice:has(input:checked){
  background:#981b38;
  color:#fff
}

.contact-choice input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}

.contact-choice-mark{
  display:grid;
  place-items:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  background:#fff;
  color:#981b38;
  font-size:var(--rm-text-xs);
  font-weight:850
}

.contact-choice-copy{
  min-width:0
}

.contact-choice-copy strong{
  display:block;
  color:inherit;
  font-family:var(--rm-font-heading);
  font-size:var(--rm-text-lg)
}

.contact-choice-copy strong+span{
  display:block;
  margin-top:.5rem;
  color:inherit;
  font-size:var(--rm-text-sm);
  line-height:1.55;
  opacity:.8
}

.contact-route-result{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:var(--rm-space-4);
  border-radius:var(--rm-radius-md);
  background:#171426;
  color:#fff;
  overflow:hidden
}

.contact-route-result>div{
  min-width:0;
  padding:var(--rm-space-3)
}

.contact-route-result>div+div{
  border-left:1px solid rgba(255,255,255,.14)
}

.contact-route-result span{
  display:block;
  color:#c8c3cd;
  font-size:var(--rm-text-xs)
}

.contact-route-result strong{
  display:block;
  margin-top:.5rem;
  color:#fff;
  font-size:var(--rm-text-sm);
  overflow-wrap:anywhere
}

.contact-inline-link{
  color:#183b32;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:.2rem;
  overflow-wrap:anywhere
}

.contact-form-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);
  align-items:stretch;
  gap:var(--rm-space-3)
}

.contact-form-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:var(--rm-space-4);
  padding:clamp(1.5rem,3vw,2.5rem);
  border-radius:var(--rm-radius-lg);
  background:#fff;
  color:#171426;
  box-shadow:var(--rm-shadow-soft)
}

.contact-form-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--rm-space-3)
}

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

.contact-form-step{
  display:block;
  color:#696771;
  font-size:var(--rm-text-xs);
  font-weight:800
}

.contact-form-intro h3{
  margin-top:.5rem;
  color:#171426;
  font-size:var(--rm-text-2xl)
}

.contact-form-intro p{
  max-width:20rem;
  color:#696771;
  font-size:var(--rm-text-sm)
}

.contact-fieldset{
  min-width:0;
  display:grid;
  gap:.5rem;
  margin:0;
  padding:0;
  border:0
}

.contact-fieldset legend{
  padding:0;
  color:#171426;
  font-size:var(--rm-text-sm);
  font-weight:750
}

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

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

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

.contact-radio{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  padding:var(--rm-space-2);
  border:1px solid #bcb5b5;
  border-radius:var(--rm-radius-sm);
  background:#fff;
  color:#171426;
  cursor:pointer
}

.contact-radio:has(input:checked){
  border-color:#981b38;
  background:#f2e9f0;
  color:#41243a;
  box-shadow:inset 0 0 0 1px #981b38
}

.contact-radio:has(input:focus-visible){
  outline:3px solid rgba(152,27,56,.2);
  outline-offset:2px
}

.contact-radio input{
  flex:0 0 auto;
  width:1rem;
  height:1rem;
  margin:.15rem 0 0;
  accent-color:#981b38
}

.contact-radio>span{
  min-width:0;
  color:inherit;
  font-size:var(--rm-text-sm);
  font-weight:700;
  overflow-wrap:anywhere
}

.contact-radio strong,
.contact-radio small{
  display:block;
  color:inherit
}

.contact-radio strong+small{
  margin-top:.5rem
}

.contact-radio small{
  font-size:var(--rm-text-xs);
  font-weight:500;
  line-height:1.45
}

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

.contact-field-hint{
  color:#696771;
  font-size:var(--rm-text-xs);
  line-height:1.5
}

.contact-form-status{
  min-height:3rem;
  padding:var(--rm-space-2);
  border-radius:var(--rm-radius-sm);
  background:#e9eef9;
  color:#202d4d;
  font-size:var(--rm-text-sm);
  line-height:1.5
}

.contact-form-status.is-error{
  background:#fff1cf;
  color:#493512
}

.contact-form-status.is-ready{
  background:#eaf5f1;
  color:#183b32
}

.contact-form-actions{
  justify-content:flex-start;
  margin-top:0
}

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

.contact-side-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:.65rem;
  padding:1.35rem 1.4rem;
  border-radius:var(--rm-radius-lg)
}
.contact-side-card .rm-kicker{margin-bottom:0}

.contact-side-card-dark{
  background:#171426;
  color:#fff
}

.contact-side-card-dark h3{
  color:#fff
}

.contact-side-card-dark p{
  margin-top:var(--rm-space-2);
  color:#c8c3cd
}

.contact-side-card-oat{
  background:#f5eee5;
  color:#413126
}

.contact-side-card-oat h3{
  color:#413126
}

.contact-side-card-oat p{
  margin-top:var(--rm-space-2);
  color:#725f50
}

.contact-check-list,
.contact-deny-list{
  display:grid;
  gap:.4rem;
  margin-top:.15rem;
  padding:0;
  list-style:none
}

.contact-check-list li,
.contact-deny-list li{
  position:relative;
  padding-left:1.5rem;
  color:inherit;
  font-size:var(--rm-text-sm)
}

.contact-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.6em;
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:#c53b2d
}

.contact-deny-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:.65rem;
  height:2px;
  background:#981b38
}

.contact-side-action{
  display:flex;
  justify-content:flex-start;
  padding-top:.35rem
}

.contact-side-card-dark .rm-btn-secondary{
  border-color:rgba(255,255,255,.45);
  background:#fff;
  color:#171426
}

.contact-side-card-oat .rm-btn-ghost{
  border-color:color-mix(in srgb,#413126 34%,transparent);
  background:transparent;
  color:#413126
}

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

.contact-brief-card{
  min-width:0;
  background:#fff;
  color:#171426
}

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

.contact-icon-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  height:3rem;
  border-radius:var(--rm-radius-sm);
  background:#f2e9f0;
  color:#41243a
}

.contact-icon-chip svg{
  width:1.5rem;
  height:1.5rem
}

.contact-card-mark .rm-badge{
  width:fit-content;
  align-self:center;
  background:#f5eee5;
  color:#413126
}

.contact-brief-card h3{
  color:#171426
}

.contact-brief-card>p{
  margin-top:var(--rm-space-2);
  color:#696771
}

.contact-key-list{
  display:grid;
  margin:var(--rm-space-3) 0 0
}

.contact-key-list>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(5rem,.35fr) minmax(0,1fr);
  gap:var(--rm-space-2);
  padding-block:var(--rm-space-2);
  border-top:1px solid #e7e3df
}

.contact-key-list dt{
  color:#696771
}

.contact-key-list dd{
  color:#171426;
  font-size:var(--rm-text-sm);
  overflow-wrap:anywhere
}

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

.contact-payment-card{
  min-width:0;
  padding:clamp(1.5rem,3vw,2.25rem);
  border-radius:var(--rm-radius-lg)
}

.contact-payment-card-primary{
  background:#171426;
  color:#fff
}

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

.contact-payment-card-primary p{
  margin-top:var(--rm-space-2);
  color:#c8c3cd
}

.contact-payment-card-secondary{
  background:#fff;
  color:#171426
}

.contact-payment-card-secondary h3{
  color:#171426
}

.contact-payment-card-secondary p{
  margin-top:var(--rm-space-2);
  color:#696771
}

.contact-payment-index{
  display:block;
  margin-bottom:var(--rm-space-3);
  color:inherit;
  font-size:var(--rm-text-xs);
  font-weight:850;
  opacity:.72
}

.contact-payment-note{
  margin-top:var(--rm-space-3)
}

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

.contact-entry-card{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--rm-space-3);
  padding:clamp(1.5rem,3vw,2.25rem);
  border-radius:var(--rm-radius-lg)
}

.contact-entry-card-dark{
  background:#171426;
  color:#fff
}

.contact-entry-card-light{
  background:#fff;
  color:#171426
}

.contact-entry-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  height:3rem;
  border-radius:var(--rm-radius-sm)
}

.contact-entry-card-dark .contact-entry-icon{
  background:#fff1cf;
  color:#493512
}

.contact-entry-card-light .contact-entry-icon{
  background:#eaf5f1;
  color:#183b32
}

.contact-entry-icon svg{
  width:1.5rem;
  height:1.5rem
}

.contact-entry-card>div:nth-child(2){
  min-width:0
}

.contact-entry-label{
  display:block;
  color:inherit;
  font-size:var(--rm-text-xs);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.72
}

.contact-entry-card h3{
  margin-top:.5rem;
  color:inherit
}

.contact-entry-card p{
  margin-top:var(--rm-space-2);
  color:inherit;
  opacity:.75
}

.contact-entry-action{
  grid-column:2;
  display:flex;
  justify-content:flex-start;
  padding-top:var(--rm-space-3)
}

.contact-entry-card-dark .rm-btn-secondary{
  border-color:rgba(255,255,255,.42);
  background:#fff;
  color:#171426
}

.contact-entry-card-light .rm-btn-ghost{
  border-color:color-mix(in srgb,#171426 34%,transparent);
  background:transparent;
  color:#171426
}

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

.contact-response-table caption{
  padding:var(--rm-space-2);
  background:#fff;
  color:#171426;
  font-size:var(--rm-text-sm);
  font-weight:750;
  text-align:left
}

.contact-response-table>p{
  margin-top:var(--rm-space-2);
  color:#735f6c;
  font-size:var(--rm-text-sm)
}

.contact-final{
  background:#fcfbf9;
  color:#171426
}

.contact-final .rm-cta-panel{
  background:#171426;
  color:#fff
}

.contact-final .rm-kicker{
  margin-bottom:1.2rem
}

.contact-final-actions{
  flex:0 0 min(100%,18rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--rm-space-2)
}

.contact-final-actions .rm-btn{
  width:100%
}

.contact-final-primary{
  background:#981b38;
  color:#fff
}

.contact-final-secondary{
  border-color:rgba(255,255,255,.42);
  background:transparent;
  color:#fff
}

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

  .contact-routing-stage,
  .contact-routing-sheet{
    height:auto;
    overflow:visible
  }

  .contact-routing-sheet{
    overflow:hidden
  }

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

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

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

  .contact-side-stack>*{
    height:auto
  }

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

@media (max-width:48rem){
  .contact-hero-facts,
  .contact-route-result,
  .contact-choice-grid,
  .contact-brief-grid,
  .contact-payment-layout,
  .contact-entry-grid,
  .contact-side-stack{
    grid-template-columns:1fr
  }

  .contact-hero-facts>div{
    padding-inline:0
  }

  .contact-hero-facts>div+div{
    border-left:0;
    border-top:1px solid color-mix(in srgb,#413126 15%,transparent)
  }

  .contact-route-result>div+div{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14)
  }

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

  .contact-form-intro p{
    max-width:none
  }

  .contact-fields-2,
  .contact-radio-grid,
  .contact-radio-grid-2,
  .contact-radio-grid-4{
    grid-template-columns:1fr
  }

  .contact-entry-action{
    grid-column:1 / -1
  }
}

@media (max-width:30rem){
  .contact-route-row{
    grid-template-columns:auto minmax(0,1fr)
  }

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

  .contact-routing-head,
  .contact-routing-foot{
    flex-direction:column;
    align-items:flex-start
  }

  .contact-routing-foot strong{
    text-align:left
  }

  .contact-entry-card{
    grid-template-columns:1fr
  }

  .contact-entry-action{
    grid-column:1
  }

  .contact-entry-action .rm-btn,
  .contact-side-action .rm-btn{
    width:100%;
    white-space:normal
  }

  .contact-key-list>div{
    grid-template-columns:1fr
  }

  .contact-final-actions{
    width:100%;
    flex-basis:auto
  }
}
