.pattern-breadcrumb { width:min(1040px,calc(100% - 48px)); margin:22px auto 0; display:flex; flex-wrap:wrap; gap:9px; color:#6c716d; font-size:.86rem; }
.pattern-breadcrumb a { color:var(--sage); font-weight:700; }
.pattern-detail-hero { width:min(1040px,calc(100% - 48px)); margin:22px auto 54px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); align-items:start; background:#fff; border:1px solid #ddd4c8; }
.pattern-detail-image { padding:28px; background:#f3f7f5; }
.pattern-detail-image img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
.pattern-detail-image { align-self:start; height:auto!important; min-height:0!important; padding:0!important; }
.pattern-detail-image img { height:auto!important; aspect-ratio:1/1!important; border:1px solid #66736f; }
.pattern-detail-copy { padding:clamp(26px,3.5vw,46px); align-self:center; }
.pattern-detail-copy h1 { margin:10px 0 14px; font-size:clamp(2.7rem,5vw,4.7rem); line-height:.94; }
.pattern-name-detail { margin:-7px 0 14px; color:#315b57; font-family:Georgia,serif; font-size:clamp(1.25rem,2vw,1.7rem); font-weight:600; line-height:1.2; }
.pattern-name-alias { margin:12px 0 0; color:#59635f; font-size:.88rem; line-height:1.5; }
.pattern-detail-lead { margin:0;color:#59635f; font-size:1rem; line-height:1.55; }
.pattern-detail-copy ul { margin:24px 0; padding-left:20px; color:#3d4743; line-height:1.85; }
.pattern-detail-download { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:30px; padding:17px 20px; color:#fff; background:var(--rust); font-weight:800; }
.pattern-detail-copy small { display:block; margin-top:12px; color:#737b77; line-height:1.5; }
.pattern-detail-share { display:inline-block; margin-top:16px; color:#176b68; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.pattern-related { width:min(1160px,calc(100% - 48px)); margin:0 auto 94px; }
.pattern-related h2 { margin:10px 0 28px; font-size:clamp(2.2rem,5vw,4rem); }
.pattern-related > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pattern-related-card { min-width:0; padding:10px 10px 16px; background:#fff; border:1px solid #ddd4c8; }
.pattern-related-card img { display:block; width:100%; height:auto!important; aspect-ratio:1; object-fit:contain; background:#f3f7f5; border:1px solid #66736f; }
.pattern-related-card span,.pattern-related-card strong { display:block; }
.pattern-related-card span { margin:11px 3px 5px; color:var(--rust); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.pattern-related-card strong { margin:0 3px; color:var(--ink); font:1.2rem Georgia,serif; }
.pattern-all-link { display:inline-block; margin-top:26px; color:var(--sage); font-weight:800; }
@media (max-width:900px) { .pattern-related > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:780px) { .pattern-detail-hero { grid-template-columns:1fr; } .pattern-detail-copy { padding:32px 24px 42px; } }
@media (max-width:480px) { .pattern-related > div { grid-template-columns:1fr; } }

/* Compact desktop pattern pages so the complete decision area fits higher on screen. */
@media (min-width:781px) {
  .pattern-breadcrumb { margin-top:14px; }
  .pattern-detail-hero { grid-template-columns:minmax(340px,.82fr) minmax(430px,1.18fr); margin-top:14px; margin-bottom:36px; }
  .pattern-detail-image { align-self:center; }
  .pattern-detail-copy { align-self:start; padding:24px 28px 22px; }
  .pattern-detail-copy .eyebrow { margin-bottom:10px; }
  .pattern-detail-copy h1 { margin:4px 0 8px; font-size:clamp(2.35rem,3.7vw,3.65rem); line-height:.96; }
  .pattern-name-detail { margin:0 0 8px; font-size:1.2rem; }
  .pattern-detail-lead { font-size:.9rem; line-height:1.4; }
  .pattern-name-alias { margin-top:7px; font-size:.78rem; line-height:1.35; }
  .pattern-tool-actions { grid-template-columns:1fr 1fr; gap:7px; margin:11px 0 7px; }
  .pattern-tool-actions .pattern-tool-primary { grid-column:1/-1; }
  .pattern-tool-actions a { padding:8px 11px; }
  .pattern-tool-actions strong { font-size:.84rem; }
  .pattern-tool-actions span { font-size:.68rem; }
  .pattern-detail-share { margin-top:5px; font-size:.82rem; }
}

/* Public pattern pages show the stable number; descriptive names remain in
   metadata and non-visual supporting text. */
.pattern-detail-copy .pattern-name-detail,
.pattern-detail-copy .pattern-name-alias {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.pattern-detail-copy h1 { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }

.pattern-resource-section{margin:2rem auto;max-width:1100px;padding:0 1rem}.pattern-resource-section>h2{margin-bottom:.35rem}.pattern-resource-intro{max-width:760px;color:#5d625f}.pattern-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.25rem}.pattern-resource-card{border:1px solid #ddd8ce;border-radius:18px;padding:1.25rem;background:#fff}.pattern-resource-card h3{margin:.2rem 0 .5rem}.pattern-resource-card p{color:#5d625f;min-height:3.2em}.pattern-resource-card a{display:inline-flex;margin-top:.5rem;font-weight:700}.pattern-resource-card.is-coming{background:#f8f7f3}.pattern-resource-card.is-coming strong{display:inline-block;margin-top:.6rem;color:#686d69}.pattern-svg-note{font-size:.9rem;color:#6b706d;margin-top:1.2rem}.pattern-related-card strong{display:block}.pattern-related-card span{display:block}
.pattern-tool-actions{display:grid;gap:8px;margin:16px 0}.pattern-tool-actions a{display:block;padding:11px 14px;border:1px solid #b8c5c1;color:#123e39;text-decoration:none;background:#fff}.pattern-tool-actions a:hover{border-color:#0d8e83;background:#f2faf8}.pattern-tool-actions .pattern-tool-primary{background:#0d8e83;color:#fff;border-color:#0d8e83}.pattern-tool-actions strong,.pattern-tool-actions span{display:block}.pattern-tool-actions strong{font-size:.95rem}.pattern-tool-actions span{font-size:.78rem;margin-top:2px;opacity:.8}
.pattern-detail-shop-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin:22px 0;padding:14px;background:#f3eee4;border:1px solid #ded4c5}.pattern-detail-shop-card img{width:100%;aspect-ratio:1.25;object-fit:cover}.pattern-detail-shop-card p{margin:4px 0 8px}.pattern-detail-shop-card div>p:first-child{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:#e85f48}.pattern-detail-shop-card h2{font-size:1.2rem;margin:0 0 6px}.pattern-detail-shop-card a{font-weight:800;color:#123e39}@media(max-width:600px){.pattern-detail-shop-card{grid-template-columns:1fr}.pattern-detail-shop-card img{max-height:220px}}
