.project-page .page-intro,.upload-page .page-intro{margin-bottom:24px}.project-page,.upload-page{display:flex;flex-direction:column;gap:20px}.project-page .h3,.upload-page .h3{font-family:var(--sans);letter-spacing:-.015em;font-size:19px;font-weight:600;margin:0 0 8px}.upload-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:32px;gap:32px;align-items:start}.upload-aside{display:flex;flex-direction:column;gap:16px}.upload-aside .card p+p{margin-top:8px}.upload-aside .btn{margin-top:12px}.upload-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;list-style:none;counter-reset:step;padding:0;margin:0 0 24px}.upload-steps li{counter-increment:step;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius-sm);padding:12px;font-size:14px;line-height:1.4}.upload-steps li:before{content:counter(step);display:block;font-family:var(--cond);font-weight:700;font-size:22px;color:var(--accent)}.upload-picked{margin:0;padding-left:18px;color:var(--ink-2)}@media (max-width:900px){.upload-layout{grid-template-columns:minmax(0,1fr)}.upload-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.note.ok{background:var(--accent-soft);border-color:var(--ok);color:var(--ink)}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.project-quote-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pa{display:flex;flex-direction:column;gap:20px}.pa h3{font-family:var(--sans);letter-spacing:-.015em;font-size:18px;margin:0 0 10px}.pa-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.pa-tiles>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.pa-tiles dt{font-family:var(--sans);font-weight:600;font-size:12px;color:var(--ink-2)}.pa-tiles dd{margin:6px 0 0;display:flex;flex-direction:column;gap:2px}.pa-tiles .num{font-size:26px}.pa-tiles small{color:var(--ink-2);font-size:12.5px}@media (max-width:760px){.pa-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.pa-table{width:100%;border-collapse:collapse;font-size:14px}.pa-table td,.pa-table th{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.pa-table thead th{font-size:12px;color:var(--ink-2);font-weight:600;background:var(--surface-2)}.pa-table td.mono{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pa-table tr.pa-sum td,.pa-table tr.pa-sum th{font-weight:700}.pa-scroll{overflow-x:auto}.pa-scroll:focus-visible{outline:2px solid var(--accent)}.pa-items summary{cursor:pointer;font-weight:600;padding:6px 0}.pa-issues{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}.pa-issues li{border-left:3px solid var(--amber-500);background:var(--surface);padding:6px 10px;border-radius:var(--radius-sm)}.pa-issues li.error{border-left-color:var(--danger)}.pa-badge{display:inline-block;font-family:var(--sans);font-weight:600;font-size:12px;margin-right:8px;color:var(--amber-text)}.pa-issues li.error .pa-badge{color:var(--danger)}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:24px;gap:24px;align-items:start}.quote-aside{display:flex;flex-direction:column;gap:16px}.quote-sum{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 12px;gap:6px 12px;margin:0 0 12px}.quote-sum dt{color:var(--ink-2)}.quote-sum dd{margin:0;text-align:right}.quote-sum dd.big{font-family:var(--cond);font-weight:700;font-size:22px}.accept-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}@media (max-width:900px){.quote-layout{grid-template-columns:minmax(0,1fr)}}