.contact-hero{
  padding-block:var(--oak-space-6);
  background:var(--oak-paper);
  color:var(--oak-ink)
}

.contact-hero__grid{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:var(--oak-space-5);
  align-items:center
}

.contact-hero__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1)
}

.contact-hero__copy h1{
  max-width:720px
}

.contact-hero__copy>p{
  max-width:680px;
  color:var(--oak-muted)
}

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

.contact-hero__response{
  display:grid;
  width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--oak-space-3);
  margin-top:var(--oak-space-3);
  padding-top:var(--oak-space-3);
  border-top:1px solid var(--oak-line)
}

.contact-hero__response div{
  display:grid;
  min-width:0;
  gap:var(--oak-space-1)
}

.contact-hero__response strong{
  font-family:var(--oak-font-heading);
  font-size:var(--oak-fs-2)
}

.contact-hero__response span{
  color:var(--oak-muted);
  font-size:var(--oak-fs-1);
  line-height:1.55
}

.contact-dossier{
  min-width:0;
  border-radius:var(--oak-radius-panel);
  overflow:hidden;
  background:var(--oak-ink);
  color:#fcf9f5;
  box-shadow:var(--oak-shadow-float)
}

.contact-dossier__head,
.contact-dossier__foot{
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:var(--oak-space-2);
  padding:var(--oak-space-2) var(--oak-space-3);
  color:#d8cedc;
  background:var(--oak-ink-2);
  border-color:var(--oak-line-dark);
  font-size:var(--oak-fs-0)
}

.contact-dossier__head{
  border-bottom:1px solid var(--oak-line-dark)
}

.contact-dossier__foot{
  align-items:flex-start;
  border-top:1px solid var(--oak-line-dark)
}

.contact-dossier__foot span{
  min-width:0;
  overflow-wrap:anywhere
}

.contact-dossier__state{
  color:var(--oak-violet-2)
}

.contact-dossier__body{
  display:grid;
  padding:var(--oak-space-1) var(--oak-space-3)
}

.contact-route{
  display:grid;
  min-width:0;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--oak-space-2);
  padding-block:var(--oak-space-3);
  border-bottom:1px solid var(--oak-line-dark)
}

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

.contact-route__code{
  display:inline-flex;
  width:2rem;
  height:2rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--oak-ink);
  background:var(--oak-violet-2);
  line-height:1
}

.contact-route div{
  display:grid;
  min-width:0;
  gap:var(--oak-space-1)
}

.contact-route h2{
  color:#fcf9f5;
  font-size:var(--oak-fs-4);
  letter-spacing:-.02em
}

.contact-route p{
  color:#c6bbc9;
  font-size:var(--oak-fs-2)
}

.contact-brief{
  margin-top:var(--oak-space-4)
}

.contact-form{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:var(--oak-space-3);
  padding:var(--oak-space-4);
  border-radius:var(--oak-radius-panel);
  background:var(--oak-paper);
  color:var(--oak-ink)
}

.contact-form__head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1)
}

.contact-form__head p{
  max-width:680px;
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

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

.contact-form__wide{
  grid-column:1/-1
}

.contact-form .c-field small{
  color:var(--oak-muted);
  overflow-wrap:anywhere
}

.contact-form__actions{
  display:flex;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:var(--oak-space-1)
}

.contact-form__status{
  min-height:1.5rem;
  color:var(--oak-violet-dark);
  font-size:var(--oak-fs-2);
  font-weight:650
}

.contact-form__status[data-state="error"]{
  color:var(--oak-ink)
}

.contact-form__status[data-state="success"]{
  color:var(--oak-positive)
}

.contact-brief__side{
  display:grid;
  align-self:stretch;
  align-content:start;
  grid-template-rows:auto auto;
  gap:var(--oak-space-2)
}

.contact-side-card{
  display:flex;
  min-width:0;
  flex:0 0 auto;
  height:auto;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card)
}

.contact-side-card--violet{
  background:var(--oak-surface);
  color:var(--oak-ink)
}

.contact-side-card--violet p,
.contact-side-card--violet dd{
  color:var(--oak-muted)
}

.contact-side-card--violet dl{
  border-color:var(--oak-line)
}

.contact-side-card--dark{
  background:var(--oak-ink-2);
  color:#fcf9f5
}

.contact-side-card--dark p,
.contact-side-card--dark li{
  color:#c6bbc9
}

.contact-side-card__icon{
  display:flex;
  width:2.5rem;
  height:2.5rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--oak-violet-dark);
  background:var(--oak-paper)
}

.contact-side-card__icon svg{
  width:1.2rem;
  height:1.2rem
}

.contact-side-card h3{
  font-size:var(--oak-fs-4)
}

.contact-side-card p,
.contact-side-card li,
.contact-side-card dd{
  font-size:var(--oak-fs-2)
}

.contact-side-card dl{
  display:grid;
  width:100%;
  gap:var(--oak-space-2);
  margin:var(--oak-space-2) 0 0;
  padding-top:var(--oak-space-2);
  border-top:1px solid var(--oak-line)
}

.contact-side-card dl div{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:var(--oak-space-1)
}

.contact-side-card dd,
.contact-side-card a{
  overflow-wrap:anywhere
}

.contact-side-card ul{
  margin:var(--oak-space-2) 0;
  padding-left:1.2rem
}

.contact-side-card .c-btn{
  width:100%;
  margin-top:auto;
  padding-top:var(--oak-space-3)
}

.contact-sensitive-note{
  margin-top:var(--oak-space-3);
  background:var(--oak-violet-pale);
  color:var(--oak-ink)
}

.contact-sensitive-note p{
  color:var(--oak-ink)
}

.contact-region-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:var(--oak-space-2);
  align-items:start;
  margin-top:var(--oak-space-4)
}

.contact-region{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-warm);
  color:var(--oak-ink)
}

.contact-region>span{
  color:var(--oak-violet-dark);
  font-size:var(--oak-fs-1)
}

.contact-region h3{
  font-size:var(--oak-fs-4)
}

.contact-region>p,
.contact-region dd{
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

.contact-region dl{
  display:grid;
  width:100%;
  gap:var(--oak-space-2);
  margin:var(--oak-space-2) 0 0;
  padding-top:var(--oak-space-2);
  border-top:1px solid var(--oak-line)
}

.contact-region dl div{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:var(--oak-space-1)
}

.contact-region dt,
.contact-region dd{
  min-width:0;
  overflow-wrap:anywhere
}

.contact-region-rule{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--oak-space-3);
  margin-top:var(--oak-space-4);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-surface);
  color:var(--oak-ink)
}

.contact-region-rule div{
  display:grid;
  min-width:0;
  gap:var(--oak-space-1)
}

.contact-region-rule p{
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

.contact-checklist{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:var(--oak-space-2);
  margin:var(--oak-space-4) 0 0;
  padding:0;
  list-style:none
}

.contact-checklist li{
  display:grid;
  min-width:0;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--oak-space-2);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-paper);
  color:var(--oak-ink)
}

.contact-checklist__number{
  display:inline-flex;
  width:2.25rem;
  height:2.25rem;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--oak-violet);
  color:var(--oak-ink);
  font-size:var(--oak-fs-1);
  line-height:1
}

.contact-checklist li div{
  display:grid;
  min-width:0;
  gap:var(--oak-space-1)
}

.contact-checklist h3{
  font-size:var(--oak-fs-4)
}

.contact-checklist p{
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

.contact-acceptance{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:var(--oak-space-4);
  margin-top:var(--oak-space-4);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-ink);
  color:#fcf9f5
}

.contact-acceptance>div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1)
}

.contact-acceptance .c-badge{
  color:var(--oak-ink);
  background:var(--oak-violet-2);
  border-color:var(--oak-violet-2)
}

.contact-acceptance ul{
  margin:0;
  padding-left:1.25rem;
  color:#c6bbc9
}

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

.contact-purchase-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-warm);
  color:var(--oak-ink)
}

.contact-purchase-card--payment{
  background:var(--oak-surface);
  color:var(--oak-ink)
}

.contact-purchase-card>svg{
  width:1.5rem;
  height:1.5rem;
  color:var(--oak-violet-dark)
}

.contact-purchase-card p,
.contact-purchase-card li{
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

.contact-purchase-card ul{
  margin:var(--oak-space-1) 0 0;
  padding-left:1.2rem
}

.contact-purchase-card__note{
  margin-top:var(--oak-space-2)
}

.contact-purchase-table{
  margin-top:var(--oak-space-4)
}

.contact-purchase-table table{
  min-width:720px
}

.contact-purchase-table caption{
  padding:0 0 var(--oak-space-2);
  color:var(--oak-muted);
  font-size:var(--oak-fs-2);
  text-align:left
}

.contact-existing{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:var(--oak-space-5);
  align-items:stretch
}

.contact-existing__copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:var(--oak-space-1)
}

.contact-existing__copy .c-kicker{
  color:var(--oak-ink);
  background:var(--oak-violet-2);
  border-color:var(--oak-violet-2)
}

.contact-existing__copy h2{
  color:#fcf9f5
}

.contact-existing__copy p{
  max-width:650px;
  color:#c6bbc9
}

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

.contact-existing__actions .c-btn--ghost{
  color:#fcf9f5;
  border-color:color-mix(in srgb,currentColor 45%,transparent)
}

.contact-ticket{
  min-width:0;
  border-radius:var(--oak-radius-card);
  overflow:hidden;
  background:var(--oak-paper);
  color:var(--oak-ink)
}

.contact-ticket__head{
  display:flex;
  justify-content:space-between;
  gap:var(--oak-space-2);
  padding:var(--oak-space-2) var(--oak-space-3);
  background:var(--oak-surface);
  color:var(--oak-ink);
  border-bottom:1px solid #b8aebc;
  font-size:var(--oak-fs-1)
}

.contact-ticket dl{
  display:grid;
  margin:0;
  padding:var(--oak-space-3)
}

.contact-ticket dl div{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);
  gap:var(--oak-space-2);
  padding-block:var(--oak-space-2);
  border-bottom:1px solid var(--oak-line)
}

.contact-ticket dl div:last-child{
  border-bottom:0
}

.contact-ticket dd{
  color:var(--oak-muted)
}

.contact-resource-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  gap:var(--oak-space-2);
  align-items:start;
  margin-top:var(--oak-space-4)
}

.contact-resource{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:var(--oak-space-1);
  padding:var(--oak-space-3);
  border-radius:var(--oak-radius-card);
  background:var(--oak-warm);
  color:var(--oak-ink);
  transition:background var(--oak-duration),transform var(--oak-duration) var(--oak-ease)
}

.contact-resource:hover{
  transform:translateY(-3px);
  background:var(--oak-surface);
  color:var(--oak-ink)
}

.contact-resource:focus-visible{
  background:var(--oak-surface);
  color:var(--oak-ink)
}

.contact-resource>svg{
  width:1.5rem;
  height:1.5rem;
  color:var(--oak-violet-dark)
}

.contact-resource>span.mono{
  color:var(--oak-violet-dark);
  font-size:var(--oak-fs-0)
}

.contact-resource h3{
  font-size:var(--oak-fs-4)
}

.contact-resource p{
  color:var(--oak-muted);
  font-size:var(--oak-fs-2)
}

.contact-resource__hint{
  margin-top:var(--oak-space-2);
  color:var(--oak-violet-dark);
  font-size:var(--oak-fs-1);
  font-weight:700
}

.contact-cta__copy{
  display:grid;
  min-width:0;
  gap:var(--oak-space-1)
}

.contact-cta__copy h2{
  color:#fff
}

.contact-cta__copy p{
  color:#c6bbc9
}

.contact-cta__actions{
  display:flex;
  min-width:min(100%,220px);
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start
}

.contact-cta__actions .c-btn--ghost{
  color:#fcf9f5;
  border-color:color-mix(in srgb,currentColor 45%,transparent)
}

@media(max-width:64rem){
  .contact-hero__grid,
  .contact-existing{
    grid-template-columns:1fr
  }

  .contact-dossier{
    max-width:760px
  }

  .contact-existing{
    gap:var(--oak-space-4)
  }
}

@media(max-width:48rem){
  .contact-hero__response,
  .contact-form__grid,
  .contact-region-rule,
  .contact-acceptance,
  .contact-purchase-grid{
    grid-template-columns:1fr
  }

  .contact-form__wide{
    grid-column:auto
  }

  .contact-form{
    padding:var(--oak-space-3)
  }

  .contact-acceptance{
    gap:var(--oak-space-3)
  }

  .contact-region dl div,
  .contact-side-card dl div,
  .contact-ticket dl div{
    grid-template-columns:1fr
  }
}

@media(max-width:24.375rem){
  .contact-hero{
    padding-block:var(--oak-space-5)
  }

  .contact-hero__actions,
  .contact-form__actions,
  .contact-existing__actions{
    width:100%;
    flex-direction:column
  }

  .contact-hero__actions .c-btn,
  .contact-form__actions .c-btn,
  .contact-existing__actions .c-btn{
    width:100%;
    white-space:normal
  }

  .contact-dossier__head,
  .contact-dossier__foot,
  .contact-ticket__head{
    align-items:flex-start;
    flex-direction:column
  }

  .contact-route,
  .contact-checklist li{
    grid-template-columns:1fr
  }

  .contact-cta__actions{
    width:100%
  }
}

.contact-select-shell{position:relative;min-width:0}
.contact-select-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
.contact-select-btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.78rem .9rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:.5rem;color:inherit;background:#fff;font:inherit;text-align:left;cursor:pointer}
.contact-select-btn::after{content:"";width:.45rem;height:.45rem;flex:0 0 auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:.45;transform:translateY(-15%) rotate(45deg)}
.contact-select-shell.is-open .contact-select-btn{outline:3px solid color-mix(in srgb,currentColor 18%,transparent)}
.contact-select-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + .35rem);margin:0;padding:.35rem;list-style:none;max-height:16rem;overflow:auto;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:.5rem;background:#fff;box-shadow:0 .6rem 1.4rem color-mix(in srgb,#000 12%,transparent)}
.contact-select-list[hidden]{display:none}
.contact-select-list button{width:100%;display:block;padding:.65rem .75rem;border:0;border-radius:.45rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.contact-select-list button:hover,.contact-select-list button[aria-selected="true"]{background:color-mix(in srgb,currentColor 8%,#fff)}
