/* The form occupies the existing CTA slot without changing campaign geometry. */
.contact-inline { position:relative; }
.contact-cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:56px;
  padding:0;
  border:0;
  background:none;
  color:var(--paper);
  font-family:'Nunchi Grotesk',Helvetica,Arial,sans-serif;
  font-weight:600;
  font-size:18px;
  letter-spacing:-.02em;
}
.contact-cta::after { content:none; }
.cta-arrow {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  background:#fc3c2d;
  transition:background 180ms ease;
}
.cta-arrow svg { width:24px; height:24px; transition:transform 220ms cubic-bezier(.2,.8,.2,1); }
.contact-cta svg,.contact-panel svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:square; stroke-linejoin:miter; }
.contact-cta:hover .cta-arrow { background:var(--paper); color:var(--blue); }
.contact-cta:hover .cta-arrow svg { transform:translate(2px,-2px); }
.contact-cta:focus-visible { outline:2px solid var(--paper); outline-offset:7px; }
.contact-panel {
  position:absolute;
  z-index:4;
  top:var(--contact-offset,0px);
  left:0;
  width:100%;
  padding:0 0 12px;
  overflow:visible;
  background:var(--blue);
  animation:contact-reveal 160ms ease both;
}
.inquiry-heading { display:flex; align-items:center; justify-content:space-between; min-height:24px; margin-bottom:4px; font-size:12px; }
.inquiry-close { display:grid; place-items:center; width:32px; height:32px; margin:-7px -7px -7px 0; padding:7px; border:0; background:none; color:var(--paper); }
.inquiry-close svg { width:18px; height:18px; }
.inquiry-close:hover { opacity:.65; }
.inquiry-email-row { display:flex; align-items:stretch; width:100%; min-height:48px; border-bottom:1px solid var(--paper); }
.inquiry-email-row:focus-within { border-bottom-width:2px; margin-bottom:-1px; }
.inquiry-email-row input {
  width:100%;
  min-width:0;
  padding:10px 12px 10px 0;
  border:0;
  border-radius:0;
  outline:none;
  background:none;
  color:var(--paper);
  font:inherit;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.035em;
  -webkit-appearance:none;
}
.inquiry-email-row input::placeholder { color:#f0f4d988; opacity:1; }
.inquiry-email-row input:disabled { opacity:.7; -webkit-text-fill-color:var(--paper); }
.inquiry-email-row input:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px var(--blue) inset; -webkit-text-fill-color:var(--paper); caret-color:var(--paper); }
.inquiry-submit { display:flex; flex:none; align-items:center; justify-content:space-between; gap:18px; min-width:94px; min-height:44px; align-self:center; margin-bottom:4px; padding:12px 14px; border:0; border-radius:0; background:var(--paper); color:var(--blue); font-size:13px; }
.inquiry-submit svg { width:18px; height:18px; transition:transform 180ms ease; }
.inquiry-submit:hover svg { transform:translateX(3px); }
.inquiry-submit:disabled { opacity:.65; cursor:wait; }
.inquiry-message { margin-top:8px; }
.inquiry-message summary { display:flex; align-items:center; gap:8px; width:fit-content; min-height:32px; padding-block:4px; list-style:none; cursor:pointer; font-size:12px; }
.inquiry-message summary::-webkit-details-marker { display:none; }
.inquiry-message summary:focus-visible { outline:2px solid var(--paper); outline-offset:4px; }
.note-toggle { position:relative; width:12px; height:12px; margin-right:2px; }
.note-toggle::before,.note-toggle::after { content:''; position:absolute; background:currentColor; }
.note-toggle::before { left:1px; right:1px; top:5px; height:1px; }
.note-toggle::after { top:1px; bottom:1px; left:5px; width:1px; }
.inquiry-message[open] .note-toggle::after { display:none; }
.optional-label { color:#f0f4d999; font-size:10px; }
.inquiry-message textarea { display:block; width:100%; height:64px; margin-top:4px; padding:8px 0; resize:none; border:0; border-bottom:1px solid #f0f4d980; border-radius:0; background:transparent; color:var(--paper); font:inherit; font-size:16px; line-height:1.5; -webkit-appearance:none; }
.inquiry-message textarea::placeholder { color:#f0f4d999; opacity:1; }
.inquiry-message textarea:focus { outline:none; border-bottom-color:var(--paper); }
.field-error,.inquiry-error { margin-top:10px; color:var(--paper); font-size:12px; line-height:1.5; }
.inquiry-success:focus { outline:none; }
.inquiry-received { margin-top:12px; font-family:'Nunchi Grotesk',Helvetica,Arial,sans-serif; font-weight:600; font-size:36px; letter-spacing:-.04em; line-height:1.1; }
.inquiry-confirmation { margin-top:12px; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
@keyframes contact-reveal { from { opacity:0; } to { opacity:1; } }
@media (orientation:portrait) {
  .contact-panel { width:calc(100vw - 2 * var(--gutter)); border-top:1px solid #f0f4d955; padding-top:12px; }
}
:is(#home,[data-loop-copy]):has(.contact-panel[data-replaces-copy]:not([hidden])) :is(h1,.on-your-terms) { visibility:hidden; }
@media (max-width:650px) {
  .contact-cta { font-size:16px; gap:26px; min-height:48px; }
  .cta-arrow { width:48px; height:48px; }
  .cta-arrow svg { width:22px; height:22px; }
  .inquiry-submit { min-width:84px; gap:10px; padding-inline:12px; }
  .inquiry-message summary { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .contact-panel { animation:none; }
  .cta-arrow,.cta-arrow svg,.inquiry-submit svg { transition:none; }
}
