.theme-blueprintlab .hero h1{max-width:620px}
.theme-blueprintlab .bp-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 38px}
.theme-blueprintlab .bp-stories .story-image{aspect-ratio:1.8}
.theme-blueprintlab .bp-stories h3{max-width:550px}
.theme-blueprintlab .mini-plan small{font-size:10px;letter-spacing:.03em}
.bp-method{background:#ecefe9}
.bp-method-intro{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:65px;margin-bottom:45px}
.bp-method-intro h2{margin:14px 0 20px}
.bp-method-intro p:not(.eyebrow){max-width:450px;font-size:14px}
.bp-method-figure{color:var(--accent)}
.bp-method-figure svg{width:100%;font-size:16px;font-family:var(--body)}
.bp-diagram-caption{font-family:var(--mono);font-size:12px;letter-spacing:1.5px}
.bp-method-figure figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}
.bp-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bcc8c7}
.bp-path a{padding:25px 25px 25px 0;margin-right:24px;position:relative;text-decoration:none;border-bottom:1px solid #bcc8c7}
.bp-path a:last-child{margin-right:0}
.bp-path h3{font-size:28px;line-height:1.12;margin:15px 0 12px;max-width:240px}
.bp-path p{font-size:12px;line-height:1.8}
.bp-path-arrow{display:block;margin-top:18px;font-size:22px;color:var(--accent)}
.bp-path a:hover h3{text-decoration:underline;text-underline-offset:6px}
.bp-presets{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:35px}
.bp-presets .quiet-button{border:1px solid var(--line);padding:10px 16px;min-height:44px;text-decoration:none}
.bp-presets .eyebrow{margin-right:auto}
.bp-desk{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.3fr);gap:60px;align-items:start}
.bp-form{min-width:0}
.bp-form fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}
.bp-form legend{font-family:var(--display);font-size:29px;padding:0;margin-bottom:22px;line-height:1.25}
.bp-form legend>span{font-family:var(--mono);font-size:12px;vertical-align:middle;display:inline-block;margin-right:10px;color:var(--accent)}
.bp-form label{display:block;font-size:12px;font-weight:650;margin-bottom:16px;line-height:1.7}
.bp-form input,.bp-form select{display:block;width:100%;padding:11px 13px;margin-top:7px;color:var(--ink);background:var(--white);border:1px solid #a4b2b7;border-radius:0;font-size:16px;min-height:48px}
.bp-input-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bp-form .form-note{font-size:12px;line-height:1.8;margin-top:-4px;margin-bottom:22px}
.bp-form .tool-error{font-size:13px;line-height:1.7;margin:15px 0;color:#a12617}
.bp-results{min-width:0}
.bp-plan{padding:26px 24px 24px;background:#1e3542;color:#e5edf0}
.bp-plan .eyebrow{color:#c0d3d8}
.bp-plan svg{display:block;width:100%;max-height:490px;font:13px var(--mono)}
.bp-plan svg text{fill:currentColor}
.bp-plan p:not(.eyebrow){color:#e5edf0;font-size:15px}
.bp-plan .bp-plan-note{font-size:10px!important;color:#c0d3d8!important;margin-top:5px}
.bp-metrics{display:grid;grid-template-columns:1fr 1fr;background:#ecefe9;border:1px solid #d3dcd9;border-top:0}
.bp-metrics>div{padding:23px 24px;border-bottom:1px solid #d3dcd9}
.bp-metrics>div:nth-child(odd){border-right:1px solid #d3dcd9}
.bp-metrics>div:nth-last-child(-n+2){border-bottom:0}
.bp-metrics span{display:block;font-size:11px;color:#4b626a;margin-bottom:10px}
.bp-metrics strong{font-family:var(--display);font-size:34px;line-height:1.2;font-weight:450;overflow-wrap:anywhere}
.bp-budget{padding:25px 0 20px}
.bp-budget-bar{display:flex;height:10px;background:#c7d8d5;margin:14px 0}
.bp-budget-bar>span:first-child{background:#1e3542}
.bp-budget-bar>span:last-child{background:#667f8a}
.bp-budget p:not(.eyebrow){display:flex;justify-content:space-between;gap:15px;font-size:11px}
.bp-budget b{display:block;color:var(--ink);font-size:13px;margin-top:3px}
.bp-budget small{font-size:11px;color:var(--muted);display:block;margin-top:15px}
.bp-dimensions{padding:15px 0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}
.bp-dimensions>div{display:flex;justify-content:space-between;gap:20px;margin:6px 0}
.bp-dimensions dd{margin:0;font-family:var(--mono);white-space:nowrap}
.bp-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:25px}
.bp-actions .quiet-button{min-height:44px;font-size:11px}
.bp-actions button:disabled{opacity:.45;cursor:not-allowed}
.bp-status{min-height:26px;margin-top:12px;font-size:12px}
.bp-empty{padding:60px 35px;background:var(--tint);border:1px solid var(--line)}
.bp-empty h2{font-size:36px;margin-bottom:20px}
.bp-empty p{font-size:14px}
.bp-tool-notes{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-top:1px solid var(--line);padding-top:50px;margin-top:55px}
.bp-tool-notes h2{margin-top:15px;max-width:380px}
.bp-tool-notes .prose>p:first-child{font-size:22px}
.bp-tool-notes .prose{font-size:21px}
@media(max-width:1000px){.bp-method-intro{gap:30px}.bp-desk{gap:30px}.bp-path{grid-template-columns:1fr 1fr}.bp-path a{margin-right:20px}.bp-path a:nth-child(even){margin-right:0}.bp-tool-notes{gap:30px}.bp-metrics strong{font-size:29px}}
@media(max-width:700px){.theme-blueprintlab .bp-stories{grid-template-columns:1fr;gap:36px}.theme-blueprintlab .hero h1{font-size:57px;line-height:1.02}.bp-method-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.bp-method-intro h2{font-size:36px}.bp-method-intro p:not(.eyebrow){font-size:13px}.bp-method-figure{margin:0 -7px}.bp-method-figure figcaption{font-size:10px}.bp-path{gap:0 20px}.bp-path a{margin-right:0;padding:22px 0}.bp-path .eyebrow{font-size:8px;letter-spacing:.06em}.bp-path h3{font-size:26px}.bp-path p{font-size:11px}.bp-presets{gap:10px;margin-bottom:28px}.bp-presets .eyebrow{width:100%}.bp-presets .quiet-button{font-size:11px;padding:10px 12px}.bp-desk{grid-template-columns:1fr;gap:25px}.bp-form legend{font-size:28px}.bp-form label{font-size:12px}.bp-form .form-note{font-size:12px}.bp-form fieldset{margin-bottom:24px}.bp-input-pair{gap:14px}.bp-plan{padding:22px 15px}.bp-plan svg{font-size:14px}.bp-plan .bp-plan-note{font-size:9px!important}.bp-metrics>div{padding:18px 15px}.bp-metrics strong{font-size:29px}.bp-metrics span{font-size:10px}.bp-dimensions{font-size:11px}.bp-actions{gap:10px 16px}.bp-tool-notes{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:35px}.bp-tool-notes h2{font-size:34px}.bp-tool-notes .prose,.bp-tool-notes .prose>p:first-child{font-size:20px}.bp-empty{padding:32px 24px}}
@media(max-width:700px){.bp-plan svg{font-size:19px}}
@media print{.bp-presets,.bp-actions,.bp-status,.bp-form>.button,.bp-form>.form-note,.bp-tool-notes{display:none!important}.bp-desk{grid-template-columns:1fr 1.3fr;gap:25px}.bp-form legend{font-size:15pt}.bp-form label,.bp-form .form-note{font-size:8pt}.bp-form input,.bp-form select{font-size:9pt;padding:4px;min-height:0}.bp-form fieldset{margin-bottom:15px}.bp-plan{background:#fff!important;color:#111;border:1px solid #999;padding:12px}.bp-plan [data-bp-inner]{fill:#fff}.bp-plan p,.bp-plan .eyebrow,.bp-plan .bp-plan-note{color:#111!important}.bp-metrics strong{font-size:20pt}.bp-metrics>div{padding:12px}.bp-metrics,.bp-budget-bar{print-color-adjust:exact}.bp-method,.bp-plan,.bp-metrics{break-inside:avoid}}

/* Stage illustrations preserve the complete drawing at every viewport. */
.theme-blueprintlab .prose .editorial-stage{margin:26px 0 32px;break-inside:avoid}
.theme-blueprintlab .prose .editorial-stage img{display:block;width:100%;height:auto;object-fit:contain;background:#e8e7de;border:1px solid var(--line)}
.theme-blueprintlab .article-cover img{aspect-ratio:3/2;object-fit:contain}
.theme-blueprintlab .article-cover figcaption{font-size:11px;line-height:1.6;text-align:left}
.theme-blueprintlab .prose table{font-size:14px}
.theme-blueprintlab .prose .diagram-enlarge{display:inline-block;margin-top:6px}
.theme-blueprintlab .prose .editorial-stage figcaption{font-family:var(--body);font-size:12px;line-height:1.65;letter-spacing:0;color:var(--muted);margin-top:12px;padding:0 2px}
@media(max-width:700px){.theme-blueprintlab .prose .editorial-stage{margin:20px 0 27px}.theme-blueprintlab .prose .editorial-stage figcaption{font-size:11px}}

/* Measured shed model. The substantial 3D bundle loads only on interaction. */
.shed-lab{max-width:1200px;margin:64px auto 80px;border:1px solid #c6cbbb;background:#f7f6ef;border-radius:8px;overflow:hidden;color:#293c30}
.shed-lab-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;padding:30px 32px 26px}.shed-lab-heading h2{font-size:clamp(29px,3vw,42px);font-weight:450;margin:6px 0 0;line-height:1.1}.shed-lab-heading>p{max-width:300px;font-size:14px;line-height:1.6;margin:0;color:#65705f}
.shed-stage-list{display:grid;grid-template-columns:repeat(7,1fr);border-block:1px solid #c6cbbb}.shed-stage-list button{appearance:none;border:0;border-right:1px solid #c6cbbb;background:transparent;color:#4a5849;padding:17px 9px;font:500 12px/1.4 var(--font-sans,Manrope,sans-serif);cursor:pointer}.shed-stage-list button:last-child{border-right:0}.shed-stage-list span{display:block;font-size:10px;opacity:.7;margin-bottom:4px}.shed-stage-list button[aria-pressed=true]{background:#364f3d;color:#fff}.shed-stage-list button:hover{box-shadow:inset 0 -3px #92a380}.shed-lab button:focus-visible,.shed-lab summary:focus-visible{outline:3px solid #6d9272;outline-offset:-4px}
.shed-viewport{position:relative;height:600px;background:#eeeae1;isolation:isolate}.shed-canvas,.shed-poster{width:100%;height:100%}.shed-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.shed-poster img{width:100%;height:100%;object-fit:cover;opacity:.75}.shed-start{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 12px 60px #263e3455}.shed-status{position:absolute;bottom:14px;left:18px;margin:0;max-width:calc(100% - 36px);padding:7px 11px;border-radius:4px;background:#f9f8eff0;color:#435841;font-size:11px;pointer-events:none;line-height:1.5}
.shed-controls{padding:14px 22px;border-block:1px solid #c6cbbb;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.shed-camera{display:flex;gap:5px;flex-wrap:wrap}.shed-camera button{border:1px solid #c6cbbb;border-radius:4px;padding:7px 10px;min-width:34px;background:#fffdf6;font:12px Manrope,sans-serif;color:#344b38;cursor:pointer}.shed-toggles{display:flex;gap:14px;align-items:center;font:12px Manrope,sans-serif;flex-wrap:wrap}.shed-toggles label{display:flex;align-items:center;gap:5px}.shed-toggles input{accent-color:#37513e}.shed-toggles span{font-size:10px;color:#687363}
.shed-stage-copy{padding:26px 32px 22px;display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.shed-stage-copy h3{font:450 28px/1.18 Newsreader,Georgia,serif;margin:0}.shed-stage-copy p{font-size:14px;line-height:1.7;margin:0;color:#5b6958}.shed-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:0 32px 28px;gap:16px}.shed-metrics div{border-top:1px solid #c6cbbb;padding-top:13px}.shed-metrics span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#697462}.shed-metrics strong{display:block;margin-top:6px;font:450 24px/1.2 Newsreader,Georgia,serif}
.shed-spec{border-top:1px solid #c6cbbb;padding:0 32px 24px}.shed-spec summary{padding:20px 0 0;font-size:13px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;gap:20px}.shed-spec p{font-size:14px;line-height:1.8;max-width:940px;margin:24px 0}.shed-table-scroll{overflow-x:auto}.shed-spec table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;line-height:1.6}.shed-spec th,.shed-spec td{padding:11px 12px;border-bottom:1px solid #d8dccf;vertical-align:top}.shed-spec th{background:#e9ecdf}.shed-spec caption{text-align:left;padding:15px 0;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.shed-lab [hidden]{display:none!important}
@media(max-width:1240px){.shed-lab{margin-inline:24px}.shed-viewport{height:540px}}@media(max-width:700px){.shed-lab{margin:36px 16px 50px}.shed-lab-heading{display:block;padding:24px 20px}.shed-lab-heading>p{margin-top:12px}.shed-stage-list{grid-template-columns:repeat(4,1fr)}.shed-stage-list button{border-bottom:1px solid #c6cbbb;font-size:10px;padding:11px 3px;min-height:56px}.shed-stage-list button:nth-child(4){border-right:0}.shed-viewport{height:400px}.shed-controls{padding:12px}.shed-stage-copy{display:block;padding:23px 20px}.shed-stage-copy p{margin-top:14px}.shed-metrics{grid-template-columns:repeat(2,1fr);padding:0 20px 24px}.shed-spec{padding:0 20px 20px}.shed-status{font-size:10px;left:10px;bottom:10px}.shed-toggles{gap:12px}.shed-stage-copy h3{font-size:26px}}
@media print{.shed-stage-list,.shed-start,.shed-controls{display:none}.shed-lab{break-inside:avoid}.shed-viewport{height:350px}}
@media(max-width:700px){.shed-camera button{min-height:40px;min-width:38px}}

.field-lab .shed-stage-list{grid-template-columns:repeat(var(--stages,7),1fr)}
.field-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 32px 12px}.field-actions span{font-size:12px;margin-right:10px}.field-actions button,.shed-camera a{font:12px Manrope,sans-serif;padding:10px 12px;border:1px solid #acb9a5;border-radius:4px;background:#fffdf6;color:#304b3b;cursor:pointer;min-height:40px}.field-actions button[aria-pressed=true]{background:#364f3d;color:white}.field-feedback{font-size:12px;line-height:1.6;padding:0 32px 20px;margin:0;color:#596b51}.field-help{font-size:11px;align-self:center;color:#64745d}.field-drawings{padding:0 32px 24px}.field-drawings svg{display:block;width:100%;height:auto;border:1px solid #c6cbbb}.field-review{margin:0 32px 28px}.field-review table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;text-align:left}.field-review th,.field-review td{padding:12px;border-bottom:1px solid #d5dace;vertical-align:top}.field-review th{background:#e7ecdf}.field-review caption{text-align:left;padding:12px 0}.field-review tr[data-result=Stale]{background:#f3e4c8}.field-lab .shed-metrics strong{font-size:22px}
@media(max-width:700px){.field-lab .shed-stage-list{grid-template-columns:repeat(4,1fr)}.field-actions{padding:0 20px 15px}.field-actions span{width:100%}.field-feedback{padding:0 20px 20px}.field-drawings{padding:0 12px 24px}.field-review{margin:0 12px 20px}.field-review table{font-size:11px}.field-lab .shed-metrics strong{font-size:19px}}
