  /* ================= QUOTE (RFQ WIZARD) ================= */

  .quote-page { padding:96px 0 100px; }
  .qwrap { max-width:1140px; }

  .qintro { max-width:640px; margin:0 auto 56px; text-align:center; }
  .qintro .eyebrow { display:flex; justify-content:center; }
  .qintro h2 { margin-bottom:0; }

  .qbody { display:grid; grid-template-columns:1.55fr 1fr; gap:0; align-items:start; border-top:1px solid #E0D3AE; }

  .qform-col { padding:56px 64px 0 0; border-right:1px solid #E0D3AE; }

  /* ---- step indicator ---- */
  .qsteps { display:flex; list-style:none; margin:0 0 52px; padding:0; gap:0; }
  .qstep { flex:1; position:relative; padding-bottom:16px; border-bottom:2px solid #E0D3AE; display:flex; flex-direction:column; gap:8px; transition:border-color .35s ease; }
  .qstep + .qstep { margin-left:20px; }
  .qstep .n { font-family:'Fraunces',serif; font-style:italic; font-size:14px; color:#B8AC91; transition:color .35s ease; }
  .qstep .t { font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:#B8AC91; transition:color .35s ease; }
  .qstep.is-active { border-bottom-color:#1C130C; }
  .qstep.is-active .n, .qstep.is-active .t { color:#1C130C; }
  .qstep.is-done { border-bottom-color:#A6821D; cursor:pointer; }
  .qstep.is-done .n, .qstep.is-done .t { color:#A6821D; }

  /* ---- panels ---- */
  .qpanel { display:none; border:none; padding:0; margin:0; animation:qfade .45s ease; }
  .qpanel.is-active { display:grid; gap:36px; }
  @keyframes qfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

  .qpanel legend { font-family:'Fraunces',serif; font-weight:400; font-size:24px; color:#1C130C; margin-bottom:2px; padding:0; grid-column:1/-1; }
  .qhint { font-size:14px; color:#7A6B52; margin:0; max-width:480px; line-height:1.65; }

  .qform { display:grid; gap:44px; }
  .qform .row2 { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; }

  /* field styling — mirrors .cfield, with more air for a premium feel */
  .qfield { position:relative; }
  .qfield label { display:block; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:#9A8B6C; margin-bottom:12px; }
  .qfield label .req { color:#A6821D; }
  .qfield label .opt { text-transform:none; letter-spacing:0; color:#B8AC91; font-size:11px; }
  .qfield input[type="text"], .qfield input[type="email"], .qfield input[type="tel"], .qfield input[type="month"],
  .qfield select, .qfield textarea {
    width:100%; border:none; border-bottom:1px solid #D8CBA0; background:transparent;
    padding:8px 2px 14px; font-family:'Inter',sans-serif; font-size:15px; color:#211B15; outline:none;
    transition:border-color .3s ease; appearance:none; -webkit-appearance:none; border-radius:0; box-sizing:border-box;
  }
  .qfield textarea { resize:vertical; min-height:100px; line-height:1.65; font-family:'Cormorant Garamond',serif; font-size:17px; }
  .qfield input::placeholder, .qfield textarea::placeholder { color:#B8AC91; }
  .qfield input:focus, .qfield select:focus, .qfield textarea:focus { border-bottom-color:#A6821D; }
  .qfield.select-wrap::after {
    content:''; position:absolute; right:4px; bottom:20px; width:8px; height:8px;
    border-right:1.5px solid #9A8B6C; border-bottom:1.5px solid #9A8B6C; transform:rotate(45deg); pointer-events:none;
  }
  .qfield select { cursor:pointer; padding-right:24px; }
  .qfield select:invalid { color:#B8AC91; }
  .qfield.has-error input, .qfield.has-error select, .qfield.has-error textarea { border-bottom-color:#B5544A; }

  .qerr { display:none; font-size:12.5px; color:#B5544A; margin-top:-24px; grid-column:1/-1; }
  .qerr.show { display:block; }

  /* pill group */
  .pill-group { display:flex; flex-wrap:wrap; gap:12px; }
  .pill-group input { position:absolute; opacity:0; width:0; height:0; }
  .pill-group label.pill {
    display:inline-flex; align-items:center; margin:0; padding:11px 20px; font-size:12.5px; letter-spacing:.02em;
    text-transform:none; border:1px solid #D8CBA0; color:#5A4E3C; cursor:pointer;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
  }
  .pill-group label.pill:hover { transform:translateY(-2px); }
  .pill-group input:checked + label.pill { background:#1C130C; border-color:#1C130C; color:#F8F2E4; }
  .pill-group input:focus-visible + label.pill { outline:2px solid #A6821D; outline-offset:2px; }

  /* checkbox field — boxed row so it reads as a distinct control, not squeezed text */
  .checkfield { display:flex; grid-column:1/-1; }
  .qcheck {
    display:flex; align-items:flex-start; gap:16px; width:100%; cursor:pointer;
    border:1px solid #D8CBA0; background:#FBFAF6; padding:20px 22px;
    font-size:13.5px; color:#5A4E3C; line-height:1.7; text-transform:none; letter-spacing:normal;
    transition:border-color .25s ease, background .25s ease;
  }
  .qcheck:hover { border-color:#C2B384; background:#F7F2E4; }
  .qcheck input {
    appearance:none; -webkit-appearance:none; width:19px; height:19px; flex-shrink:0; margin-top:1px;
    border:1.5px solid #C2B384; background:#FFFFFF; cursor:pointer; position:relative; transition:border-color .2s ease, background .2s ease;
  }
  .qcheck input:checked { background:#1C130C; border-color:#1C130C; }
  .qcheck input:checked::after {
    content:''; position:absolute; left:5px; top:1px; width:6px; height:11px;
    border:solid #F8F2E4; border-width:0 2px 2px 0; transform:rotate(45deg);
  }
  .qcheck input:focus-visible { outline:2px solid #A6821D; outline-offset:2px; }
  .qcheck a { color:#1C130C; text-decoration:underline; text-decoration-color:#C2B384; }
  .qcheck a:hover { text-decoration-color:#1C130C; }
  .qcheck .req { color:#A6821D; margin-left:2px; }
  .qcheck .label-strong { display:block; font-family:'Fraunces',serif; font-size:14.5px; color:#1C130C; margin-bottom:3px; }

  /* ---- product tiles (step 1) ---- */
  .qtiles { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; grid-column:1/-1; }
  .qtile-input { position:absolute; opacity:0; width:0; height:0; }
  .qtile {
    display:flex; align-items:center; gap:16px; border:1px solid #D8CBA0; background:#FBFAF6; cursor:pointer;
    transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease; overflow:hidden; min-height:96px;
  }
  .qtile:hover { transform:translateY(-2px); box-shadow:0 10px 22px rgba(28,19,12,.10); }
  .qtile-img { width:96px; height:96px; flex-shrink:0; background-size:cover; background-position:center; background-color:#E4D6AE; align-self:stretch; }
  .qtile-body { padding:14px 20px 14px 0; display:flex; flex-direction:column; gap:5px; }
  .qtile-plain .qtile-body { padding:26px 24px; }
  .qtile-name { font-family:'Fraunces',serif; font-size:16px; color:#1C130C; }
  .qtile-desc { font-size:12.5px; color:#8A7A5C; }
  .qtile-input:checked + .qtile { border-color:#1C130C; box-shadow:0 0 0 1px #1C130C inset; background:#F5F0E1; }
  .qtile-input:focus-visible + .qtile { outline:2px solid #A6821D; outline-offset:2px; }

  /* ---- nav buttons ---- */
  .qnav { display:flex; align-items:center; gap:16px; margin-top:16px; padding-top:32px; border-top:1px solid #E9DFC1; }
  .qbtn { border:none; cursor:pointer; padding:15px 34px; font-size:13.5px; letter-spacing:.03em; font-family:'Inter',sans-serif; transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s ease, background .3s ease, color .3s ease, border-color .3s ease; }
  .qbtn-back { background:transparent; border:1px solid #D8CBA0; color:#5A4E3C; display:none; }
  .qbtn-back:hover { border-color:#1C130C; color:#1C130C; }
  .qbtn-next, .qbtn-submit { background:#1C130C; color:#F8F2E4; margin-left:auto; }
  .qbtn-next:hover, .qbtn-submit:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(28,19,12,.22); }
  .qbtn-submit { display:none; }
  .qstep-count { font-size:12px; color:#B8AC91; letter-spacing:.05em; order:-1; margin-right:auto; }
  .qnav .qbtn-back ~ .qstep-count { order:0; margin-right:0; }

  /* ---- success ---- */
  .qsuccess { display:none; border:1px solid #C7D3B4; background:#EEF2E5; padding:24px 26px; align-items:flex-start; gap:16px; margin-top:8px; }
  .qsuccess.show { display:flex; }
  .qsuccess svg { color:#5C7A47; flex-shrink:0; margin-top:2px; }
  .qsuccess h4 { font-family:'Fraunces',serif; font-weight:500; font-size:17px; color:#3E4A34; margin-bottom:5px; }
  .qsuccess p { font-size:13.5px; color:#4E5A42; line-height:1.65; }
  .qsuccess a { color:#3E4A34; text-decoration:underline; }
  .qerror { border:1px solid #E3B8B0; background:#FBEEEC; color:#8A2E22; padding:14px 18px; font-size:13.5px; margin-top:8px; border-radius:4px; }
  .qform.is-sent .qsteps, .qform.is-sent .qpanel, .qform.is-sent .qnav { display:none; }

  /* ---- review panel ---- */
  .qreview { border:1px solid #E0D3AE; margin-bottom:28px; }
  .qreview-row { display:flex; justify-content:space-between; gap:24px; padding:14px 20px; border-bottom:1px solid #E9DFC1; font-size:14px; }
  .qreview-row:last-child { border-bottom:none; }
  .qreview-row .k { color:#9A8B6C; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; flex-shrink:0; padding-top:2px; }
  .qreview-row .v { color:#211B15; text-align:right; }
  .qreview-row .v.empty { color:#C7BB9E; font-style:italic; }
  .qreview-edit { background:none; border:none; padding:0; margin-left:14px; font-size:11.5px; color:#A6821D; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; transition:text-decoration-color .25s ease; flex-shrink:0; }
  .qreview-edit:hover { text-decoration-color:#A6821D; }
  .qreview-group-label { padding:14px 20px 4px; font-family:'Fraunces',serif; font-style:italic; font-size:13px; color:#A6821D; background:#FBFAF6; }

  /* ---- sidebar summary ---- */
  .qsummary { padding:48px 0 0 48px; }
  .qsummary-inner { position:sticky; top:calc(53px + 32px); }
  .qsummary h4 { font-family:'Fraunces',serif; font-weight:400; font-size:16px; color:#1C130C; margin-bottom:16px; }
  .qsum-list { display:grid; gap:12px; margin-bottom:32px; }
  .qsum-empty { font-size:13px; color:#B8AC91; font-style:italic; }
  .qsum-item { display:flex; justify-content:space-between; gap:12px; font-size:13px; padding-bottom:10px; border-bottom:1px solid #EDE4CB; animation:qfade .35s ease; }
  .qsum-item .k { color:#9A8B6C; flex-shrink:0; }
  .qsum-item .v { color:#211B15; text-align:right; font-weight:500; }
  .qsummary-next { border-top:1px solid #E0D3AE; padding-top:24px; }
  .qsummary-next h5 { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#A6821D; margin-bottom:14px; }
  .qsummary-next ul { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
  .qsummary-next li { position:relative; padding-left:20px; font-size:13px; color:#5A4E3C; line-height:1.55; }
  .qsummary-next li::before { content:''; position:absolute; left:0; top:6px; width:6px; height:6px; background:#A6821D; border-radius:50%; }

  /* ---- pre-footer note (shared class, scoped here since quote.html doesn't load contact.css) ---- */
  .contact-faq-note { padding:64px 0; text-align:center; border-top:1px solid #E0D3AE; }
  .contact-faq-note p { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; color:#5A4E3C; }
  .contact-faq-note a { color:#1C130C; text-decoration:none; border-bottom:1px solid #A6821D; }
  .contact-faq-note a:hover { color:#A6821D; }

  /* ---- embedded mode: hide site chrome when loaded inside the modal iframe ---- */
  .is-embedded header.site,
  .is-embedded .drawer-backdrop,
  .is-embedded .drawer,
  .is-embedded .mobile-bar-spacer,
  .is-embedded .nav-spacer,
  .is-embedded .page-hero,
  .is-embedded .contact-faq-note,
  .is-embedded footer.site { display:none !important; }
  .is-embedded .quote-page { padding:40px 0 56px; }
  .is-embedded .qwrap { max-width:640px; padding:0 clamp(20px,4vw,32px); }
  .is-embedded .qintro { margin-bottom:36px; text-align:left; }
  .is-embedded .qintro .eyebrow { justify-content:flex-start; }
  .is-embedded .qbody { grid-template-columns:1fr; border-top:none; }
  .is-embedded .qform-col { padding:0; border-right:none; }
  .is-embedded .qsummary { display:none; }

  /* ================= RESPONSIVE ================= */
  @media (max-width: 900px) {
    .quote-page { padding:64px 0 72px; }
    .qbody { grid-template-columns:1fr; }
    .qform-col { padding:36px 0 0; border-right:none; }
    .qsummary { padding:32px 0 0; border-top:1px solid #E0D3AE; margin-top:44px; }
    .qsummary-inner { position:static; }
    .row2 { grid-template-columns:1fr !important; }
    .qtiles { grid-template-columns:1fr; }
    .qsteps .t { display:none; }
    .qstep + .qstep { margin-left:10px; }
  }

  @media (max-width: 560px) {
    .qintro h2 { font-size:22px; }
    .qnav { flex-wrap:wrap; }
    .qbtn { flex:1; text-align:center; padding:15px 20px; }
    .qstep-count { order:1; width:100%; text-align:center; margin:8px 0 0; }
  }
