.custom-intro { display: grid; grid-template-columns: 1.6fr 1fr; align-items: center; gap: 40px; margin-bottom: 38px; }
.custom-intro h1 { margin-bottom: 18px; font-size: clamp(34px, 4vw, 56px); }
.custom-intro > div > p:last-child { max-width: 540px; color: var(--muted); font-size: 15px; }
.atelier-stamp { text-align: center; border: 1px solid var(--line); padding: 35px; background: #f3f1f1; }
.atelier-stamp span { display: block; font: 54px var(--serif); margin-bottom: 15px; }
.atelier-stamp small { font-size: 9px; letter-spacing: .18em; line-height: 2; }
.custom-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); align-items: start; gap: 6%; }
.field-note { color: var(--muted); font-size: 11px; line-height: 1.9; font-weight: 400; margin: 12px 0; }
.design-fieldset { border: 0; border-top: 1px solid var(--line); padding: 25px 0 35px; margin: 28px 0 0; min-width: 0; }
.design-fieldset legend { font: 400 23px var(--serif); padding: 0 20px 0 0; }
.design-fieldset legend > span { font: italic 24px Georgia, serif; color: var(--accent); margin-right: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.design-fieldset > label, .reference-section, .conditional-panel { margin-top: 22px; }
.design-fieldset > .form-grid > label { margin-top: 0; }
.design-fieldset textarea { width: 100%; resize: vertical; min-height: 135px; border: 1px solid #cbc4c5; background: #ffffff; padding: 14px; font: 14px/1.8 "Segoe UI", "Nirmala UI", sans-serif; color: var(--ink); }
.field-error { font-size: 12px; color: #9c2924; min-height: 0; }
[aria-invalid="true"] { border-color: #9c2924; outline-color: #9c2924; }
.form-errors { padding: 22px; background: #fff2e8; border: 1px solid #a45537; margin-top: 20px; }
.form-errors h2 { font-size: 21px; }
.form-errors ul { padding-left: 22px; font-size: 13px; }
.form-errors a { text-decoration: underline; text-underline-offset: 3px; }
.upload-zone { border: 1px dashed #8f9985; background: #eeeee4; padding: 26px; align-items: center; text-align: center; gap: 8px; cursor: pointer; }
.upload-zone strong { font-weight: 500; font-size: 17px; }
.upload-zone input { background: transparent; border: 0; min-height: 44px; max-width: 360px; font-size: 12px; }
.upload-zone input::file-selector-button { padding: 8px 14px; margin-right: 12px; border: 1px solid var(--ink); color: var(--ink); background: transparent; cursor: pointer; }
.upload-icon { font: 34px Georgia, serif; color: var(--accent); }
.reference-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.reference-card { min-width: 0; border: 1px solid var(--line); padding: 9px; background: #ffffff; }
.reference-card img { height: 130px; object-fit: contain; }
.reference-card p { margin: 8px 0; font-size: 10px; overflow-wrap: anywhere; }
.reference-card button { font-size: 11px; }
.conditional-panel { padding: 20px; border: 1px solid var(--line); background: #eeeee5; }
.measurement-grid { margin-top: 20px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-top: 22px; }
.form-actions .button { border: 0; cursor: pointer; }
.form-actions .button:disabled { opacity: .6; cursor: wait; }
.atelier-guide { padding: 30px; background: var(--ink); color: var(--paper); margin-top: 30px; }
.atelier-guide .eyebrow { color: #ff9ca3; }
.atelier-guide h2 { font-size: 28px; }
.atelier-guide ol { margin: 28px 0 0; padding: 0 0 0 20px; }
.atelier-guide li { padding: 15px 0 15px 6px; border-top: 1px solid #a7ab8c44; }
.atelier-guide li strong { font-size: 14px; font-weight: 500; }
.atelier-guide li p, .guide-note > p:last-child { font-size: 12px; color: #dedede; margin: 10px 0 0; }
.guide-note { margin-top: 25px; padding-top: 25px; border-top: 1px solid #a7ab8c44; }
.request-summary { border: 1px solid var(--line); background: #ffffff; padding: 38px; margin-top: 50px; }
.request-summary h2 { font-size: clamp(24px, 3vw, 36px); }
.request-summary > p:not(.eyebrow) { font-size: 13px; color: var(--muted); margin-top: 15px; }
.request-summary dl { margin: 30px 0; }
.request-summary dl > div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 25px; border-top: 1px solid var(--line); padding: 14px 0; font-size: 13px; }
.request-summary dt { color: var(--accent); }
.request-summary dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
@media(max-width: 900px) { .custom-layout { grid-template-columns: 1fr; } .atelier-guide { margin-top: 35px; } }
@media(max-width: 600px) { .custom-intro { grid-template-columns: 1fr; gap: 20px; } .atelier-stamp { display: none; } .form-grid { grid-template-columns: 1fr; gap: 18px; } .design-fieldset legend { font-size: 20px; } .upload-zone { padding: 20px 12px; } .reference-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); } .request-summary { padding: 22px; } .request-summary dl > div { grid-template-columns: 1fr; gap: 7px; } }
