.dc-scope{position:relative;font-family:var(--dh-font-body);color:var(--dh-ink)}
.dc-blobs{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.dc-blob{position:absolute;border-radius:50%}
.dc-bl1{top:-120px;left:-80px;width:460px;height:460px;background:rgba(255,140,160,.2);filter:blur(70px);animation:dh-floatA 18s ease-in-out infinite}
.dc-bl2{top:380px;right:-120px;width:520px;height:520px;background:rgba(196,176,255,.2);filter:blur(80px);animation:dh-floatB 22s ease-in-out infinite}
.dc-bl3{bottom:-140px;left:30%;width:420px;height:420px;background:rgba(255,140,160,.16);filter:blur(75px);animation:dh-floatC 20s ease-in-out infinite}
.dc-section{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:30px 24px 70px}
.dc-head{text-align:center;max-width:680px;margin:18px auto 34px}
.dc-eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(139,114,224,.12);color:var(--dh-purple);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.dc-title{font-family:var(--dh-font-head);font-weight:700;font-size:clamp(34px,6vw,56px);line-height:1.02;margin:0 0 14px;letter-spacing:-.02em;color:var(--dh-ink)}
.dc-sub{font-size:clamp(15px,2.2vw,17px);line-height:1.6;color:var(--dh-muted);margin:0}
.dc-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:30px}
.dc-pill{padding:10px 18px;border-radius:999px;font-family:var(--dh-font-body);font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .22s;border:1px solid rgba(190,120,120,.18);background:rgba(255,255,255,.55);backdrop-filter:blur(10px);color:var(--dh-muted)}
.dc-pill.is-active{background:linear-gradient(135deg,var(--dh-pink),var(--dh-pink-2));color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(255,92,114,.3)}
.dc-sortbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 18px;border-bottom:1px solid rgba(190,120,120,.16);margin-bottom:28px}
.dc-count{font-size:14px;font-weight:600;color:var(--dh-muted)}
.dc-count b{color:var(--dh-ink);font-weight:700}
.dc-sortwrap{display:flex;align-items:center;gap:10px}
.dc-sortlabel{font-size:13.5px;font-weight:600;color:var(--dh-muted)}
.dc-selectwrap{position:relative}
.dc-select{appearance:none;-webkit-appearance:none;padding:9px 38px 9px 16px;border-radius:999px;border:1px solid rgba(190,120,120,.2);background:rgba(255,255,255,.65);backdrop-filter:blur(10px);font-family:var(--dh-font-body);font-size:13.5px;font-weight:600;color:var(--dh-ink);cursor:pointer}
.dc-selectwrap:after{content:"▾";position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--dh-muted);font-size:11px}
.dc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:24px}
.dc-card{position:relative;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(190,120,120,.1);border:1px solid rgba(255,255,255,.7);transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s;display:flex;flex-direction:column}
.dc-card:hover{transform:translateY(-7px);box-shadow:0 26px 56px rgba(190,120,120,.2)}
.dc-card-media{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;text-decoration:none}
.dc-card-hatch{position:absolute;inset:0;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.35) 0 1px,transparent 1px 13px);opacity:.5}
.dc-ph{position:relative;font-family:var(--dh-font-body);font-size:11px;font-weight:700;letter-spacing:.18em;color:rgba(34,27,24,.34)}
.dc-img{width:100%;height:100%;object-fit:cover;display:block}
