:root{--ink:#111111;--muted:#555555;--red:#991821;--paper:#ffffff;--surface:#ffffff;--line:#dedede;--soft:#f4f4f4;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;line-height:1.55}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.14}p+p{margin-top:14px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b7464d;outline-offset:4px}.skip{position:fixed;top:-90px;left:20px;z-index:10;padding:12px;background:white}.skip:focus{top:12px}.preview-strip{background:#e8e8e8;color:#4a4a4a;padding:9px max(24px,calc((100vw - 1220px)/2));font-size:12px;display:flex;justify-content:space-between;gap:15px}.preview-strip button{border:0;background:none;text-decoration:underline;padding:0;font-size:inherit}.request-header{max-width:1220px;margin:0 auto;padding:22px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{display:block;object-fit:contain}.back-home{font-size:14px;text-decoration:none}.request-layout{max-width:1220px;margin:54px auto 70px;display:grid;grid-template-columns:295px minmax(0,1fr);gap:70px;align-items:start}.eyebrow,.small-label{font-size:10px;font-weight:750;letter-spacing:.16em}.eyebrow{color:var(--red);margin-bottom:16px}.request-aside h1{font-size:clamp(40px,4vw,57px);font-weight:570;letter-spacing:-.045em;margin-bottom:24px}.intro{font-size:15px;color:var(--muted);line-height:1.75}.aside-project{margin-top:28px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.small-label{display:block;color:var(--muted);margin-bottom:10px}#selected-topics{display:flex;gap:7px;flex-wrap:wrap}.topic-pill{font-size:12px;background:#e7e7e7;padding:5px 10px;border-radius:5px}.muted{color:var(--muted);font-size:13px}#step-navigation{display:grid;gap:6px;margin-top:20px}#step-navigation button{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:none;padding:7px 0;font-size:13px;color:var(--muted)}#step-navigation button[aria-current="step"]{font-weight:700;color:var(--red)}.step-dot{border:1px solid #bdbdbd;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;flex-shrink:0}button[aria-current="step"] .step-dot{background:var(--red);color:white;border-color:var(--red)}.aside-help{margin-top:25px;padding:18px;background:var(--soft);border-radius:8px;font-size:13px}.aside-help p{margin-top:7px;color:var(--muted)}.aside-phone{display:block;text-decoration:none;font-size:12px;margin-top:20px;color:var(--muted)}.aside-phone strong{display:block;font-size:15px;margin-top:4px;color:var(--ink)}.request-panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px 36px;box-shadow:0 12px 40px #11111105}.progress-heading{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:12px}progress{width:100%;height:4px;border:0;border-radius:20px;overflow:hidden;background:#e8e8e8;display:block;margin-bottom:32px}progress::-webkit-progress-bar{background:#e8e8e8}progress::-webkit-progress-value{background:var(--red)}progress::-moz-progress-bar{background:var(--red)}.step-kicker{font-size:11px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;color:var(--red);margin-bottom:11px}.step-title{font-size:clamp(25px,3vw,34px);font-weight:600;letter-spacing:-.025em;outline:none}.step-description{margin:14px 0 28px;color:var(--muted);font-size:14px;line-height:1.7}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.topic-option{position:relative;display:block;cursor:pointer}.topic-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.topic-body{display:block;border:1px solid var(--line);border-radius:9px;padding:22px 20px;min-height:182px;transition:border-color .15s,background .15s}.topic-option input:checked+.topic-body{border:2px solid var(--red);padding:21px 19px;background:#fbf4ef}.topic-option input:focus-visible+.topic-body{outline:3px solid var(--red);outline-offset:3px}.topic-icon{display:flex;justify-content:space-between;align-items:center;color:var(--red);margin-bottom:15px}.topic-icon svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.topic-check{border:1px solid #cccccc;color:transparent;border-radius:4px;width:19px;height:19px;display:grid;place-items:center;font-size:13px}.topic-option input:checked+.topic-body .topic-check{background:var(--red);border-color:var(--red);color:white}.topic-body strong{display:block;font-size:17px;margin-bottom:7px}.topic-body small{display:block;color:var(--muted);font-size:12px;line-height:1.65}.hint{font-size:12px;color:var(--muted);margin-top:18px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}.field{display:block;min-width:0}.field.wide{grid-column:1/-1}.field label,.field legend{font-size:13px;font-weight:650;display:block;margin-bottom:9px}.field fieldset{border:0;margin:0;padding:0;min-width:0}.optional{font-size:11px;font-weight:400;color:var(--muted);margin-left:4px}input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea,select{display:block;width:100%;background:white;border:1px solid #c7c7c7;border-radius:6px;padding:12px 13px;color:var(--ink);min-height:48px;font-size:14px}textarea{resize:vertical;min-height:106px}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--red)}.field-help{display:block;margin-top:7px;font-size:11px;line-height:1.5;color:var(--muted)}.check-options{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;display:block!important;margin:0!important;font-weight:400!important;font-size:12px!important}.choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:pointer}.choice span{display:block;padding:10px 12px;border:1px solid #d0d0d0;border-radius:5px;background:white}.choice input:checked+span{border-color:#777777;background:#ececec;color:#3b3b3b;box-shadow:inset 0 0 0 1px #777777}.choice input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}.subheading{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line);margin-top:4px;font-size:15px}.notice{background:var(--soft);border-left:3px solid #7b7b7b;padding:15px 17px;font-size:12px;line-height:1.65;margin:20px 0}.notice strong{display:block;margin-bottom:4px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 19px;font-weight:650;font-size:13px;border-radius:6px;border:1px solid transparent;text-decoration:none}.button.primary{background:var(--red);color:white}.button.primary:hover{background:#6f1018}.button.secondary{border-color:#c8c8c8;background:transparent}.step-hint{flex:1;font-size:11px;color:var(--muted)}.session-note{font-size:11px;color:var(--muted);margin-top:18px}.error-box{margin-top:18px;padding:14px 16px;background:#fff0ec;border:1px solid #d8a49e;border-radius:6px;color:#812834;font-size:13px}.error-box ul{margin:6px 0;padding-left:20px}.request-footer{max-width:1220px;margin:0 auto;padding:24px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.request-footer div{display:flex;gap:22px}.upload-guidance{display:grid;gap:10px;margin-bottom:22px}.upload-guide{border:1px solid var(--line);padding:14px 16px;border-radius:7px;font-size:12px;color:var(--muted)}.upload-guide strong{display:block;color:var(--ink);margin-bottom:5px}.upload-box{padding:24px;border:1px dashed #9e9e9e;border-radius:9px;background:#f8f8f8}.upload-box label{font-size:14px;font-weight:650;display:block;margin-bottom:10px}.upload-box input{font-size:12px;max-width:100%}.upload-box input::file-selector-button{border:1px solid #c3c3c3;border-radius:5px;background:white;padding:9px 12px;margin:0 12px 8px 0;color:var(--ink);font:inherit}.file-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.file-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);padding:11px 13px;border-radius:6px}.file-row div{min-width:0}.file-row strong{display:block;font-size:12px;overflow-wrap:anywhere}.file-row small{font-size:11px;color:var(--muted)}.file-row button{border:0;background:none;padding:8px;font-size:13px}.review-section{border-top:1px solid var(--line);padding:20px 0}.review-section:first-of-type{border-top:0}.review-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}.review-heading h3{font-size:16px}.text-button{border:0;background:none;padding:5px 0;font-size:12px;color:var(--red);text-decoration:underline}.summary-list{margin:0;display:grid;gap:11px}.summary-list div{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:16px;font-size:12px}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}.summary-empty{font-size:12px;color:var(--muted)}.success-mark{width:56px;height:56px;border-radius:50%;background:#eaeaea;color:#505050;display:grid;place-items:center;font-size:27px;margin-bottom:20px}.success-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.ref-number{font-size:12px;letter-spacing:.05em;color:var(--muted);margin-bottom:15px}.success-note{font-size:13px;color:var(--muted);line-height:1.8;margin-top:18px}.privacy-copy{font-size:12px;line-height:1.7;color:var(--muted);margin-top:20px}dialog{width:min(780px,calc(100% - 32px));max-height:88vh;border:1px solid var(--line);border-radius:14px;padding:32px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #11111150}dialog::backdrop{background:#11111199}dialog p{font-size:14px;line-height:1.7}dialog>.button{margin-top:24px}.dialog-head{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:20px}.dialog-head h2{font-size:25px}.close-dialog{background:var(--soft);border:0;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-size:24px;line-height:1}.inbox-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.inbox-badge{font-size:11px;padding:5px 10px;border-radius:4px;background:var(--soft)}.open-items{font-size:12px;padding-left:18px;line-height:1.7}.inbox-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.inbox-actions .button{font-size:11px;min-height:38px}.inbox-action-note{font-size:12px!important;color:var(--muted);padding:12px;background:var(--soft)}
@media(max-width:1280px){.request-header,.request-layout,.request-footer{margin-left:32px;margin-right:32px}.request-layout{gap:40px;grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:850px){.request-layout{display:block;margin-top:30px}.request-aside{margin-bottom:26px}.request-aside h1{font-size:38px;margin-bottom:12px}.request-aside h1 br{display:none}.intro{max-width:620px}.aside-project,#step-navigation,.aside-help,.aside-phone{display:none}.request-panel{padding:27px}.request-footer{flex-direction:column}.preview-strip{padding:9px 24px}.preview-strip button{max-width:130px;text-align:right}.request-header{padding:14px 0}.brand img{width:120px;height:60px}}
@media(max-width:500px){.request-header,.request-layout,.request-footer{margin-left:18px;margin-right:18px}.preview-strip{padding:8px 18px;font-size:10px}.preview-strip span{max-width:220px}.back-home{font-size:12px}.request-aside h1{font-size:32px}.request-aside .intro{font-size:13px}.request-panel{padding:22px 17px;border-radius:10px}.step-title{font-size:25px}.step-description{font-size:13px}.topic-grid{gap:10px}.topic-body{padding:16px 13px;min-height:188px}.topic-option input:checked+.topic-body{padding:15px 12px}.topic-body strong{font-size:15px}.topic-body small{font-size:11px}.field-grid{grid-template-columns:1fr;gap:22px}.field.wide{grid-column:auto}.subheading{grid-column:auto}.form-actions{flex-wrap:wrap;justify-content:space-between}.step-hint{display:none}.button{padding:12px 15px;font-size:12px}.form-actions #next{margin-left:auto}.summary-list div{grid-template-columns:1fr;gap:3px}.progress-heading{font-size:10px}dialog{padding:23px 18px}.dialog-head h2{font-size:22px}.topic-icon{margin-bottom:10px}.upload-box{padding:18px}.success-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:500px){input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea,select{font-size:16px}}
.cabinet-photo-note{margin:0 0 24px;padding:22px;background:#f4ece1;border:1px solid #cfbea5;border-radius:8px}.cabinet-photo-note h3{font-size:21px;margin:8px 0 13px}.cabinet-photo-note p{font-size:13px;line-height:1.7}.cabinet-photo-note p:last-child{font-size:12px;color:var(--muted)}.file-kind-label{display:block;font-size:11px;margin:10px 0 5px}.file-row select{font-size:12px;min-height:40px;padding:8px;max-width:240px}.file-row>div{flex:1}
@media print{.preview-strip,.request-header,.request-aside,.form-actions,.request-footer,.session-note,.text-button{display:none}.request-layout{display:block;margin:0}.request-panel{border:0;box-shadow:none}.review-section{break-inside:avoid}}
/* Stage one: a brief conversation starter. Stage two keeps the detailed fields. */
.optional{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;color:#464646;background:#eaeaea;border:1px solid #c3c3c3;border-radius:4px;padding:2px 7px;margin-left:6px;vertical-align:middle}
.personal-contact{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:12px}.personal-contact>span{font-size:13px;color:var(--muted)}.personal-contact a{font-size:14px;font-weight:650;text-decoration:none;display:flex;gap:10px;align-items:center}.personal-contact a:hover{color:var(--red)}.personal-contact a span{color:var(--red);font-size:19px}.response-copy{margin-top:24px;font-size:13px;line-height:1.7;color:var(--muted)}.response-copy strong{color:var(--ink)}
.short-inquiry .request-layout{max-width:1100px;grid-template-columns:320px minmax(0,1fr);gap:70px;margin-top:42px}.short-inquiry .request-panel{padding:30px}.short-inquiry .field-grid{gap:18px}.short-inquiry .step-description{margin-bottom:24px}.short-inquiry .request-aside h1{font-size:48px}.short-inquiry textarea{min-height:100px}.contact-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-choice label{position:relative;margin:0}.contact-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.contact-choice span{display:block;padding:12px;border:1px solid var(--line);border-radius:6px;text-align:center;background:white}.contact-choice input:checked+span{color:var(--red);background:#fbf1ee;border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.contact-choice input:focus-visible+span{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:850px){.short-inquiry .request-layout{display:block}.short-inquiry .request-aside h1{font-size:35px}.personal-contact{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:15px;margin-top:18px}.personal-contact>span{flex-basis:100%}.personal-contact a{font-size:13px}.response-copy{margin-top:14px}.short-inquiry .request-panel{padding:24px}.short-inquiry .request-aside{margin-bottom:28px}}

@media(max-width:760px){.short-inquiry .request-header{padding-top:12px;padding-bottom:12px}.short-inquiry .request-layout{margin-top:24px;gap:24px}.short-inquiry .request-aside h1{font-size:31px;margin-bottom:12px}.short-inquiry .request-aside .eyebrow{margin-bottom:10px}.short-inquiry .intro{font-size:14px;line-height:1.6}.short-inquiry .response-copy{margin-top:14px;font-size:12px}.short-inquiry .personal-contact{margin-top:16px;padding-top:12px}.short-inquiry .request-panel{padding:22px}.short-inquiry .step-description{font-size:13px;margin-bottom:20px}}

/* Contact links: clear icon and full email address. */
.personal-contact .mail-icon{width:24px;height:24px;flex:0 0 24px;fill:none;stroke:var(--red);stroke-width:1.7}.personal-contact a{overflow-wrap:anywhere;min-width:0}.short-inquiry .step-hint{display:block}
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.field details, .field summary { cursor:pointer; }
.field-grid details > .field-grid { margin-top:20px; }
.followup-layout { display:block; max-width:850px; margin:40px auto 80px; padding:0 24px; }
.followup-layout .request-panel { width:100%; }
.followup-layout .field { margin:24px 0; }
.followup-layout .photo-row { border-bottom:1px solid #ddd; padding:14px 0; display:flex; gap:14px; align-items:center; justify-content:space-between; overflow-wrap:anywhere; }
.followup-layout .photo-row button { flex-shrink:0; }
.followup-layout .photo-status { display:block; color:#555; font-size:.9rem; }
.followup-layout [hidden] { display:none!important; }

.legal-copy h3 { margin:26px 0 12px; }
.legal-copy p { margin:12px 0; line-height:1.7; }
.legal-rights { border:1px solid #dedede; border-left:4px solid #991821; padding:16px 20px; margin:24px 0; border-radius:6px; }
.legal-rights h3 { margin-top:0; }
