/* Contextual request entry points, integrated with the editorial site. */
.cv-micro { display: block; color: var(--text-soft); font-size: .67rem; margin-top: 13px; line-height: 1.6; }
.cv-project { background: var(--cream-2); padding: 60px 0; }
.cv-project > .container { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.cv-project h2 { margin: 23px 0; }
.cv-project__intro > p:last-child { color: var(--text-soft); max-width: 39ch; font-size: .95rem; }
.cv-project__choices { display: grid; gap: 12px; }
.cv-choice { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 25px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; transition: border-color .2s, background .2s; }
.cv-choice:hover { background: white; border-color: var(--brown); }
.cv-choice b { font-size: 1.12rem; font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.cv-choice small { display: block; color: var(--text-soft); font-size: .78rem; margin-top: 6px; line-height: 1.5; }
.cv-choice svg { width: 23px; height: 23px; flex: none; }
.cv-choice--quiet { background: transparent; }
.cv-choice--quiet b { font-size: .95rem; }
.cv-choice-note { color: var(--text-soft); font-size: .68rem; margin-top: 3px; line-height: 1.5; }
.cv-factory-link { display: flex; width: fit-content; align-items: center; gap: 20px; color: var(--white); padding: 12px 0; margin-top: 13px; font-size: .88rem; border-bottom: 1px solid var(--taupe); }
.cv-factory-link svg { width: 18px; height: 18px; }
.cv-faq { padding: 65px 0 80px; border-top: 1px solid var(--line); }
.cv-faq > .container { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.cv-faq h2 { font-size: clamp(2.3rem,4.2vw,3.8rem); margin-block: 25px; }
.cv-faq .container > div > p:not(.e-eyebrow) { color: var(--text-soft); max-width: 37ch; font-size: .94rem; margin-bottom: 20px; }
.cv-faq details { border-bottom: 1px solid var(--line); }
.cv-faq summary { font-size: .97rem; cursor: pointer; padding: 21px 30px 21px 0; position: relative; list-style: none; line-height: 1.6; }
.cv-faq summary::-webkit-details-marker { display: none; }
.cv-faq summary::after { content: "+"; position: absolute; right: 0; top: 18px; font-size: 1.5rem; font-weight: 400; }
.cv-faq details[open] summary::after { content: "−"; }
.cv-faq details > p { font-size: .87rem; color: var(--text-soft); padding: 0 30px 22px 0; line-height: 1.7; }
.cv-contact { padding: 60px 0; background: var(--cream-2); }
.cv-contact .container { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cv-contact h2 { font-size: clamp(2.1rem,4vw,3.2rem); font-weight: 600; letter-spacing: -.045em; margin-bottom: 20px; }
.cv-contact p:not(.kicker) { max-width: 49ch; font-size: .95rem; color: var(--text-soft); }
.cv-contact .btn { border-radius: 8px; flex: none; }
.cv-config-note { font-size: .75rem; color: var(--text-inv-soft); margin: -5px 0 6px; line-height: 1.6; }
.has-lead-capture .summary-note { line-height: 1.6; }
.has-lead-capture .site-header .nav-cta svg { width: 15px; height: 15px; }
@media(max-width:960px) {
 .cv-project > .container { gap: 40px; }
 .cv-faq > .container { gap: 40px; }
 .cv-contact .container { align-items: start; flex-direction: column; gap: 28px; }
}
@media(max-width:640px) {
 .cv-project { padding-block: 42px; }
 .cv-project > .container, .cv-faq > .container { grid-template-columns: 1fr; gap: 30px; }
 .cv-project__intro > p:last-child { font-size: .88rem; }
 .cv-project h2 { margin-block: 20px; }
 .cv-choice { padding: 20px; }
 .cv-choice b { font-size: 1.03rem; }
 .cv-choice small { font-size: .72rem; }
 .cv-choice--quiet b { font-size: .88rem; }
 .cv-faq { padding-block: 43px; }
 .cv-faq summary { font-size: .92rem; }
 .cv-faq details > p { font-size: .84rem; }
 .cv-contact { padding-block: 42px; }
 .cv-contact .btn { white-space: normal; max-width: 100%; font-size: .9rem; padding-inline: 20px; }
 .cv-factory-link { font-size: .84rem; }
}

/* The configurator has its own quote actions. Keep every action in page flow. */
.is-configurator .lc-dock { display: none; }
.is-configurator .config-aside { position: static; max-height: none; }
