.consultation { max-width: 880px; }
.consultation h1 { font-size: clamp(2rem,5vw,3.6rem); overflow-wrap:anywhere; }
.consultation progress { width:100%; height:10px; accent-color:var(--bronze); margin-bottom:28px; }
.consultation-progress { font-weight:700; }
.consultation-form { display:grid; gap:24px; }
.consultation-field label, .consultation-field legend { font-weight:600; }
.consultation-field input:not([type=checkbox]), .consultation-field select, .consultation-field textarea { display:block; width:100%; margin-top:8px; padding:13px; min-height:48px; border:1px solid #74746e; background:#fff; color:var(--ink); font:inherit; border-radius:0; }
.consultation-field textarea { resize:vertical; }
.consultation fieldset { border:0; padding:0; margin:0; min-width:0; }
.consultation-choice { display:flex; gap:12px; align-items:flex-start; padding:12px 0; min-height:48px; cursor:pointer; }
.consultation-choice input { flex-shrink:0; width:22px; height:22px; margin:2px 0 0; accent-color:var(--bronze); }
.consultation :focus-visible { outline:3px solid #865b37; outline-offset:4px; }
.consultation .field-error { color:#9b281d; margin:6px 0 0; font-weight:600; }
.consultation [aria-invalid=true] { border:2px solid #9b281d; }
.consultation .field-help { color:#535650; font-size:.9rem; margin:8px 0 0; }
.consultation .field-help:empty, .consultation .field-error:empty { display:none; }
.consultation-notice { border:2px solid #9b281d; padding:16px; }
.consultation button { font:inherit; cursor:pointer; min-height:48px; }
.consultation button:disabled { opacity:.6; cursor:wait; }
.consultation [hidden] { display:none; }
.consultation-summary { margin:28px 0; }
.consultation-summary > div { display:grid; grid-template-columns:1fr 2fr; gap:24px; padding:16px 0; border-bottom:1px solid #cccac2; break-inside:avoid; }
.consultation-summary dt { font-weight:600; }
.consultation-summary dd { margin:0; overflow-wrap:anywhere; white-space:normal; }
.photo-selection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.photo-selection img { width:100%; max-height:280px; object-fit:contain; }
.photo-selection figure { margin:0; }
.photo-selection p, .photo-selection span, .photo-selection figcaption { overflow-wrap:anywhere; }
.consultation-cta { padding-block:40px; }
@media(max-width:760px) { .consultation-summary > div { grid-template-columns:1fr; gap:8px; } .photo-selection { grid-template-columns:1fr; } .consultation .button-row { display:flex; flex-wrap:wrap; } }
@media print { .site-header,.site-footer,.skip-link,.viewer-actions,.viewer-photos { display:none!important; } .consultation { width:100%; max-width:none; padding:0; color:#000; } .consultation h1 { font-size:22pt; } .consultation-summary { font-size:10pt; } .consultation-summary > div { grid-template-columns:1fr 2fr; gap:16px; padding:7px 0; } @page { margin:16mm; } }
