.blueprint{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding:90px 0 100px;align-items:start}
.blueprint-intro{position:sticky;top:40px}
.blueprint-intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5.4vw,80px);line-height:.98;letter-spacing:-.03em;color:#173b85;margin:24px 0 26px}
.blueprint-intro h1 em{color:var(--gold)}
.blueprint-intro>p{max-width:420px;font-size:14px;line-height:1.9;color:var(--muted)}
.blueprint-intro .blueprint-note{margin-top:26px;font-size:11px;line-height:1.8;border-left:1px solid var(--gold);padding-left:16px}
.blueprint-work .step-progress{list-style:none;margin:0 0 34px;padding:0}
.blueprint-step-title{font-family:var(--serif);font-weight:400;font-size:30px;color:var(--ink);margin-bottom:22px}
.blueprint-work [tabindex="-1"]:focus{outline:none}
.blueprint-work fieldset{border:0;padding:0;margin:0 0 22px}
.blueprint-work legend{font-size:10px;font-weight:600;letter-spacing:.18em;color:var(--ink);margin-bottom:12px}
.blueprint-work .step-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}
.blueprint-work .form-message:empty{display:none}
.blueprint-result-copy{font-size:13px;color:var(--muted);margin-bottom:18px}
.blueprint-work #brief-text{white-space:pre-wrap;max-height:none}
.blueprint-work .copy-status{margin-top:14px;font-size:12px;color:#123b91;min-height:1em}
.blueprint-page .text-link{background:none;border:0;color:#123b91;font:inherit;font-size:12px;letter-spacing:.12em;cursor:pointer;padding:12px 0}
.blueprint-page .text-link:hover{text-decoration:underline}
.blueprint-page .text-link:focus-visible,.blueprint-page button:focus-visible,.blueprint-page select:focus-visible,.blueprint-page input:focus-visible,.blueprint-page textarea:focus-visible{outline:3px solid #927746;outline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.blueprint-work>#brief-form>div,.blueprint-work>#brief-result{animation:blueprint-in .45s ease-out both}
@keyframes blueprint-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.blueprint-work>#brief-form>div,.blueprint-work>#brief-result{animation:none}}
@media(max-width:900px){.blueprint{grid-template-columns:1fr;gap:44px;padding:56px 0 70px}.blueprint-intro{position:static}.blueprint-work .step-progress{display:flex;flex-wrap:wrap;gap:8px 16px}}
