.new-collection.paper-folding { --fold-ink: #293c3c; --fold-muted: #536866; --fold-line: #c7d8d0; --fold-soft: #f1f7ed; max-width: 940px; margin: 0 auto; color: var(--fold-ink); }
.paper-folding [hidden] { display: none !important; }
.paper-folding .fold-hero { margin: 28px 0; padding: clamp(26px, 5vw, 48px); background: var(--fold-soft); border-top: 4px solid #40756a; }
.paper-folding .fold-kicker { margin: 0 0 18px; font-size: .875rem; font-weight: 800; letter-spacing: .04em; }
.paper-folding .fold-hero h1 { margin: 0 0 20px; color: var(--fold-ink); font-size: clamp(1.9rem, 6vw, 3.1rem); line-height: 1.35; letter-spacing: -.05em; word-break: keep-all; }
.paper-folding .fold-hero > p:last-child { margin: 0; color: var(--fold-muted); font-size: 1.0625rem; line-height: 1.9; }
.paper-folding .fold-prepare { margin: 30px 0; }
.paper-folding .fold-prepare h2 { margin: 0 0 10px; font-size: 1.125rem; color: var(--fold-ink); }
.paper-folding .fold-prepare p { margin: 10px 0; color: var(--fold-muted); font-size: .9375rem; line-height: 1.9; word-break: keep-all; }
.paper-folding .fold-choices { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 40px; }
.paper-folding .fold-choices a { display: inline-block; padding: 13px 20px; color: #254f47; background: #fff; border: 1px solid #8fa89d; border-radius: 4px; font-size: 1rem; font-weight: 750; line-height: 1.5; text-decoration: none; }
.paper-folding .fold-model { margin: 42px 0; scroll-margin-top: 86px; padding-top: 25px; border-top: 2px solid #8fa89d; }
.paper-folding .fold-model-header h2 { margin: 0 0 12px; color: var(--fold-ink); font-size: 1.7rem; line-height: 1.4; letter-spacing: -.04em; }
.paper-folding .fold-model-header p { max-width: 42em; margin: 0 0 22px; color: var(--fold-muted); font-size: 1rem; line-height: 1.85; word-break: keep-all; }
.paper-folding .fold-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 20px 0; }
.paper-folding .fold-step-nav { display: flex; gap: 8px; }
.paper-folding .fold-controls button { min-height: 46px; padding: 11px 16px; color: #fff; background: #315f54; border: 1px solid #315f54; border-radius: 4px; font: inherit; font-size: .9375rem; font-weight: 700; line-height: 1.5; cursor: pointer; }
.paper-folding .fold-controls button[aria-disabled="true"] { color: #67736e; background: #f4f6f2; border-color: #c2cdc5; cursor: default; }
.paper-folding .fold-controls .fold-all { color: #315f54; background: #fff; }
.paper-folding .fold-controls .fold-all[aria-pressed="true"] { background: var(--fold-soft); }
.paper-folding .fold-status { flex-basis: 100%; margin: 2px 0 0; color: var(--fold-muted); font-size: .875rem; line-height: 1.7; }
.paper-folding .fold-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.paper-folding .fold-step { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--fold-line); background: #fff; scroll-margin-top: 90px; }
.paper-folding .fold-step figure { display: flex; flex-direction: column; justify-content: center; align-items: center; min-width: 0; margin: 0; padding: 16px 12px 12px; background: #f9fbf6; }
.paper-folding .fold-step figcaption { padding: 3px 0; color: #536866; font-size: .8125rem; line-height: 1.6; text-align: center; }
.paper-folding .fold-diagram { display: block; width: 100%; max-width: 280px; height: auto; overflow: visible; }
.paper-folding .fold-paper { fill: #efd08b; stroke: #554c3b; stroke-width: 1.8; stroke-linejoin: round; }
.paper-folding .fold-layer { fill: #dfb566; }
.paper-folding .fold-diagram-cup .fold-paper { fill: #badadd; stroke: #305c62; }
.paper-folding .fold-diagram-cup .fold-layer { fill: #83bcc4; }
.paper-folding .fold-diagram-heart .fold-paper { fill: #e5a5a7; stroke: #713e49; }
.paper-folding .fold-diagram-heart .fold-layer { fill: #cf8790; }
.paper-folding .fold-diagram .fold-paper.fold-white { fill: #fffdf6; }
.paper-folding .fold-crease { stroke: #485c59; stroke-width: 1.5; stroke-dasharray: 5 4; fill: none; }
.paper-folding .fold-reference { fill: #ac332d; stroke: #fff; stroke-width: 1.5; }
.paper-folding .fold-rim { fill: none; stroke: #305c62; stroke-width: 1.8; }
.paper-folding .fold-ink { fill: #343d37; }
.paper-folding .fold-step-copy { padding: 20px 22px 24px; }
.paper-folding .fold-step-number { margin: 0 0 10px; color: #5b6f61; font-size: .8125rem; font-weight: 800; letter-spacing: .07em; }
.paper-folding .fold-step h3 { margin: 0 0 12px; color: var(--fold-ink); font-size: 1.1875rem; line-height: 1.6; letter-spacing: -.025em; word-break: keep-all; }
.paper-folding .fold-step-copy > p:last-child { margin: 0; color: var(--fold-muted); font-size: 1rem; line-height: 1.95; word-break: keep-all; }
.paper-folding .fold-model[data-fold-mode="single"] .fold-steps { display: block; }
.paper-folding .fold-model[data-fold-mode="single"] .fold-step { display: grid; grid-template-columns: minmax(240px, .95fr) minmax(0, 1fr); align-items: stretch; }
.paper-folding .fold-model[data-fold-mode="single"] .fold-step figure { min-height: 280px; padding: 16px; }
.paper-folding .fold-model[data-fold-mode="single"] .fold-step-copy { align-self: center; padding: 26px; }
.paper-folding .fold-back { display: inline-block; padding: 14px 0; margin-top: 8px; color: #315f54; font-size: .875rem; line-height: 1.8; text-underline-offset: 3px; }
.paper-folding .fold-sources { margin: 40px 0 28px; padding-top: 24px; border-top: 1px solid var(--fold-line); color: var(--fold-muted); }
.paper-folding .fold-sources h2 { margin: 0 0 12px; color: var(--fold-ink); font-size: 1rem; line-height: 1.7; }
.paper-folding .fold-sources p, .paper-folding .fold-sources li { font-size: .8125rem; line-height: 1.9; }
.paper-folding .fold-sources ul { padding-left: 22px; }
.paper-folding .fold-sources li { margin: 7px 0; }
.paper-folding .fold-sources a { color: #315f54; text-underline-offset: 3px; }
.paper-folding :is(a, button):focus-visible { outline: 3px solid #98601d; outline-offset: 4px; }
@media (max-width: 600px) {
  .paper-folding .fold-steps { grid-template-columns: 1fr; }
  .paper-folding .fold-model[data-fold-mode="single"] .fold-step { grid-template-columns: 1fr; }
  .paper-folding .fold-model[data-fold-mode="single"] .fold-step figure { min-height: 0; padding: 8px 12px 0; }
  .paper-folding .fold-model[data-fold-mode="single"] .fold-step-copy { padding: 20px; }
  .paper-folding .fold-controls { gap: 9px; }
  .paper-folding .fold-controls button { padding: 10px 13px; }
}
