body{
  background-color:var(--bg);
  background-image:linear-gradient(rgba(239,228,206,.7),rgba(239,228,206,.7)),url('img/bg-architectural-plans.png');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.brief-success{max-width:760px;margin:0 auto;padding:64px 58px;border:1px solid var(--line);background:rgba(245,235,214,.82);text-align:center;box-shadow:0 24px 70px rgba(42,31,20,.12)}.brief-success h2{margin:14px 0 18px;font-size:clamp(38px,5vw,62px)}.brief-success p{max-width:610px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.7}.brief-success-actions{display:flex;justify-content:center;gap:12px;margin-top:30px}@media(max-width:600px){.brief-success{padding:42px 22px}.brief-success-actions{display:grid}.brief-success-actions .btn{width:100%}}
.brief-shell{padding-top:var(--nav-h)}
.brief-hero{padding:62px 20px 32px;text-align:center;border-bottom:1px solid var(--line)}
.brief-hero h1{font-size:clamp(38px,5vw,64px);max-width:740px;margin:18px auto}
.brief-hero h1 em,.brief-step h2 em{font-style:italic;color:var(--bordo)}
.brief-hero>p{max-width:620px;margin:0 auto;color:var(--ink-2);font-size:16px;line-height:1.65}
.brief-progress{max-width:760px;margin:32px auto 0}
.progress-line{height:2px;background:var(--line)}
.progress-fill{height:100%;width:14.28%;background:var(--bordo);transition:width .25s}
.progress-title{margin-top:12px;color:var(--muted);font-size:12px;letter-spacing:1px}
.restore{max-width:760px;margin:28px auto 0;padding:16px 18px;border:1px solid var(--line);background:var(--paper);font-size:13px;text-align:left}
.restore[hidden]{display:none}
.restore button{margin-left:10px;padding:8px 12px;border:0;background:var(--bordo);color:var(--paper);cursor:pointer}
.restore .plain{border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.brief-wrap{max-width:860px;margin:0 auto;padding:48px 20px 64px}
.brief-step{display:none;padding:36px;border:1px solid var(--line);background:var(--paper)}
.brief-step.active{display:block;animation:brief-enter .2s ease}
.brief-step h2{margin:0 0 12px;font-size:33px}
.brief-lede{margin:0 0 26px;color:var(--muted);font-size:16px;line-height:1.65}
.brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.brief-field{margin-bottom:20px}
.brief-fields .brief-field{margin:0}
.brief-field label,.brief-label{display:block;margin-bottom:8px;color:var(--muted);font-size:12px;letter-spacing:1.5px;text-transform:uppercase}
.brief-field input,.brief-field textarea,.brief-field select{width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent}
.brief-field input:focus,.brief-field textarea:focus,.brief-field select:focus{border-color:var(--bordo)}
.brief-field textarea{min-height:90px;resize:vertical}
.brief-full{grid-column:1/-1}
.brief-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.brief-choice{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);background:var(--warm);cursor:pointer}
.brief-choice:has(input:checked){border-color:var(--panel);background:var(--panel);color:var(--paper)}
.brief-chips{display:flex;flex-wrap:wrap;gap:8px}
.brief-chip{padding:9px 13px;border:1px solid var(--line);background:var(--warm);cursor:pointer;font-size:13px}
.brief-chip:has(input:checked){border-color:var(--panel);background:var(--panel);color:var(--paper)}
.brief-chip input{position:absolute;opacity:0}
.brief-rooms{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.brief-room{padding:12px;border:1px solid var(--line)}
.brief-room label{display:flex;gap:8px;font-weight:600}
.brief-room input[type=text]{width:100%;margin-top:8px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:transparent}
.brief-upload{padding:28px;border:1px dashed #7e6230;background:var(--warm);text-align:center}
.brief-upload.drag{outline:2px solid var(--bordo);outline-offset:-5px;background:var(--paper)}
.brief-upload input{max-width:100%}
.file-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;text-align:left}
.file-preview{position:relative;min-width:0;padding:8px;border:1px solid var(--line);background:var(--paper)}
.file-preview-media{display:grid;height:96px;place-items:center;overflow:hidden;background:var(--bg);color:#7e6230;font:600 18px/1 Manrope,sans-serif;letter-spacing:1px}
.file-preview-media img{width:100%;height:100%;object-fit:cover}
.file-preview-name{display:block;margin-top:8px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.file-preview-size{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.file-remove{position:absolute;top:5px;right:5px;display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:50%;background:rgba(23,19,16,.86);color:var(--paper);font-size:17px;line-height:1;cursor:pointer}
.file-remove:hover,.file-remove:focus-visible{background:var(--bordo)}
.brief-hint,.brief-files{margin-top:10px;color:var(--muted);font-size:13px}
.brief-consent{display:flex;align-items:flex-start;gap:9px;margin-top:22px;font-size:13px}
.brief-consent input{margin-top:4px;accent-color:var(--bordo)}
.brief-consent a{color:var(--bordo);border-bottom:1px solid rgba(110,43,51,.4)}
.brief-actions{position:relative;z-index:116;display:flex;justify-content:space-between;gap:15px;margin-top:26px}
.brief-actions .btn.secondary{border:1px solid var(--ink);background:transparent;color:var(--ink)}
.brief-actions .btn.secondary:hover{background:var(--ink);color:var(--paper)}
.brief-status{margin-top:22px;padding:16px;background:var(--warm);font-size:13px}
.brief-footer{padding:28px 20px;background:#0f0c0a;color:rgba(245,235,214,.72);font-size:12px;text-align:center}
.brief-footer a{color:var(--gold)}
.has-contact-dock .brief-footer{padding-bottom:78px}
.stage-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stage-choice{position:relative;min-height:158px;padding:0;overflow:hidden;align-items:flex-end;background:var(--panel);color:#fff4df;isolation:isolate}
.stage-choice::before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--stage-image);background-position:center;background-size:cover;transition:transform .3s ease}
.stage-choice::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(to top,rgba(15,12,10,.98),rgba(15,12,10,.58) 58%,rgba(15,12,10,.28))}
.stage-choice:hover::before{transform:scale(1.035)}
.stage-choice input{position:absolute;top:12px;right:12px;width:18px;height:18px;accent-color:var(--gold)}
.stage-choice-copy{display:block;width:100%;padding:54px 15px 14px;color:#fff4df;text-shadow:0 1px 7px rgba(0,0,0,.7);font:500 17px/1.2 'Playfair Display',serif}
.stage-choice-copy small{display:block;margin-top:5px;color:rgba(255,244,223,.82);font:400 10px/1.35 Manrope,sans-serif}
.stage-choice:has(input:checked){outline:2px solid var(--gold);outline-offset:-2px}
.contact-methods{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.contact-methods .brief-choice{justify-content:center;min-width:0;padding:11px 7px;font-size:12px;text-align:center}
.contact-methods .brief-choice input{position:absolute;width:1px;height:1px;opacity:0}
@keyframes brief-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@supports (background-image:image-set(url("img/bg-architectural-plans.webp") type("image/webp"))){body{background-image:linear-gradient(rgba(239,228,206,.7),rgba(239,228,206,.7)),image-set(url("img/bg-architectural-plans.webp") type("image/webp"),url("img/bg-architectural-plans.png") type("image/png"))}}
@media(max-width:760px){
  .brief-hero{padding:48px 18px 28px}
  .brief-wrap{padding:38px 16px 54px}
  .brief-step{padding:28px 22px}
  .brief-fields,.brief-choices,.brief-rooms{grid-template-columns:1fr}
  .file-previews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stage-choices{grid-template-columns:1fr}
  .stage-choice{min-height:116px}
  .stage-choice-copy{padding-top:48px}
  .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-methods .brief-choice:last-child{grid-column:1/-1}
}
@media(max-width:420px){
  .brief-hero{padding:40px 15px 24px}
  .brief-hero h1{font-size:36px}
  .brief-hero>p,.brief-lede{font-size:15px}
  .brief-wrap{padding:30px 12px 46px}
  .brief-step{padding:24px 16px}
  .brief-step h2{font-size:29px}
  .brief-upload{padding:22px 12px}
  .file-previews{grid-template-columns:1fr}
  .brief-actions{flex-direction:column-reverse}
  .brief-actions .btn{width:100%}
  .stage-choice{min-height:104px}
  .contact-methods{grid-template-columns:1fr}
  .contact-methods .brief-choice:last-child{grid-column:auto}
}
