/* Maker project pages use the existing Ronu palette, typography and shell. */
.project-article {max-width:100%}
.project-article .story-body,.project-article .story-bottom {max-width:none}
.project-article .story-body {font-size:16px;line-height:1.75}
.project-article .story-title {max-width:30ch;font-size:clamp(32px,4vw,50px)}
.project-article .story-kicker,.project-article .story-section-kicker {font-size:12px}
.project-article .story-section h2 {font-size:clamp(25px,2.8vw,32px)}
.project-article .story-section > p {max-width:78ch}
.project-article .story-section + .story-section {margin-top:64px}
.project-article h3 {font:500 18px/1.5 var(--mono);color:var(--text);margin:0 0 14px;letter-spacing:-.3px}
.project-article a:focus-visible {outline-offset:4px}
.project-intro {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:34px}
.project-intro-copy > p:first-child {font-size:20px;line-height:1.6;color:var(--text)}
.project-hero {margin:0;border-radius:4px;overflow:hidden;background:#f3f1e8;color:#424a44}
.project-hero img {display:block;width:100%;height:auto;padding:18px 8px 0}
.project-hero figcaption {font-size:12px;padding:5px 18px 15px}
.project-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.project-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:11px 17px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--bg);font-size:15px;font-weight:600}
.project-button:hover {filter:brightness(1.12)}
.project-button.is-secondary {color:var(--text);border-color:var(--line);background:var(--surface)}
.project-facts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:30px 0 26px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-facts dt {font-size:13px;color:var(--faint);margin-bottom:7px}
.project-facts dd {margin:0;color:var(--text);font:400 16px/1.5 var(--mono)}
.project-status {padding:3px 0 3px 18px;border-left:2px solid var(--accent);margin:0 0 26px;font-size:14px;line-height:1.65;max-width:94ch}
.project-status > strong {color:var(--text);font:500 14px/1.5 var(--mono)}
.project-status p {margin:7px 0 0!important}
.project-contents {display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding:12px 0 0;font-size:14px;border-top:1px solid var(--line-soft)}
.project-contents > span {color:var(--faint)}
.project-contents a {min-height:44px;display:inline-flex;align-items:center;color:var(--text);border-bottom:1px solid transparent}
.project-contents a:hover {color:var(--accent);border-color:var(--accent)}
.project-model {margin:22px 0 0}
.project-model-top {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px;font-size:14px}
.project-model-top p {margin:0!important;max-width:70ch}
.project-model-top a {color:var(--accent);display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-height:44px}
.project-model-frame {display:block;width:100%;height:1160px;border:1px solid var(--line);border-radius:5px;background:#f6f7f2;color-scheme:light}
.project-list {padding-left:22px;margin:20px 0 27px;max-width:85ch}
.project-list li + li {margin-top:11px}
.project-article .story-table {border-radius:4px}
.project-article .story-table table {font-size:15px;line-height:1.65;min-width:600px}
.project-article .story-table th {font-size:12px;text-transform:none;letter-spacing:0}
.project-article .story-table td:first-child {width:auto;white-space:nowrap}
.project-article .story-table td {padding:14px 16px}
.project-article .story-table th {padding:14px 16px}
.project-article .story-code {font-size:14px}
.project-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin:28px 0}
.project-gallery:has(> :nth-child(3):last-child) {grid-template-columns:repeat(3,minmax(0,1fr))}
.project-gallery.is-single {grid-template-columns:1fr;max-width:850px}
.project-figure {margin:0;min-width:0}
.project-figure > a {display:block;background:#f3f1e8;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.project-figure img {width:100%;height:auto;display:block}
.project-figure figcaption {font-size:14px;line-height:1.65;margin-top:12px;color:var(--muted)}
.project-figure figcaption a {display:inline-flex;align-items:center;gap:6px;color:var(--accent);min-height:35px}
.project-figure figcaption .icon {width:15px;height:15px}
.project-step-tools {display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;margin-bottom:14px}
.project-step-tools p {margin:0!important}
.project-step-tools button {color:var(--accent);min-height:44px;white-space:nowrap;font-size:14px}
.project-step {border-top:1px solid var(--line)}
.project-step:last-child {border-bottom:1px solid var(--line)}
.project-step > summary {list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:18px;padding:22px 0;cursor:pointer;align-items:start}
.project-step > summary::-webkit-details-marker {display:none}
.project-step > summary strong {font:500 19px/1.5 var(--mono);color:var(--text)}
.project-step-number {font:400 17px/1.6 var(--mono);color:var(--accent);padding-top:1px}
.project-step-summary {display:block;font-size:15px;color:var(--muted);margin-top:5px;max-width:76ch}
.project-step-toggle {font-size:23px;line-height:1.4;color:var(--accent);transition:transform .15s}
.project-step[open] .project-step-toggle {transform:rotate(45deg)}
.project-step-body {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;padding:0 0 30px 56px;align-items:start}
.project-step-copy ol {padding-left:22px;margin:0 0 22px}
.project-step-copy li + li {margin-top:13px}
.project-step-copy li::marker {color:var(--accent)}
.project-step-cuts {padding:16px 18px;margin:0 0 22px;background:var(--surface);border-left:2px solid var(--accent)}
.project-step-cuts h3 {font-size:14px;margin:0 0 8px}
.project-step-cuts ul {padding-left:18px;margin:0;font-size:14px}
.project-step-cuts li + li {margin-top:6px}
.project-step-check {font-size:14px;line-height:1.7;margin:0 0 12px!important}
.project-step-check strong {color:var(--accent);margin-right:5px}
.project-manual-link {font-size:14px;color:var(--accent);display:inline-flex;gap:9px;align-items:center;min-height:44px}
.project-link-list {margin:22px 0}
.project-link-list > a {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-top:1px solid var(--line);transition:color .15s}
.project-link-list > a:last-child {border-bottom:1px solid var(--line)}
.project-link-list > a:hover strong {color:var(--accent)}
.project-link-list strong {display:block;font-size:17px;font-weight:500;color:var(--text)}
.project-link-note {display:block;font-size:14px;margin-top:5px;max-width:82ch;color:var(--muted)}
.project-link-end {display:flex;gap:16px;align-items:center;white-space:nowrap;color:var(--accent);font:12px/1.5 var(--mono)}
.maker-project-feature {display:grid;grid-template-columns:1fr 1fr;gap:32px;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:34px;align-items:center;background:var(--surface)}
.maker-project-feature:hover {border-color:var(--accent-border)}
.maker-project-art {margin:0;background:#f3f1e8;padding:15px}
.maker-project-art img {display:block;width:100%;height:auto}
.maker-project-copy {padding:20px 28px 20px 0}
.maker-project-kicker {font:12px/1.5 var(--mono);color:var(--accent);margin:0 0 12px}
.maker-project-copy h3 {font:400 27px/1.35 var(--mono);letter-spacing:-.65px;color:var(--text);margin:0 0 14px}
.maker-project-copy p:not(.maker-project-kicker) {font-size:16px;color:var(--muted);line-height:1.7;margin:0}
.maker-project-cta {display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:var(--accent);font-size:15px}
.maker-gallery-heading {margin-top:32px}
@media(max-width:780px) {
  .project-intro {grid-template-columns:1fr;gap:25px}
  .project-intro-copy {max-width:70ch}
  .project-hero {max-width:600px}
  .project-facts {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  .project-step-body {grid-template-columns:1fr;padding-left:0}
  .project-step-body .project-figure {max-width:600px}
  .project-gallery:has(> :nth-child(3):last-child) {grid-template-columns:1fr}
  .project-gallery:has(> :nth-child(3):last-child) .project-figure img {max-height:540px;object-fit:contain}
  .project-model-frame {height:1930px}
  .maker-project-feature {gap:22px}
  .maker-project-copy {padding-right:20px}
  .maker-project-copy h3 {font-size:23px}
}
@media(max-width:500px) {
  .project-article .story-section + .story-section {margin-top:47px}
  .project-intro-copy > p:first-child {font-size:19px}
  .project-actions {flex-direction:column;align-items:stretch}
  .project-facts {gap:20px 18px;margin-top:24px}
  .project-facts dd {font-size:15px}
  .project-model-top {align-items:flex-start;flex-direction:column;gap:4px}
  .project-gallery {grid-template-columns:1fr;gap:30px}
  .project-step > summary {grid-template-columns:28px minmax(0,1fr) 18px;gap:10px;padding:19px 0}
  .project-step > summary strong {font-size:18px}
  .project-step-summary {font-size:14px}
  .project-step-tools {flex-wrap:wrap;gap:0}
  .project-link-end > span {display:none}
  .project-contents {column-gap:20px}
  .maker-project-feature {grid-template-columns:1fr;gap:0}
  .maker-project-copy {padding:23px}
  .project-article .story-bottom .quiet-link {font-size:14px}
}
@media(prefers-reduced-motion:reduce) {.project-step-toggle {transition:none}}
@media print {
  .project-article .project-contents,.project-article .project-model,.project-article .project-actions,.project-step-tools {display:none}
  .project-step-body {display:block}
  .project-figure {break-inside:avoid}
}
