/* ===== Quick request: light form in a side panel ("Talk to us" + hero button) ===== */
.qf { position: fixed; inset: 0; z-index: 1100; visibility: hidden; }
.qf.is-open { visibility: visible; }
.qf-overlay { position: absolute; inset: 0; background: rgba(25,24,20,.6); opacity: 0; }
.qf-panel {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(560px, 100%);
  display: flex; flex-direction: column;
  background: var(--charcoal); color: var(--plaster);
  border-left: 1px solid rgba(239,235,225,.12);
  overflow-y: auto; overscroll-behavior: contain;
}
.qf-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  padding: 28px 28px 0;
}
.qf-title { margin: 0; font: 600 34px/1 var(--display); text-transform: uppercase; }
.qf-sub { margin: 14px 0 0; max-width: 32ch; font: 300 16px/1.2 var(--sans); letter-spacing: .02em; color: rgba(239,235,225,.6); }
.qf-close {
  flex-shrink: 0; width: 38px; height: 38px; padding: 0; cursor: pointer;
  background: none; color: var(--plaster); border: 1px solid rgba(239,235,225,.35);
  font: 300 20px/1 var(--sans); transition: border-color .3s ease, color .3s ease;
}
.qf-close:hover { border-color: var(--clay); color: var(--clay); }

.qf-form { display: grid; gap: 30px; padding: 40px 28px 32px; }
.qf-form .rq-chip span { padding: 10px 14px; font-size: 14px; }
.qf-form .rq-field input, .qf-form .rq-field textarea { font-size: 18px; }
.qf-form .rq-field textarea { min-height: 90px; }
.qf-actions { display: grid; gap: 18px; }

/* extended brief: a toggle row that opens drawings / project details in place */
.qf-more { border-top: 1px solid rgba(239,235,225,.14); border-bottom: 1px solid rgba(239,235,225,.14); }
.qf-more-toggle {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; padding: 18px 0; background: none; border: 0; color: var(--plaster);
  text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.qf-more-toggle:focus-visible { outline: 1px solid var(--plaster); outline-offset: 4px; }
.qf-more-text { display: grid; gap: 6px; }
.qf-more-text small { font: 400 13px/1.2 var(--sans); letter-spacing: .02em; color: var(--muted); }
.qf-more-text b { font: 500 16px/1.2 var(--sans); letter-spacing: .02em; transition: color .3s ease; }
.qf-more-toggle:hover b { color: var(--clay); }
.qf-more-icon {
  position: relative; flex-shrink: 0; width: 30px; height: 30px;
  border: 1px solid rgba(239,235,225,.3); border-radius: 50%;
  transition: background-color .5s ease, border-color .5s ease, transform .7s cubic-bezier(.17,.84,.44,1);
}
.qf-more-icon::before, .qf-more-icon::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 10px; height: 1px; margin: -.5px 0 0 -5px; background: currentColor;
  transition: transform .7s cubic-bezier(.17,.84,.44,1);
}
.qf-more-icon::after { transform: rotate(90deg); }
.qf-more.is-open .qf-more-icon { background: var(--clay); border-color: var(--clay); transform: rotate(180deg); }
.qf-more.is-open .qf-more-icon::after { transform: rotate(0deg); }
.qf-more-body { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .7s cubic-bezier(.17,.84,.44,1), visibility 0s linear .7s; }
.qf-more.is-open .qf-more-body { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .7s cubic-bezier(.17,.84,.44,1); }
.qf-more-body > div { overflow: hidden; min-height: 0; }
.qf-more-inner { display: grid; gap: 26px; padding: 8px 0 28px; }
.qf-more .rq-drop { padding: 26px 16px; }

.qf-done { display: none; padding: 48px 28px; }
.qf-done h3 { margin: 0 0 14px; font: 600 30px/1 var(--display); text-transform: uppercase; }
.qf-done p { margin: 0; font: 300 17px/1.2 var(--sans); letter-spacing: .02em; color: rgba(239,235,225,.6); }
.qf.is-sent .qf-form { display: none; }
.qf.is-sent .qf-done { display: block; }
