/* Proposal form: contact page only. */
.proposal-section{background:var(--cream);padding:64px 0 74px;scroll-margin-top:110px}
.proposal-layout{max-width:1220px;display:grid;grid-template-columns:1fr 1.65fr;gap:55px;align-items:start}
.proposal-intro h1{font-size:clamp(38px,4vw,56px);line-height:1.08;margin:23px 0;letter-spacing:-.025em}
.proposal-intro h1 em{color:var(--red);font-style:normal}
.proposal-intro p{font-size:17px;line-height:1.55;color:var(--muted-strong);max-width:350px}
.proposal-intro ul{list-style:none;padding:0;margin:30px 0}
.proposal-intro li{padding:13px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.5}
.proposal-intro li b{color:var(--red);margin-right:9px}
.proposal-intro .proposal-reassurance{font-size:13px}
.proposal-alternative{margin-top:34px;border-top:1px solid var(--line);padding-top:20px}
.proposal-alternative h2{font-size:24px;margin:0 0 18px}
.proposal-email{display:block;font-size:14px;margin-top:18px;overflow-wrap:anywhere}
.proposal-card{background:#fff;padding:32px;border-top:4px solid var(--red);box-shadow:0 15px 45px #00000007;min-width:0}
.proposal-card [hidden]{display:none!important}
.proposal-card .steps{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}
.proposal-card .steps span{font-size:13px;color:var(--muted-strong)}
.proposal-card .steps span[aria-current="step"]{color:var(--ink);font-weight:700}
.proposal-card .steps b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#eee;border-radius:50%;margin-right:7px}
.proposal-card .steps [aria-current="step"] b{background:var(--ink);color:#fff}
.proposal-card fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.proposal-card legend{font:700 26px/1.2 var(--display);padding:0}
.proposal-card .hint{font-size:13px;color:var(--muted-strong);margin:8px 0 13px;line-height:1.5}
.proposal-card .choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.proposal-card .option{display:flex;gap:10px;padding:14px;border:1px solid var(--line);cursor:pointer;align-items:flex-start;min-height:53px}
.proposal-card .option:has(input:checked){border:2px solid var(--red);background:#fcf4f5;padding:13px}
.proposal-card .option input{width:17px;height:17px;margin:3px 0 0;accent-color:var(--red);flex-shrink:0}
.proposal-card .option b{font-size:13px;display:block;line-height:1.4}
.proposal-card .option small{display:block;font-size:11px;color:var(--muted-strong);margin-top:4px;line-height:1.5}
.proposal-card .option:last-child:nth-child(odd){grid-column:1/-1}
.proposal-card .text-label{display:block;font-size:14px;font-weight:700;margin:16px 0 6px;line-height:1.5}
.proposal-card .text-label span{font-weight:400;color:var(--muted-strong);font-size:12px}
.proposal-card input[type=text],.proposal-card input[type=email],.proposal-card input[type=tel],.proposal-card textarea{width:100%;font:16px var(--sans);padding:13px;border:1px solid #9da0a3;background:#fff;border-radius:0;color:var(--ink)}
.proposal-card textarea{resize:vertical;min-height:92px}
.proposal-card .error{color:#a10e1d;font-size:13px;font-weight:700;margin:8px 0;line-height:1.5}
.proposal-card [aria-invalid=true]{border-color:#a10e1d}
.proposal-card .contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}
.proposal-card .contactgrid .full{grid-column:1/-1}
.proposal-card .summary{background:var(--cream);padding:16px 20px;margin-bottom:20px;border-left:3px solid var(--red)}
.proposal-card .summary p{margin:6px 0;font-size:13px;line-height:1.5}
.proposal-card .summary-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.proposal-card .contact-title{font-size:27px;margin:0}
.proposal-card .buttons{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}
.proposal-card button{font:700 13px var(--sans);padding:15px 21px;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:48px;line-height:1.5}
.proposal-card .primary{background:var(--red);border-color:var(--red);margin-left:auto}
.proposal-card .primary:hover{background:var(--red2)}
.proposal-card .back{background:#fff;color:var(--ink)}
.proposal-card button:disabled{cursor:wait;opacity:.65}
.proposal-card .privacy{font-size:12px;color:var(--muted-strong);margin-top:20px;line-height:1.65}
.proposal-card .privacy a,.proposal-card .send-error a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.proposal-card .optional-details{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.proposal-card .optional-details summary{font-size:13px;font-weight:700;cursor:pointer;min-height:36px;line-height:1.5}
.proposal-card .success{padding:15px 0}
.proposal-card .success h2{font-size:34px;line-height:1.15;margin:24px 0}
.proposal-card .success p{font-size:16px;line-height:1.65;color:var(--muted-strong)}
.proposal-card .success .success-note{font-size:13px;margin:22px 0 28px}
.proposal-card .send-error{border-left:3px solid #a10e1d;padding:12px 16px;margin-top:22px;background:#fcf4f5;font-size:14px;line-height:1.6}
.proposal-card .send-error p{margin:0 0 10px}
@media(max-width:900px){.proposal-layout{grid-template-columns:1fr;gap:25px;max-width:690px}.proposal-section{padding:32px 0 45px}.proposal-intro p{max-width:none;font-size:16px}.proposal-intro ul{display:none}.proposal-intro h1{font-size:38px;margin:12px 0}.proposal-alternative{margin:20px 0 0;padding-top:16px}.proposal-alternative h2{font-size:20px;margin-bottom:12px}}
@media(max-width:600px){.proposal-layout{width:calc(100% - 36px)}.proposal-card{padding:23px 18px}.proposal-card .choices{grid-template-columns:1fr}.proposal-card .option:last-child:nth-child(odd){grid-column:auto}.proposal-card .steps{gap:14px}.proposal-card .steps span{font-size:12px}.proposal-card .contactgrid{grid-template-columns:1fr}.proposal-card .contactgrid .full{grid-column:auto}.proposal-card legend{font-size:24px}.proposal-card .buttons{align-items:stretch;flex-direction:column-reverse}.proposal-card .buttons .primary{margin-left:0}.proposal-card .success h2{font-size:30px}}
