/* ============ SHARED CONTACT POPUP ============ */
html.contact-popup-open,
html.contact-popup-open body{
  overflow:hidden;
}

.contact-popup{
  --contact-popup-exit-ms:520ms;
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:grid;
  place-items:center;
  padding:24px;
  color:var(--paper);
  background:rgba(21,19,14,.56);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transition:opacity 320ms var(--ease-fade);
}
.contact-popup[aria-hidden="false"]{
  opacity:1;
  pointer-events:auto;
}
html.contact-popup-closing .contact-popup{
  z-index:999;
  pointer-events:none;
  transition:opacity var(--contact-popup-exit-ms) cubic-bezier(.23,1,.32,1);
}
.contact-popup-shell{
  width:min(1120px,100%);
  max-height:min(760px,calc(100vh - 48px));
  display:grid;
  grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);
  overflow:hidden;
  border:1px solid rgba(248,244,236,.14);
  border-radius:28px;
  background:rgba(21,19,14,.92);
  box-shadow:0 40px 110px -38px rgba(0,0,0,.75);
  opacity:0;
  transform:translateY(14px) scale(.98);
  transition:opacity 320ms var(--ease-fade),transform 320ms var(--ease-out);
}
.contact-popup[aria-hidden="false"] .contact-popup-shell{
  opacity:1;
  transform:translateY(0) scale(1);
}
html.contact-popup-closing .contact-popup-shell{
  opacity:0;
  transform:translateY(10px) scale(.985);
  transition:opacity 420ms cubic-bezier(.23,1,.32,1),transform var(--contact-popup-exit-ms) cubic-bezier(.23,1,.32,1);
}
.contact-popup-aside{
  position:relative;
  padding:42px;
  background:
    linear-gradient(180deg, rgba(245,197,24,.16), rgba(245,197,24,.04)),
    rgba(248,244,236,.045);
  border-right:1px solid rgba(248,244,236,.1);
}
.contact-popup-aside h2{
  font-family:'Instrument Serif',Georgia,serif;
  font-size:clamp(38px,4vw,60px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.03em;
  max-width:9ch;
}
.contact-popup-aside h2 em{font-style:italic;color:var(--yellow)}
.contact-popup-aside p{
  margin-top:18px;
  color:rgba(248,244,236,.68);
  max-width:34ch;
  font-size:15px;
}
.contact-popup-details{
  display:grid;
  gap:14px;
  margin-top:34px;
}
.contact-popup-detail{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
a.contact-popup-detail{
  color:inherit;
  text-decoration:none;
}
.contact-popup-detail svg{
  width:18px;
  height:18px;
  margin-top:3px;
  color:var(--yellow);
  flex-shrink:0;
}
.contact-popup-detail span{
  display:block;
  color:rgba(248,244,236,.48);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-popup-detail strong,
.contact-popup-detail a{
  color:var(--paper);
  font-size:14px;
  font-weight:600;
}
.contact-popup-detail a:hover,
a.contact-popup-detail:hover strong{color:var(--yellow)}
.contact-popup-panel{
  position:relative;
  min-height:0;
  overflow:auto;
  padding:42px;
  display:flex;
  flex-direction:column;
  scrollbar-width:thin;
  scrollbar-color:rgba(245,197,24,.55) rgba(248,244,236,.06);
}
.contact-popup-panel::-webkit-scrollbar,
.shared-contact-options::-webkit-scrollbar{
  width:10px;
}
.contact-popup-panel::-webkit-scrollbar-track,
.shared-contact-options::-webkit-scrollbar-track{
  background:rgba(248,244,236,.045);
  border-radius:999px;
}
.contact-popup-panel::-webkit-scrollbar-thumb,
.shared-contact-options::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(245,197,24,.78), rgba(245,197,24,.42));
  border:2px solid rgba(21,19,14,.92);
  border-radius:999px;
}
.contact-popup-panel::-webkit-scrollbar-thumb:hover,
.shared-contact-options::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(245,197,24,.95), rgba(245,197,24,.58));
}
.contact-popup-panel .shared-contact-form{
  flex:1;
  display:flex;
  flex-direction:column;
}
.contact-popup-close{
  position:absolute;
  top:20px;
  right:20px;
  z-index:2;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:rgba(248,244,236,.78);
  border:1px solid rgba(248,244,236,.14);
  border-radius:999px;
  background:rgba(248,244,236,.06);
  transition:transform 160ms var(--ease-out),background 180ms ease,color 180ms ease,border-color 180ms ease;
}
.contact-popup-close:active{transform:scale(.96)}
.contact-popup-close svg{width:18px;height:18px}
@media (hover:hover) and (pointer:fine){
  .contact-popup-close:hover{
    color:var(--ink);
    background:var(--yellow);
    border-color:var(--yellow);
  }
}
.shared-contact-form h3{
  font-family:'Instrument Serif',Georgia,serif;
  font-weight:400;
  font-size:36px;
  line-height:1;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.shared-contact-form h3:focus{
  outline:none;
}
.shared-contact-form .sub{
  color:rgba(248,244,236,.62);
  font-size:14px;
  margin-bottom:28px;
  padding-right:56px;
}
.shared-contact-form .field-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.shared-contact-form .field{position:relative}
.shared-contact-website{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.shared-contact-form label{
  display:block;
  margin-bottom:8px;
  color:rgba(248,244,236,.55);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.shared-contact-form input,
.shared-contact-form textarea,
.shared-contact-trigger,
.shared-contact-search{
  width:100%;
  border:1px solid rgba(248,244,236,.13);
  border-radius:14px;
  background:rgba(248,244,236,.065);
  color:var(--paper);
  font:inherit;
  font-size:15px;
  transition:border-color 160ms ease,background 160ms ease,box-shadow 160ms ease;
}
.shared-contact-form input,
.shared-contact-form textarea{
  padding:14px 16px;
}
.shared-contact-form textarea{
  min-height:104px;
  resize:vertical;
}
.shared-contact-form input:focus,
.shared-contact-form textarea:focus,
.shared-contact-trigger:focus,
.shared-contact-combobox.open .shared-contact-trigger,
.shared-contact-search:focus{
  outline:none;
  border-color:var(--yellow);
  background:rgba(245,197,24,.07);
  box-shadow:0 0 0 3px rgba(245,197,24,.12);
}
.shared-contact-form input:-webkit-autofill,
.shared-contact-form input:-webkit-autofill:hover,
.shared-contact-form textarea:-webkit-autofill,
.shared-contact-form textarea:-webkit-autofill:hover{
  -webkit-text-fill-color:var(--paper);
  caret-color:var(--paper);
  box-shadow:0 0 0 1000px #201d18 inset;
  border-color:rgba(248,244,236,.13);
  transition:background-color 9999s ease-out, color 9999s ease-out;
}
.shared-contact-form input:-webkit-autofill:focus,
.shared-contact-form textarea:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--paper);
  caret-color:var(--paper);
  box-shadow:0 0 0 1000px #201d18 inset, 0 0 0 3px rgba(245,197,24,.12);
  border-color:var(--yellow);
  transition:background-color 9999s ease-out, color 9999s ease-out;
}
.shared-contact-combobox{position:relative}
.shared-contact-trigger{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  text-align:left;
}
.shared-contact-trigger-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  flex:1;
}
.shared-contact-value{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.shared-contact-clear{
  width:24px;
  height:24px;
  display:none;
  place-items:center;
  border-radius:999px;
  color:rgba(248,244,236,.68);
  font-size:18px;
  line-height:1;
  flex-shrink:0;
}
.shared-contact-clear.visible{display:grid}
.shared-contact-clear:hover{color:var(--paper);background:rgba(248,244,236,.08)}
.shared-contact-trigger::after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid rgba(248,244,236,.72);
  border-bottom:2px solid rgba(248,244,236,.72);
  transform:rotate(45deg) translateY(-2px);
  transition:transform 180ms var(--ease-out);
  flex-shrink:0;
}
.shared-contact-combobox.open .shared-contact-trigger::after{
  transform:rotate(-135deg) translateY(-2px);
}
.shared-contact-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  z-index:5;
  padding:10px;
  border:1px solid rgba(248,244,236,.13);
  border-radius:18px;
  background:rgba(21,19,14,.98);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.55);
}
.shared-contact-search{
  margin-bottom:10px;
  padding:12px 14px;
}
.shared-contact-search::placeholder,
.shared-contact-form input::placeholder,
.shared-contact-form textarea::placeholder{color:rgba(248,244,236,.4)}
.shared-contact-options{
  max-height:260px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(245,197,24,.55) rgba(248,244,236,.06);
}
.shared-contact-option{
  width:100%;
  padding:11px 12px;
  border-radius:10px;
  color:rgba(248,244,236,.84);
  text-align:left;
  font-size:14px;
}
.shared-contact-option:hover,
.shared-contact-option[aria-selected="true"]{
  color:var(--paper);
  background:rgba(245,197,24,.14);
}
.shared-contact-empty{
  padding:12px;
  color:rgba(248,244,236,.5);
  font-size:14px;
}
.shared-contact-submit-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-top:24px;
}
.shared-contact-tos{
  max-width:260px;
  color:rgba(248,244,236,.5);
  font-size:12px;
}
.shared-contact-tos a{
  color:rgba(248,244,236,.8);
  text-decoration:underline;
  text-decoration-color:rgba(245,197,24,.55);
  text-underline-offset:3px;
  transition:color 160ms ease,text-decoration-color 160ms ease;
}
.shared-contact-tos a:hover{
  color:var(--yellow);
  text-decoration-color:var(--yellow);
}
.turnstile-wrap{
  min-height:0;
  margin:0;
}
.turnstile-wrap iframe{
  max-width:100%;
}
.shared-contact-submit{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 28px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  font-size:15px;
  font-weight:700;
  transition:transform 160ms var(--ease-out),box-shadow 180ms ease;
}
.shared-contact-submit:active{transform:scale(.97)}
.shared-contact-submit:disabled{
  cursor:progress;
  opacity:.68;
  transform:none;
  box-shadow:none;
}
.shared-contact-form.submitting .shared-contact-submit{
  cursor:progress;
}
.shared-contact-submit svg{width:16px;height:16px;transition:transform 160ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .shared-contact-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px -12px rgba(245,197,24,.7);
  }
  .shared-contact-submit:hover svg{transform:translateX(3px)}
}
.shared-contact-success{
  display:none;
  min-height:0;
  flex:1;
  place-items:center;
  text-align:center;
}
.shared-contact-status{
  min-height:20px;
  margin-top:14px;
  color:#ffb4a9;
  font-size:13px;
}
.shared-contact-success-inner{
  max-width:360px;
  margin:0 auto;
  text-align:center;
}
.shared-contact-check{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  border-radius:999px;
  background:var(--yellow);
  color:var(--ink);
  animation:sharedContactPop 260ms var(--ease-out);
}
.shared-contact-check svg{width:30px;height:30px}
.shared-contact-success h3{
  font-family:'Instrument Serif',Georgia,serif;
  font-size:38px;
  font-weight:400;
}
.shared-contact-success p{
  margin-top:8px;
  color:rgba(248,244,236,.68);
}
.shared-contact-form.sent{
  flex:1;
  display:flex;
  min-height:0;
}
.shared-contact-form.sent .shared-contact-fields{display:none}
.shared-contact-form.sent .shared-contact-success{
  display:grid;
  min-height:0;
  width:100%;
}
@keyframes sharedContactPop{
  from{opacity:0;transform:scale(.92)}
  to{opacity:1;transform:scale(1)}
}

@media (max-width:860px){
  .contact-popup{padding:14px}
  .contact-popup-shell{
    max-height:calc(100vh - 28px);
    grid-template-columns:1fr;
  }
  .contact-popup-aside{
    padding:28px 28px 22px;
    border-right:0;
    border-bottom:1px solid rgba(248,244,236,.1);
  }
  .contact-popup-aside h2{max-width:none;font-size:38px}
  .contact-popup-aside p{margin-top:10px}
  .contact-popup-details{
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
    margin-top:18px;
  }
  .contact-popup-panel{padding:28px}
}
@media (max-width:580px){
  .contact-popup{padding:0;align-items:stretch}
  .contact-popup-shell{
    width:100%;
    max-height:none;
    min-height:100vh;
    border-radius:0;
    border:0;
  }
  .contact-popup-panel{
    padding:12px 20px calc(24px + env(safe-area-inset-bottom));
  }
  .contact-popup-aside{padding:20px 20px 6px}
  .contact-popup-aside h2{font-size:34px}
  .contact-popup-aside p{display:none}
  .contact-popup-details{
    grid-template-columns:1fr 1fr;
    gap:0;
    margin-top:14px;
    border-top:1px solid rgba(248,244,236,.1);
  }
  .contact-popup-detail{
    position:relative;
    gap:9px;
    padding:12px 10px 11px 0;
  }
  .contact-popup-detail:nth-child(even){
    padding-right:0;
    padding-left:12px;
  }
  .contact-popup-detail:nth-child(even)::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:1px;
    background:rgba(248,244,236,.12);
  }
  .contact-popup-detail:nth-child(n+3){
    border-top:1px solid rgba(248,244,236,.1);
  }
  .contact-popup-detail:nth-child(-n+2){
    grid-column:1 / -1;
    padding-right:0;
    padding-left:0;
  }
  .contact-popup-detail:nth-child(2){
    border-top:1px solid rgba(248,244,236,.1);
  }
  .contact-popup-detail:nth-child(2)::before{
    display:none;
  }
  .contact-popup-detail svg{
    width:16px;
    height:16px;
    margin-top:2px;
  }
  .contact-popup-detail span{
    font-size:10px;
    letter-spacing:.07em;
  }
  .contact-popup-detail strong,
  .contact-popup-detail a{
    font-size:14px;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .shared-contact-form .field-group{grid-template-columns:1fr;gap:12px}
  .shared-contact-form input,
  .shared-contact-form textarea,
  .shared-contact-trigger,
  .shared-contact-search{font-size:16px}
  .shared-contact-submit-row{
    align-items:stretch;
    flex-direction:column;
  }
  .shared-contact-submit{
    width:100%;
    min-height:52px;
    justify-content:center;
  }
}
@media (prefers-reduced-motion:reduce){
  .contact-popup,
  .contact-popup-shell,
  .contact-popup-close,
  .shared-contact-submit,
  .shared-contact-trigger::after{
    transition:none;
  }
  .shared-contact-check{animation:none}
}
