/* SayRaye Phase 2 — conversation/contact experience */
.conversation-routes,
.contact-message-section,
.contact-faq,
.conversation-closing {
  background: var(--paper);
  color: var(--ink);
}
.conversation-routes .section-heading { margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.conversation-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(11,11,11,.2); border:1px solid rgba(11,11,11,.2); }
.conversation-card { min-height:34rem; display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.5rem); background:var(--paper); }
.conversation-card-featured { background:var(--ink); color:var(--paper); }
.conversation-card-number { color:var(--gold); font:2.8rem var(--font-display); }
.conversation-card-kicker { margin-top:3rem; color:#7a6b55; font-size:.65rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.conversation-card-featured .conversation-card-kicker { color:var(--gold-light); }
.conversation-card h3 { margin:.8rem 0 1.2rem; font:clamp(2rem,3.3vw,3.5rem)/.96 var(--font-display); }
.conversation-card > p:not(.conversation-card-kicker) { color:#625b52; }
.conversation-card-featured > p:not(.conversation-card-kicker) { color:#b7afa5; }
.conversation-card .button { margin-top:auto; align-self:flex-start; }
.conversation-email-stack { display:grid; gap:.25rem; }
.conversation-email { margin-top:1.1rem; color:#73582d; font-size:.75rem; text-decoration:none; }
.conversation-card-featured .conversation-email { color:var(--gold-light); }

.contact-message-section { display:grid; grid-template-columns:minmax(16rem,.42fr) minmax(0,.58fr); gap:clamp(3rem,8vw,8rem); border-top:1px solid rgba(11,11,11,.15); }
.contact-message-copy { align-self:start; position:sticky; top:7rem; }
.contact-message-copy > p:not(.section-label) { max-width:31rem; color:#61594f; }
.contact-routing-list { margin-top:2.5rem; border-top:1px solid rgba(11,11,11,.18); }
.contact-routing-list div { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(11,11,11,.18); }
.contact-routing-list dt { color:#756b5e; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.contact-routing-list dd { font-family:var(--font-display); }

.topic-choice { margin:0 0 2rem; padding:0; border:0; }
.topic-choice legend { margin-bottom:1rem; font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.topic-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.topic-choice label { cursor:pointer; }
.topic-choice input { position:absolute; opacity:0; pointer-events:none; }
.topic-choice span { min-height:3rem; display:flex; align-items:center; padding:.8rem 1rem; border:1px solid rgba(11,11,11,.22); background:transparent; transition:.2s ease; }
.topic-choice input:checked + span { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.topic-choice input:focus-visible + span { outline:2px solid var(--gold); outline-offset:2px; }

.contact-faq { display:grid; grid-template-columns:minmax(15rem,.35fr) minmax(0,.65fr); gap:clamp(3rem,8vw,8rem); border-top:1px solid rgba(11,11,11,.15); }
.contact-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:rgba(11,11,11,.18); border:1px solid rgba(11,11,11,.18); }
.contact-faq-grid article { min-height:15rem; padding:1.5rem; background:var(--paper); }
.contact-faq-grid h3 { margin-bottom:.8rem; font:1.6rem var(--font-display); }
.contact-faq-grid p { color:#625b52; }

.conversation-closing { display:grid; grid-template-columns:minmax(0,.68fr) minmax(16rem,.32fr); gap:clamp(3rem,8vw,8rem); align-items:end; border-top:1px solid rgba(11,11,11,.15); }
.conversation-closing h2 { max-width:13ch; }
.conversation-closing .button { margin-top:1.5rem; }

@media (max-width: 62rem) {
  .conversation-card-grid { grid-template-columns:1fr; }
  .conversation-card { min-height:26rem; }
  .contact-message-section, .contact-faq, .conversation-closing { grid-template-columns:1fr; }
  .contact-message-copy { position:static; }
}
@media (max-width: 40rem) {
  .topic-choice-grid, .contact-faq-grid { grid-template-columns:1fr; }
  .conversation-card { min-height:23rem; }
}


/* v4.0.1 contact form correction */
.honeypot { display:none !important; position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.contact-form-panel { min-width:0; }
.contact-form-panel .submission-form { display:grid; gap:1.45rem; width:100%; }
.contact-form-panel .form-field { display:grid; grid-template-columns:1fr; gap:.55rem; width:100%; margin:0; }
.contact-form-panel .form-field > label,
.contact-form-panel .topic-choice legend { display:block; width:100%; color:var(--ink); font-size:.7rem; font-weight:600; letter-spacing:.14em; line-height:1.3; text-transform:uppercase; }
.contact-form-panel .form-field input,
.contact-form-panel .form-field textarea,
.contact-form-panel .form-field select { display:block; box-sizing:border-box; width:100%; min-width:0; margin:0; padding:1rem 0; border:0; border-bottom:1px solid rgba(11,11,11,.34); border-radius:0; outline:0; background:transparent; color:var(--ink); font:400 1.05rem/1.5 var(--font-body); appearance:none; box-shadow:none; }
.contact-form-panel .form-field textarea { min-height:11rem; padding:1rem; border:1px solid rgba(11,11,11,.28); resize:vertical; }
.contact-form-panel .form-field input:focus,
.contact-form-panel .form-field textarea:focus,
.contact-form-panel .form-field select:focus { border-color:var(--gold); box-shadow:0 1px 0 var(--gold); }
.contact-form-panel .field-meta { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.contact-form-panel .field-error { min-height:1em; margin:0; color:#8d2e2e; font-size:.72rem; }
.contact-form-panel .form-status,
.contact-form-panel .form-fallback { margin:0; font-size:.78rem; color:#625b52; }
.contact-form-panel .button { justify-self:start; }
@media (max-width:40rem) {
  .contact-form-panel .field-meta { flex-direction:column; gap:.25rem; }
}


/* v4.0.2 — unified luxury form system */
.submission-form-wrap { min-width:0; }
.submission-form-wrap .submission-form { width:100%; display:grid; gap:1.6rem; }
.ask-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.45rem 1.25rem; width:100%; }
.ask-form-grid .form-field { min-width:0; display:grid; gap:.55rem; margin:0; }
.ask-form-grid .form-field-full { grid-column:1 / -1; }
.field-label-row { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.submission-form-wrap label { display:block; margin:0; color:var(--paper); font:.7rem/1.2 var(--font-body); font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.field-optional { color:rgba(244,240,233,.48); font:.62rem/1.2 var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.submission-form-wrap input[type="text"],
.submission-form-wrap input[type="email"],
.submission-form-wrap select,
.submission-form-wrap textarea { box-sizing:border-box; display:block; width:100%; min-width:0; margin:0; border:1px solid rgba(244,240,233,.28); border-radius:0; background:rgba(255,255,255,.035); color:var(--paper); font:400 1rem/1.5 var(--font-body); box-shadow:none; outline:0; }
.submission-form-wrap input[type="text"],
.submission-form-wrap input[type="email"],
.submission-form-wrap select { min-height:3.8rem; padding:.95rem 1rem; }
.submission-form-wrap textarea { min-height:15rem; padding:1.1rem 1rem; resize:vertical; }
.submission-form-wrap input::placeholder,
.submission-form-wrap textarea::placeholder { color:rgba(244,240,233,.38); }
.submission-form-wrap select { appearance:none; padding-right:3rem; cursor:pointer; }
.select-wrap { position:relative; }
.select-wrap::after { content:"⌄"; position:absolute; right:1rem; top:50%; transform:translateY(-55%); color:var(--gold-light); pointer-events:none; font-size:1.2rem; }
.submission-form-wrap select option { background:#151515; color:#f4f0e9; }
.submission-form-wrap input:focus,
.submission-form-wrap select:focus,
.submission-form-wrap textarea:focus { border-color:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.submission-form-wrap [aria-invalid="true"] { border-color:#d99191 !important; }
.submission-form-wrap .field-meta { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; color:rgba(244,240,233,.54); font-size:.72rem; line-height:1.45; }
.submission-form-wrap .field-error { min-height:1.1em; margin:0; color:#e6a8a8; font-size:.72rem; }
.ask-consent { display:grid; grid-template-columns:1.2rem minmax(0,1fr); gap:.85rem; align-items:start; padding:1.1rem 0; border-top:1px solid rgba(244,240,233,.16); border-bottom:1px solid rgba(244,240,233,.16); }
.ask-consent input { width:1.1rem; height:1.1rem; margin:.08rem 0 0; accent-color:var(--gold); }
.ask-consent label { font-size:.78rem; line-height:1.55; letter-spacing:.02em; text-transform:none; font-weight:400; color:rgba(244,240,233,.78); }
.ask-submit-row { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.ask-submit-row .button { min-width:15rem; justify-content:center; }
.ask-submit-row .button:disabled { opacity:.68; cursor:wait; }
.submission-form-wrap .form-status { margin:0; color:var(--gold-light); font-size:.82rem; }
.submission-form-wrap .form-fallback { margin:0; color:rgba(244,240,233,.5); font-size:.72rem; line-height:1.6; }
.submission-form.is-complete input,
.submission-form.is-complete select,
.submission-form.is-complete textarea,
.submission-form.is-complete .ask-consent { opacity:.45; }

@media (max-width: 46rem) {
  .ask-form-grid { grid-template-columns:1fr; }
  .ask-form-grid .form-field-full { grid-column:auto; }
  .submission-form-wrap textarea { min-height:13rem; }
  .ask-submit-row { align-items:stretch; flex-direction:column; }
  .ask-submit-row .button { width:100%; }
  .submission-form-wrap .field-meta { flex-direction:column; gap:.25rem; }
}
