.simple-planner { max-width: 950px; margin: 0 auto 60px; }
.planner-persistence { font-size: 14px; max-width: 70ch; }
.plan-steps { display: flex; gap: 12px; margin: 22px 0; border-bottom: 1px solid var(--line); }
.plan-steps button { flex: 1; min-height: 50px; padding: 12px 8px; border: 0; border-bottom: 3px solid transparent; background: transparent; text-align: left; color: var(--ink); font: 600 16px/1.4 var(--sans); }
.plan-steps button[aria-current=step] { border-bottom-color: var(--accent); color: var(--accent); }
.simple-planner .work-panel { padding: 28px; }
.simple-planner .field select { width: 100%; }
.simple-planner .unit-field { max-width: 260px; }
.simple-planner h2 { margin-top: 0; font-size: 28px; line-height: 1.3; }
.simple-planner h3 { margin-top: 24px; font-size: 20px; }
.simple-planner textarea { min-height: 100px; }
.simple-planner textarea,.contribution-form textarea { font: 400 16px/1.5 var(--sans); }
.planning-reference { border-left: 3px solid var(--brand-orange); padding: 1px 0 1px 20px; margin: 24px 0; }
.planning-reference h3 { margin-top: 10px; }
.brief-heading { border-bottom: 1px solid var(--line); }
.planning-next { margin-top: 24px; padding-top: 10px; border-top: 1px solid var(--line); }
.legacy-plan { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 16px; }
.legacy-plan summary { cursor: pointer; }
.build-library .page-intro { max-width: 780px; padding-bottom: 24px; }
.build-library .intro-paths { margin: 0 0 28px; }
.build-browse-controls { display: flex; align-items: end; gap: 16px; flex-wrap: wrap; margin: 26px 0 16px; }
.build-browse-controls .field { flex: 1; min-width: 190px; margin: 0; }
.build-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.build-project { min-width: 0; border-top: 3px solid var(--brand-orange); padding-top: 14px; }
.build-project figure { margin: 0; }
.build-project img { width: 100%; height: 240px; object-fit: cover; display: block; margin-bottom: 18px; }
.build-project h2 { font: 400 25px/1.3 var(--display); margin: 8px 0 12px; }
.build-project h2 a { text-decoration: none; }
.build-project p { margin: 10px 0; }
.build-project .eyebrow { font-size: 12px; }
.build-project .project-credit { font-size: 13px; color: var(--muted); }
.project-detail .project-hero { width: 100%; height: auto; max-height: 680px; object-fit: contain; background: #eeece8; }
.project-detail .page-intro { padding-top: 20px; padding-bottom: 12px; }
.project-overview.has-photo { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; align-items: start; }
.project-overview > figure { margin: 0; }
.project-overview p { margin-top: 0; }
.project-overview .action-row { margin-top: 22px; }
.project-detail figure { margin: 25px 0; }
.project-detail figcaption { font: 13px/1.5 var(--sans); margin-top: 10px; }
.contribution-fields { border: 0; padding: 0; margin: 26px 0; }
.contribution-fields legend { font: 400 27px/1.3 var(--display); padding: 0; margin-bottom: 16px; }
.contribution-fields .field select { width: 100%; }
.contribution-form .field-row > * { min-width: 0; }
.submission-progress { display: flex; gap: 20px; flex-wrap: wrap; padding: 0; list-style: none; font-size: 14px; }
.submission-progress li { border-bottom: 2px solid var(--brand-orange); padding: 6px 0; }
.contribution-preview { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 24px; }
.contribution-content p, .contribution-content li { white-space: pre-line; overflow-wrap: anywhere; }
.contribution-content { max-width: 800px; }
.contribution-content .journal-photos { grid-template-columns: 1fr; }
.contribution-content .journal-photos img { max-height: 660px; object-fit: contain; background: #eeece8; }
.contribution-filter { display:flex; gap:16px; flex-wrap:wrap; margin:24px 0; }
.contribution-filter .field { flex:1; min-width:180px; }
.contribution-filter select { width:100%; }
@media(max-width:950px) { .build-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .simple-planner .work-panel { padding: 18px; }
 .simple-planner h2 { font-size: 24px; }
 .plan-steps { gap: 5px; }
 .plan-steps button { font-size: 14px; padding: 10px 3px; }
 .simple-planner .field-row:not(.three) { grid-template-columns: 1fr; }
 .simple-planner .field-row.three { gap: 10px; }
 .simple-planner input { min-width:0; }
 .build-gallery { grid-template-columns: 1fr; }
 .build-project img { height: 260px; }
 .build-project h2 { font-size: 24px; }
 .contribution-form { padding: 18px; }
 .contribution-form .field-row { grid-template-columns: 1fr; }
}
@media(max-width:760px) { .project-overview.has-photo { grid-template-columns: 1fr; gap: 20px; } }
@media print {
 .printing-brief .header,.printing-brief .footer,.printing-brief .page-intro,.printing-brief .plan-steps,.printing-brief .planner-persistence,.printing-brief .legacy-plan,.printing-brief .planning-next,.printing-brief .action-row,.printing-brief #brief-status { display:none !important; }
 .printing-brief [data-panel="1"],.printing-brief [data-panel="2"] { display:none !important; }
 .printing-brief [data-panel="3"] { display:block !important; border:0; }
 .printing-brief .work-panel { padding:0; }
}

/* Text guides prioritize the project brief and instructions over reference photography. */
.build-paths{display:flex;gap:8px 24px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:12px 0 22px;padding-bottom:14px;}
.build-paths a{padding:10px 0;font-weight:600;}
.build-section p>.text-link{white-space:normal;}
.construction-library .page-intro{padding:28px 0 12px;}
.construction-library .page-intro h1{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.3;}
.build-paths [aria-current]{color:var(--ink);text-decoration-thickness:3px;text-underline-offset:8px;}
.build-intro-note{max-width:850px;margin-bottom:28px;}
.construction-controls{display:grid;grid-template-columns:2fr 1fr 1.25fr;gap:18px;align-items:end;}
.construction-controls .field{display:grid;gap:8px;font-weight:600;}
.construction-controls input,.construction-controls select{width:100%;min-height:48px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink);border:1px solid var(--control-line);border-radius:3px;}
.construction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;}
.construction-card{padding:26px 0 30px;border-top:1px solid var(--line);}
.construction-card[hidden]{display:none;}
.construction-card h2{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45;margin:10px 0 14px;}
.construction-card h2 a{color:var(--ink);text-decoration:none;}
.construction-card h2 a:hover{text-decoration:underline;}
.construction-card p{margin-bottom:12px;}
.construction-card .eyebrow{font-family:var(--sans,Arial,sans-serif);font-weight:600;letter-spacing:.07em;}
.build-size{font-weight:600;color:var(--ink);}
.construction-detail .page-intro{max-width:980px;padding-top:18px;padding-bottom:10px;}
.construction-detail .page-intro h1{font-size:clamp(1.65rem,3.5vw,2.6rem);line-height:1.35;}
.construction-detail .article-body section{scroll-margin-top:105px;}
.construction-detail .article-body,.construction-detail .toc{min-width:0;}
.construction-detail .toc{align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;}
.construction-detail .toc summary{font-weight:700;cursor:pointer;padding:8px 0;}
.construction-detail .toc a{font-size:.9rem;line-height:1.55;}
.construction-detail .detail-table th[scope=row]{font-family:inherit;font-weight:600;text-align:left;min-width:125px;}
.construction-detail .detail-table td{vertical-align:top;}
.construction-detail .detail-table{min-width:650px;}
.construction-detail .table-scroll{border:1px solid var(--line);}
.construction-detail .table-hint{display:none;font-size:14px;line-height:1.6;}
@media(max-width:1050px){.construction-detail .table-hint{display:block;}}
@media print{.construction-detail .table-hint{display:none;}}
.guide-progress{padding:12px 16px;margin:12px 0 18px;background:var(--brand-tint);border-left:4px solid var(--brand-orange);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;}
.guide-progress p{margin:0;}
.guide-progress .small{flex-basis:100%;order:2;}
.guide-progress [data-progress-error]{order:3;}
.guide-progress [data-progress-error]:empty{display:none;}
.guide-progress [data-step-count]{font-weight:600;}
.step-completion{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 0;cursor:pointer;font-weight:600;}
.step-completion input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;}
.build-limitations{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;}
.build-limitations summary{font-weight:600;cursor:pointer;}
.construction-detail .source-list li p{font-size:.95rem;margin-top:7px;}
@media(max-width:900px){.construction-controls{grid-template-columns:1fr 1fr;}.construction-controls .field:first-child{grid-column:1/-1;}.construction-detail .toc{max-height:none;position:static;}}
@media(max-width:600px){.construction-grid{grid-template-columns:1fr;}.construction-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.construction-controls .field:first-child{grid-column:1/-1;}.construction-card h2{font-size:1.2rem;}.construction-detail .action-row{align-items:stretch;}.construction-detail .toc details{max-height:340px;overflow-y:auto;}.build-paths{gap:3px 20px;}.guide-progress{padding:16px;}}
select:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
@media print{.construction-detail .toc,.construction-detail .action-row,.guide-progress,.step-completion,.construction-detail>.section{display:none!important;}.construction-detail .article-layout{display:block;}.construction-detail .table-scroll{overflow:visible!important;}.construction-detail .detail-table{min-width:0;font-size:10pt;}.construction-detail .detail-table td,.construction-detail .detail-table th{padding:6px;}.construction-detail .article-body{max-width:none;}.construction-detail section{break-inside:auto;}.construction-detail h2,.construction-detail h3{break-after:avoid;}.build-limitations>ul{display:block;}}
