.quote-page { background: var(--paper); }
.quote-header { color: var(--ink); mix-blend-mode: normal; border-bottom: 1px solid var(--line); background: rgba(241,238,231,.9); backdrop-filter: blur(10px); }
.quote-header-link { font-size: .72rem; text-transform: uppercase; }
.quote-main { display: grid; grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr); gap: clamp(2rem,8vw,9rem); padding: calc(var(--header-height) + clamp(3.5rem,8vw,8rem)) var(--pad) clamp(4rem,9vw,9rem); }
.quote-hero { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.quote-hero .eyebrow { margin: 0 0 1.5rem; }
.quote-hero h1 { margin: 0; font-size: clamp(3.8rem,7vw,7.5rem); font-weight: 500; letter-spacing: -.075em; line-height: .82; }
.quote-hero h1 em { color: var(--signal); font-style: italic; }
.quote-hero > p:last-child { max-width: 35ch; margin: 2rem 0 0; color: rgba(23,20,18,.62); font-size: .82rem; line-height: 1.65; }
.quote-panel { border-top: 1px solid var(--ink); }
.quote-panel form { padding-top: 1.5rem; }
.quote-panel h2 { margin: 0; font-size: 1.2rem; }
.quote-section-copy { margin: .45rem 0 1.6rem; color: rgba(23,20,18,.56); font-size: .74rem; line-height: 1.5; }
.quote-fixed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.quote-panel label { display: grid; gap: .5rem; color: rgba(23,20,18,.68); font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.quote-panel label:has(> b) { display: block; }
.quote-panel label:has(> b) > b { display: inline; margin-left: .22rem; }
.quote-panel label:has(> b) > input, .quote-panel label:has(> b) > select, .quote-panel label:has(> b) > textarea { display: block; margin-top: .5rem; }
.quote-panel label b, .quote-question-label b { color: var(--signal); }
.quote-panel input, .quote-panel textarea, .quote-panel select { width: 100%; padding: .9rem .15rem; border: 0; border-bottom: 1px solid var(--line); outline: 0; color: var(--ink); background: transparent; font-size: .86rem; letter-spacing: 0; text-transform: none; }
.quote-panel textarea { resize: vertical; }
.quote-panel input:focus, .quote-panel textarea:focus, .quote-panel select:focus { border-color: var(--signal); }
.quote-service-select { margin-top: 3.4rem; padding: 1.5rem; background: var(--ink); color: var(--white); }
.quote-service-select label { color: rgba(255,255,255,.72); }
.quote-service-select select { color: var(--white); border-color: rgba(255,255,255,.35); }
.quote-service-select select option { color: var(--ink); }
.quote-service-select p { margin: 1rem 0 0; color: rgba(255,255,255,.55); font-size: .7rem; line-height: 1.5; }
.quote-questions { display: grid; gap: 1rem; margin-top: 1.6rem; }
.quote-question { padding: clamp(1.25rem, 3vw, 1.7rem); border: 1px solid rgba(23,20,18,.2); background: rgba(255,255,255,.38); }
.quote-question-label { color: var(--ink) !important; font-size: .98rem !important; font-weight: 700; letter-spacing: -.01em !important; line-height: 1.35; text-transform: none !important; }
.quote-question-label small { display: block; margin-top: .45rem; color: rgba(23,20,18,.56); font-size: .7rem; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.quote-question > input, .quote-question > textarea, .quote-question > select, .quote-choice-list > input { min-height: 3.4rem; margin-top: 1rem; padding: .95rem 1rem; border: 1px solid rgba(23,20,18,.3); border-radius: .2rem; background: var(--white); box-shadow: inset 0 0 0 1px transparent; }
.quote-question > input::placeholder, .quote-question > textarea::placeholder { color: rgba(23,20,18,.42); }
.quote-question > input:focus, .quote-question > textarea:focus, .quote-question > select:focus, .quote-choice-list > input:focus { border-color: var(--signal); box-shadow: 0 0 0 3px rgba(192,57,43,.13); }
.quote-choice-list { display: grid; gap: .55rem; margin-top: 1rem; }
.quote-choice-list .quote-choice { display: flex; gap: .7rem; align-items: center; min-height: 3rem; padding: .72rem .85rem; border: 1px solid rgba(23,20,18,.2); color: var(--ink); background: var(--white); cursor: pointer; font-size: .82rem; letter-spacing: 0; text-transform: none; }
.quote-choice input, .quote-scale-choice input { width: auto; padding: 0; border: 0; accent-color: var(--signal); }
.quote-choice-list > input { margin-top: .4rem; }
.quote-scale { display: grid; grid-template-columns: repeat(auto-fit,minmax(2.4rem,1fr)); gap: .5rem; margin-top: 1rem; }
.quote-scale-choice { display: flex !important; gap: .35rem !important; align-items: center; justify-content: center; padding: .65rem; border: 1px solid var(--line); color: var(--ink) !important; font-size: .78rem !important; letter-spacing: 0 !important; text-transform: none !important; }
.quote-scale-labels { grid-column: 1 / -1; display: flex; justify-content: space-between; color: rgba(23,20,18,.55); font-size: .65rem; }
.quote-info { padding: 1.15rem 1.25rem; border-left: 3px solid var(--signal); background: var(--paper-soft); }
.quote-info strong { font-size: .85rem; }.quote-info p { margin: .45rem 0 0; color: rgba(23,20,18,.64); font-size: .74rem; line-height: 1.5; }
.quote-disclosure { display: grid; gap: 1rem; }.quote-disclosure summary { cursor: pointer; font-size: .78rem; font-weight: 600; }.quote-disclosure small { color: rgba(23,20,18,.56); font-size: .7rem; line-height: 1.5; }
.quote-no-questions { padding: 1rem 0; color: rgba(23,20,18,.62); font-size: .78rem; }
.quote-honey { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.quote-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--ink); }
.quote-submit-row p { max-width: 40ch; margin: 0; color: rgba(23,20,18,.58); font-size: .68rem; line-height: 1.5; }.quote-submit-row p.is-success { color: #1d7253; }.quote-submit-row p.is-error { color: #a92c22; }
.quote-submit-row button { display: inline-flex; gap: .65rem; align-items: center; justify-content: center; padding: .95rem 1.15rem; border: 1px solid var(--ink); color: var(--white); background: var(--ink); font-size: .7rem; text-transform: uppercase; cursor: pointer; }.quote-submit-row button:disabled { opacity: .45; cursor: wait; }.quote-submit-row button:not(:disabled):hover { color: var(--ink); background: transparent; }
.quote-footer { grid-template-columns: 1fr auto; margin-top: 0; }
@media (max-width: 800px) { .quote-header .desktop-nav { display: none; }.quote-main { grid-template-columns: 1fr; padding-top: calc(var(--header-height) + 3rem); }.quote-hero { position: static; }.quote-fixed-grid { grid-template-columns: 1fr; }.quote-submit-row { align-items: flex-start; flex-direction: column; }.quote-submit-row button { width: 100%; }.quote-footer { grid-template-columns: 1fr; align-items: start; } }
