.pattern-kinds{padding-block:90px 70px}
.pattern-kinds .kinds-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:end;margin-bottom:48px}
.pattern-kinds .kinds-intro h2{font-size:clamp(46px,5.6vw,80px)}
.pattern-kinds .kinds-intro p{max-width:400px;color:#5c6853;font-size:15px;line-height:1.8}
.pattern-kinds .kinds-workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;align-items:stretch}
.pattern-kinds .kinds-invitation{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(23px,2.3vw,30px);line-height:1.35;color:#43583d;max-width:930px;margin:0 0 26px}
.pattern-kinds .kinds-stage{min-width:0;display:flex;flex-direction:column;background:#eae7dd;border:1px solid #cbd0bf}
.pattern-kinds .canvas-wrap{position:relative;flex:1;min-height:450px}
.pattern-kinds #kind-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pattern-kinds .stage-foot{border-top:1px solid #cbd0bf;padding:20px 22px 22px;display:grid;gap:16px;min-width:0}
.pattern-kinds .rule-label, .pattern-kinds .control-label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#697065}
.pattern-kinds .rule-text{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(22px,2.1vw,28px);line-height:1.2;letter-spacing:-.01em;max-width:36ch;margin-top:6px;text-wrap:pretty;min-height:2.4em}
.pattern-kinds .options-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px}
.pattern-kinds .chips{display:flex;gap:6px;flex-wrap:wrap}
.pattern-kinds .chip{border:1px solid #b9c2ac;padding:6px 11px;font-size:12px;line-height:1.3;transition:background .2s,color .2s,border-color .2s}
.pattern-kinds .chip:hover{border-color:#2d392f}
.pattern-kinds .chip[aria-pressed=true]{background:#2d392f;color:#f3f0e8;border-color:#2d392f}
.pattern-kinds .cycle{display:flex;align-items:center;gap:6px}
.pattern-kinds .cycle button{border:1px solid #b9c2ac;min-width:34px;height:31px;padding:0 10px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.pattern-kinds .cycle button:hover{border-color:#2d392f}
.pattern-kinds .cycle .play span{font-size:11px}
.pattern-kinds .controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.pattern-kinds .controls:empty{display:none}
.pattern-kinds .control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:12px;color:#5c6853;min-width:0}
.pattern-kinds .seed-value{font-family:'Instrument Serif',Georgia,serif;font-size:22px;line-height:1;font-variant-numeric:tabular-nums;min-width:3.2ch}
.pattern-kinds .roll{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid currentColor;padding:3px 0;font-size:12px;color:#2d392f}
.pattern-kinds .roll span{font-size:15px}
.pattern-kinds .moment-out{font-size:12px;color:#5c6853;font-variant-numeric:tabular-nums;min-width:9ch}
.pattern-kinds input[type=range]{accent-color:#2d392f;width:min(220px,100%);margin:0}
.pattern-kinds .toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#2d392f;cursor:pointer}
.pattern-kinds .toggle input{accent-color:#2d392f;width:15px;height:15px;margin:0}
.pattern-kinds .kinds-steps{display:flex;flex-direction:column;min-width:0}
.pattern-kinds .kind-step{display:flex;text-align:left;align-items:start;gap:16px;padding:26px 17px;border-top:1px solid #bbc3ad;transition:background .25s;flex:1}
.pattern-kinds .kind-step:last-child{border-bottom:1px solid #bbc3ad}
.pattern-kinds .kind-step[aria-pressed=true]{background:#d7ddca;border-top-color:#718465}
.pattern-kinds .kind-step:hover{background:#e3e5d6}
.pattern-kinds .kind-step[aria-pressed=true]:hover{background:#d7ddca}
.pattern-kinds .kind-body{flex:1;min-width:0}
.pattern-kinds .kind-eyebrow{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#7a856d;margin-bottom:4px}
.pattern-kinds .kind-step strong{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:36px;font-weight:400;line-height:1.05;letter-spacing:-.015em;margin-bottom:10px}
.pattern-kinds .kind-desc{display:block;color:#59664f;font-size:13px;line-height:1.75;max-width:390px}
.pattern-kinds .kind-step .arrow{font-size:18px;color:#7e8b70;padding-top:4px}
.pattern-kinds .kind-step[aria-pressed=true] .arrow{color:#304730}
.pattern-kinds .seed-band{margin-top:70px;border-top:1px solid #b9c2ac;padding-top:34px;display:grid;grid-template-columns:1fr 1.1fr;gap:8%}
.pattern-kinds .seed-band h3{font-size:clamp(40px,4vw,54px);line-height:1.03;letter-spacing:-.025em;margin-bottom:22px}
.pattern-kinds .seed-copy p{font-size:14px;line-height:1.85;color:#5c6853;max-width:470px}
.pattern-kinds .seed-copy p+p{margin-top:14px}
.pattern-kinds .seed-sources{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-content:start}
.pattern-kinds .seed-sources li{border-top:1px solid #bbc3ad;padding:15px 0 18px;min-width:0}
.pattern-kinds .seed-sources b{display:block;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.01em;margin-bottom:4px}
.pattern-kinds .seed-sources span{font-size:12.5px;color:#59664f;line-height:1.7}
.pattern-kinds .tag{display:inline-block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #b9c2ac;padding:1px 6px;margin-left:8px;vertical-align:middle;color:#697065;line-height:1.6}
.pattern-kinds .kinds-note{font-size:10px;line-height:1.7;color:#78836d;max-width:800px;margin-top:34px}

@media (max-width:1050px){ .pattern-kinds .kinds-intro{gap:7%}
.pattern-kinds .kind-step strong{font-size:31px}
.pattern-kinds .seed-band{gap:6%}
}
@media (max-width:740px){
  .pattern-kinds{padding-block:55px}
.pattern-kinds .kinds-intro{grid-template-columns:1fr;gap:20px;margin-bottom:30px}
.pattern-kinds .kinds-intro h2{font-size:52px}
.pattern-kinds .kinds-workspace{grid-template-columns:1fr;gap:20px}
.pattern-kinds .kinds-steps{order:-1}
.pattern-kinds .kind-step{padding:15px 12px}
.pattern-kinds .kind-step strong{font-size:27px;margin-bottom:2px}
.pattern-kinds .kind-step[aria-pressed=false] .kind-desc{display:none}
.pattern-kinds .canvas-wrap{min-height:410px}
.pattern-kinds .stage-foot{padding:18px 16px 20px}
.pattern-kinds .seed-band{grid-template-columns:1fr;gap:26px;margin-top:54px}
.pattern-kinds .seed-sources{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){ .pattern-kinds *{transition:none!important}}

.pattern-kinds {padding-inline:max(16px,5.8%);background:#f3f0e8;color:#2d392f;}
.pattern-kinds h2,.pattern-kinds h3 {font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.035em;line-height:.98;}
.pattern-kinds button {font-family:inherit;color:inherit;cursor:pointer;background:none;}
.pattern-kinds button:focus-visible,.pattern-kinds input:focus-visible {outline:2px solid #b57c42;outline-offset:4px;}
.pattern-kinds .canvas-wrap {display:flex;align-items:center;justify-content:center;padding:24px 42px;min-height:450px;}
.pattern-kinds #kind-canvas {position:static;inset:auto;width:auto;height:390px;max-width:100%;object-fit:contain;box-shadow:0 8px 22px #2d392f18;}
.pattern-kinds .kind-step {border-inline:0;border-bottom:0;}
.pattern-kinds .kind-step:last-child {border-bottom:1px solid #bbc3ad;}
@media(max-width:740px){.pattern-kinds .canvas-wrap {padding:20px 30px;min-height:410px;}.pattern-kinds #kind-canvas{height:370px;}}

/* Room views: room choice and view toggle above the drawing, and the Classic door under the kinds. */
.pattern-kinds .stage-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px;border-bottom:1px solid #cbd0bf}
.pattern-kinds .scene-chips{display:flex;flex-wrap:wrap;gap:6px}
.pattern-kinds .scene-chip{border:1px solid #b9c2ac;padding:6px 11px;font-size:12px;line-height:1.3;transition:background .2s,color .2s,border-color .2s}
.pattern-kinds .scene-chip span{color:#78836d;margin-left:4px;font-size:11px}
.pattern-kinds .scene-chip:hover{border-color:#2d392f}
.pattern-kinds .scene-chip[aria-pressed=true]{background:#2d392f;color:#f3f0e8;border-color:#2d392f}
.pattern-kinds .scene-chip[aria-pressed=true] span{color:#cfd6c4}
.pattern-kinds .view-toggle{display:inline-flex;border:1px solid #b9c2ac}
.pattern-kinds .view-toggle button{padding:6px 11px;font-size:12px;line-height:1.3}
.pattern-kinds .view-toggle button[aria-pressed=true]{background:#d7ddca}
.pattern-kinds .kind-link{text-decoration:none;color:inherit;flex:.75;background:transparent}
.pattern-kinds .kind-link strong{font-size:30px}
@media(max-width:740px){.pattern-kinds .stage-top{padding:12px}.pattern-kinds .scene-chip span{display:none}}

/* Story intro: the one place the page explains parametric design and where it comes from. */
.pattern-kinds .kinds-intro{align-items:start}
.pattern-kinds .kinds-intro h2{margin-top:20px}
.pattern-kinds .kinds-intro .kinds-story p{max-width:470px}
.pattern-kinds .kinds-story p+p{margin-top:15px}
.pattern-kinds .kinds-story a{border-bottom:1px solid #a9b39c}

/* Light explorer: drag hint, compact pattern list, touch dragging. */
.pattern-kinds #kind-canvas{touch-action:none;cursor:grab}
.pattern-kinds #kind-canvas[data-interactive=arches]{cursor:pointer}
.pattern-kinds .kind-hint{font-size:12px;color:#2d392f;display:inline-flex;align-items:center;gap:8px}
.pattern-kinds .kind-hint span:first-child{font-size:15px;color:#718465}
.pattern-kinds .kind-step{padding:20px 17px}
.pattern-kinds .kind-step strong{font-size:31px;margin-bottom:7px}
.pattern-kinds .roll[hidden]{display:none}

/* How the patterns are made: algorithmic and emergent, and the search for moments worth keeping. */
.pattern-kinds .kinds-making{margin-top:64px;border-top:1px solid #b9c2ac;padding-top:34px;display:grid;grid-template-columns:1fr 1.1fr;gap:8%}
.pattern-kinds .kinds-making h3{font-size:clamp(40px,4vw,54px);line-height:1.03;letter-spacing:-.025em;margin-bottom:22px}
.pattern-kinds .kinds-making-copy p{font-size:14px;line-height:1.85;color:#5c6853;max-width:470px}
.pattern-kinds .kinds-making-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-content:start}
.pattern-kinds .kinds-making-list li{border-top:1px solid #bbc3ad;padding:15px 0 18px;min-width:0}
.pattern-kinds .kinds-making-list b{display:block;font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.01em;margin-bottom:6px}
.pattern-kinds .kinds-making-list span{font-size:13px;color:#59664f;line-height:1.75}
@media(max-width:740px){.pattern-kinds .kinds-making{grid-template-columns:1fr;gap:26px;margin-top:44px}.pattern-kinds .kinds-making-list{grid-template-columns:1fr}}
.pattern-kinds .kinds-explainer{width:100%;height:auto;aspect-ratio:1000/620;object-fit:contain;margin-bottom:22px}.pattern-kinds .kinds-making-list li{display:block}.pattern-kinds .kinds-making-list li>b,.pattern-kinds .kinds-making-list li>span{display:block}
/* Give the two explanatory images enough room to read as comparisons and time layers. */
.pattern-kinds .kinds-making{display:block}.pattern-kinds .kinds-making-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start;margin-bottom:30px}.pattern-kinds .kinds-making-list{gap:32px}.pattern-kinds .kinds-making-list li{padding-top:20px}@media(max-width:740px){.pattern-kinds .kinds-making-copy{display:block}.pattern-kinds .kinds-making-copy h3{margin-bottom:20px}}
