.contact-page h1,
.contact-page h2{
  font-family:var(--am-font-body);
}

.contact-page h1,
.contact-page h2,
.contact-page h3,
.contact-page h4{
  overflow-wrap:break-word;
}

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

.contact-page .c-page-hero[data-hero-form="card-collage"]{
  padding-block:var(--am-hero-pad);
  background:linear-gradient(135deg,#f2eaf4 0%,#faf9f7 52%,#f7e9e1 100%);
  color:#171a24;
}

.contact-page .c-page-hero[data-hero-form="card-collage"] p{
  color:#5b5a62;
}

.contact-page .c-hero-copy{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);
  align-items:start;
  gap:var(--am-space-5);
}

.contact-hero-title,
.c-hero-side{
  min-width:0;
}

.contact-hero-title h1{
  max-width:15ch;
  font-size:clamp(2.75rem,5vw,4rem);
}

.c-hero-side{
  padding-top:var(--am-space-2);
}

.c-hero-side p{
  max-width:38rem;
  font-size:var(--am-text-lg);
}

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

.hero-art{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:stretch;
  gap:var(--am-space-3);
  width:100%;
  margin-top:var(--am-space-5);
  overflow:visible;
  transform:none;
}

.contact-route-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  padding:var(--am-space-4);
  border-radius:var(--am-radius-md);
  background:#ffffff;
  color:#171a24;
  --contact-muted:#5b5a62;
  --contact-line:rgba(23,26,36,.12);
  box-shadow:var(--am-shadow);
}

.contact-route-card p{
  color:var(--contact-muted)!important;
}

.contact-route-card h2{
  margin-top:var(--am-space-2);
  font-size:clamp(1.65rem,3vw,2.3rem);
  line-height:1.2;
}

.contact-route-card h2 + p{
  margin-top:var(--am-space-2);
}

.contact-route-card dl{
  display:grid;
  gap:var(--am-space-1);
  margin-top:auto;
  padding-top:var(--am-space-3);
  border-top:1px solid var(--contact-line);
}

.contact-route-card dl div{
  display:grid;
  grid-template-columns:minmax(5.5rem,.7fr) minmax(0,1fr);
  gap:var(--am-space-2);
}

.contact-route-card dt,
.contact-route-card dd{
  min-width:0;
  overflow-wrap:break-word;
}

.contact-route-card dt{
  color:var(--contact-muted);
}

.contact-page .hero-art>*{
  min-height:0;
}

.contact-route-card-primary{
  grid-column:span 6;
  background:#f7e9e1;
  color:#34221d;
  --contact-muted:#685148;
  --contact-line:rgba(52,34,29,.14);
}

.contact-route-card-dark{
  grid-column:span 6;
  background:#191c27;
  color:#f8f7f4;
  --contact-muted:#bec2cd;
  --contact-line:rgba(255,255,255,.12);
}

.contact-route-card-dark .c-badge{
  background:#f2edd8;
  color:#302a17;
}

.contact-route-card-mint{
  grid-column:span 6;
  background:#e8f1ec;
  color:#173128;
  --contact-muted:#466057;
  --contact-line:rgba(23,49,40,.14);
}

.contact-route-card-sand{
  grid-column:span 6;
  background:#f2edd8;
  color:#302a17;
  --contact-muted:#615b42;
  --contact-line:rgba(48,42,23,.14);
}

.contact-route-foot{
  margin-top:auto;
  padding-top:var(--am-space-3);
  border-top:1px solid var(--contact-line);
  color:var(--contact-muted);
  font-size:var(--am-text-sm);
}

.contact-intake-section{
  background:#faf9f7;
  color:#171a24;
}

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

.contact-type-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:var(--am-space-3);
  border:1px solid rgba(23,26,36,.12);
  border-radius:var(--am-radius-md);
  background:#ffffff;
  color:#171a24;
  text-align:left;
  cursor:pointer;
  transition:transform .2s var(--am-ease),background .2s var(--am-ease),border-color .2s var(--am-ease);
}

.contact-type-card:hover{
  transform:translateY(-3px);
  border-color:rgba(36,61,143,.42);
}

.contact-type-card[aria-pressed="true"]{
  border-color:#243d8f;
  background:#f2eaf4;
  color:#2b2030;
  box-shadow:inset 0 0 0 1px #243d8f;
}

.contact-type-mark{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--am-space-2);
  margin-bottom:var(--am-space-3);
}

.contact-type-card h3{
  font-size:var(--am-text-xl);
}

.contact-type-card h3 + p{
  margin-top:var(--am-space-1);
}

.contact-type-card p{
  color:#5b5a62;
}

.contact-type-card[aria-pressed="true"] p{
  color:#635369;
}

.contact-type-hint{
  margin-top:auto;
  padding-top:var(--am-space-3);
  color:#1d3278;
  font-size:var(--am-text-sm);
  font-weight:650;
}

.contact-presales-section{
  background:#f7e9e1;
  color:#34221d;
}

.contact-presales-section .am-section-head p{
  color:#685148;
}

.contact-support-section{
  background:#f2eaf4;
  color:#2b2030;
}

.contact-support-section .am-section-head p{
  color:#635369;
}

.contact-form{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:var(--am-space-4);
  background:#ffffff;
  color:#171a24;
  --contact-form-muted:#5b5a62;
  --contact-form-line:rgba(23,26,36,.12);
}

.contact-form p,
.contact-form small{
  color:var(--contact-form-muted);
}

.contact-form-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(16rem,26rem);
  align-items:start;
  gap:var(--am-space-4);
  padding-bottom:var(--am-space-4);
  border-bottom:1px solid var(--contact-form-line);
}

.contact-form-heading h3{
  margin-top:var(--am-space-2);
  font-size:var(--am-text-xl);
}

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

.contact-field-full,
.contact-date-field{
  grid-column:1/-1;
}

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

.contact-date-field legend,
.contact-field-label{
  display:block;
  margin-bottom:var(--am-space-1);
  font-size:var(--am-text-sm);
  font-weight:650;
}

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

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

.contact-addon-grid .c-choice{
  height:100%;
}

.contact-addon-grid .c-choice span{
  height:100%;
  padding:var(--am-space-3);
  background:#faf9f7;
  color:#171a24;
}

.contact-addon-grid .c-choice input:checked + span{
  background:#f2eaf4;
  color:#2b2030;
}

.contact-addon-grid small{
  margin-top:var(--am-space-1);
  color:#5b5a62;
}

.contact-confirm{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--am-space-1);
  margin-top:var(--am-space-3);
  padding:var(--am-space-3);
  border-radius:var(--am-radius-md);
  background:#f2edd8;
  color:#302a17;
}

.contact-confirm input{
  width:1.1rem;
  height:1.1rem;
  margin:.25rem 0 0;
  accent-color:var(--am-primary);
}

.contact-form-status{
  min-height:1.6rem;
  margin-top:var(--am-space-2);
  color:#1d3278!important;
  font-weight:650;
}

.contact-form.is-invalid .contact-form-status{
  color:#8a2f28!important;
}

.contact-request-summary{
  margin-top:var(--am-space-3);
  padding:var(--am-space-3);
  border-radius:var(--am-radius-md);
  background:#e8f1ec;
  color:#173128;
  --contact-summary-muted:#466057;
  --contact-summary-line:rgba(23,49,40,.14);
}

.contact-request-summary h4{
  font-size:var(--am-text-lg);
}

.contact-request-summary dl{
  display:grid;
  gap:0;
  margin-top:var(--am-space-2);
  border-top:1px solid var(--contact-summary-line);
}

.contact-request-summary dl div{
  display:grid;
  grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);
  gap:var(--am-space-2);
  padding-block:var(--am-space-2);
  border-bottom:1px solid var(--contact-summary-line);
}

.contact-request-summary dt,
.contact-request-summary dd{
  min-width:0;
  overflow-wrap:break-word;
}

.contact-request-summary dt{
  color:var(--contact-summary-muted);
  font-weight:650;
}

.contact-request-summary p{
  margin-top:var(--am-space-2);
  color:var(--contact-summary-muted);
}

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

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

.contact-select-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--am-space-2);
  width:100%;
  min-height:3rem;
  padding:.8rem 2.75rem .8rem .9rem;
  border:1px solid var(--am-control-line);
  border-radius:var(--am-radius-sm);
  background:#ffffff;
  color:#171a24;
  text-align:left;
  cursor:pointer;
}

.contact-select-button::after{
  content:"";
  position:absolute;
  right:1rem;
  width:.45rem;
  height:.45rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-.15rem);
}

.contact-select-button[aria-expanded="true"]::after{
  transform:rotate(225deg) translate(-.1rem,-.1rem);
}

.contact-select-button[aria-invalid="true"]{
  border-color:#8a2f28;
}

.contact-select-menu{
  position:absolute;
  top:calc(100% + .5rem);
  left:0;
  right:0;
  z-index:30;
  display:grid;
  max-height:18rem;
  overflow-y:auto;
  padding:.5rem;
  border-radius:var(--am-radius-sm);
  background:#ffffff;
  color:#171a24;
  box-shadow:var(--am-shadow);
}

.contact-select-option{
  width:100%;
  padding:.7rem .8rem;
  border:0;
  border-radius:.55rem;
  background:#ffffff;
  color:#171a24;
  text-align:left;
  cursor:pointer;
}

.contact-select-option:hover,
.contact-select-option[aria-selected="true"]{
  background:#f2eaf4;
  color:#2b2030;
}

.contact-support-layout{
  display:grid;
  grid-template-columns:minmax(17rem,.7fr) minmax(0,1.3fr);
  align-items:start;
  gap:var(--am-space-3);
}

.contact-ticket-guide{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:var(--am-space-4);
  border-radius:var(--am-radius-md);
  background:#191c27;
  color:#f8f7f4;
  --contact-guide-muted:#bec2cd;
  --contact-guide-line:rgba(255,255,255,.12);
}

.contact-ticket-guide .c-badge{
  background:#f2edd8;
  color:#302a17;
}

.contact-ticket-guide h3{
  margin-top:var(--am-space-2);
  font-size:var(--am-text-xl);
}

.contact-ticket-guide h3 + p{
  margin-top:var(--am-space-1);
}

.contact-ticket-guide p,
.contact-ticket-guide li{
  color:var(--contact-guide-muted);
}

.contact-ticket-guide ul{
  display:grid;
  gap:var(--am-space-1);
  margin-top:var(--am-space-3);
  padding-left:1.25rem;
}

.contact-ticket-guide .contact-actions{
  margin-top:var(--am-space-3);
}

.contact-file-shell{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:var(--am-space-2);
  min-width:0;
}

.contact-file-shell input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.contact-file-shell [data-file-name]{
  min-width:0;
  color:#5b5a62;
  overflow-wrap:anywhere;
}

.contact-regions-section{
  background:#faf9f7;
  color:#171a24;
}

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

.contact-region-card{
  min-width:0;
  padding:var(--am-space-4);
  background:#ffffff;
  color:#171a24;
}

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

.contact-region-card h3 + p{
  margin-top:var(--am-space-1);
}

.contact-region-card p{
  color:#5b5a62;
}

.contact-region-foot{
  margin-top:auto;
  padding-top:var(--am-space-3);
  color:#1d3278;
  font-size:var(--am-text-sm);
  font-weight:650;
}

.contact-region-note{
  margin-top:var(--am-space-4);
  background:#f2edd8;
  color:#302a17;
}

.contact-region-note > svg{
  width:1.25rem;
  height:1.25rem;
  flex:none;
  margin-top:.2rem;
}

.contact-region-note p{
  margin-top:var(--am-space-1);
  color:#615b42;
}

.contact-response-section{
  background:#ffffff;
  color:#171a24;
}

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

.contact-response-card{
  min-width:0;
  padding:var(--am-space-4);
}

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

.contact-response-card h3 + p{
  margin-top:var(--am-space-1);
}

.contact-response-foot{
  display:flex;
  flex-direction:column;
  gap:var(--am-space-1);
  margin-top:auto;
  padding-top:var(--am-space-3);
}

.contact-response-foot span{
  font-size:var(--am-text-sm);
}

.contact-impact-note{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:var(--am-space-2);
  margin-top:var(--am-space-4);
  padding:var(--am-space-3);
  border-radius:var(--am-radius-md);
  background:#191c27;
  color:#f8f7f4;
}

.contact-impact-note p{
  margin-top:var(--am-space-1);
  color:#bec2cd;
}

.contact-impact-icon{
  display:grid;
  place-items:center;
  width:2.75rem;
  height:2.75rem;
  border-radius:var(--am-radius-sm);
  background:#303543;
  color:#f8f7f4;
}

.contact-impact-icon svg{
  width:1.25rem;
  height:1.25rem;
}

.contact-privacy-section{
  background:#e8f1ec;
  color:#173128;
}

.contact-privacy-section .am-section-head p{
  color:#466057;
}

.contact-confirm-list{
  display:grid;
  gap:0;
  border-top:1px solid rgba(23,49,40,.14);
}

.contact-confirm-row{
  display:grid;
  grid-template-columns:2.5rem minmax(7.5rem,11rem) minmax(0,1fr);
  align-items:start;
  gap:var(--am-space-3);
  padding-block:var(--am-space-3);
  border-bottom:1px solid rgba(23,49,40,.14);
}

.contact-confirm-row > *{
  min-width:0;
}

.contact-confirm-row p{
  color:#466057;
}

.contact-confirm-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.5rem;
  height:2.5rem;
  border-radius:50%;
  background:#243d8f;
  color:#ffffff;
  line-height:1;
}

.contact-privacy-foot{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:var(--am-space-4);
  margin-top:var(--am-space-4);
  padding:var(--am-space-3);
  border-radius:var(--am-radius-md);
  background:#ffffff;
  color:#171a24;
}

.contact-privacy-foot p{
  color:#5b5a62;
}

.contact-privacy-foot .contact-actions{
  margin-top:0;
}

.contact-closing-section{
  padding-block:var(--am-section-space);
  background:#faf9f7;
  color:#171a24;
}

.contact-closing-section .c-cta-panel{
  padding-inline:clamp(1.5rem,5vw,4rem);
}

.contact-closing-section .am-kicker{
  margin-bottom:var(--am-space-3);
}

.contact-closing-section h2{
  max-width:18ch;
  font-size:clamp(2rem,4vw,3.1rem);
}

.contact-closing-section h2 + p{
  margin-top:var(--am-space-2);
}

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

.contact-closing-actions .c-btn-ghost{
  color:#f8f7f4;
  border-color:rgba(248,247,244,.38);
}

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

  .contact-hero-title h1{
    max-width:18ch;
  }

  .c-hero-side{
    padding-top:0;
  }

  .contact-route-card-primary,
  .contact-route-card-dark{
    grid-column:span 6;
  }

  .contact-route-card-mint,
  .contact-route-card-sand{
    grid-column:span 6;
  }

  .contact-type-grid,
  .contact-region-grid,
  .contact-response-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

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

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

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

  .contact-privacy-foot .contact-actions{
    margin-top:var(--am-space-2);
  }
}

@media (max-width:42rem){
  .contact-page .c-page-hero[data-hero-form="card-collage"]{
    padding-block:var(--am-hero-pad);
  }

  .hero-art{
    grid-template-columns:minmax(0,1fr);
    width:min(calc(100% - var(--am-gutter)*2),100%);
    height:auto;
    margin-inline:auto;
    overflow:visible;
    transform:none;
  }

  .contact-route-card-primary,
  .contact-route-card-dark,
  .contact-route-card-mint,
  .contact-route-card-sand{
    grid-column:1;
    width:auto;
    min-height:0;
  }

  .contact-type-grid,
  .contact-region-grid,
  .contact-response-grid,
  .contact-form-grid,
  .contact-addon-grid,
  .contact-date-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .contact-field-full,
  .contact-date-field{
    grid-column:1;
  }

  .contact-form,
  .contact-ticket-guide,
  .contact-region-card,
  .contact-response-card{
    padding:var(--am-space-3);
  }

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

  .contact-actions .c-btn{
    width:100%;
    white-space:normal;
  }

  .contact-request-summary dl div{
    grid-template-columns:minmax(0,1fr);
    gap:var(--am-space-1);
  }

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

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

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