:root {
  --dmp-accent: #e94f8b;
  --dmp-accent-dark: #c93670;
  --dmp-ink: #171417;
  --dmp-muted: #706970;
  --dmp-line: #eadde3;
  --dmp-soft: #fff7fa;
  --dmp-white: #fff;
  --dmp-shadow: 0 24px 70px rgba(37, 25, 31, .12);
}

.dmp-wrap,
.dmp-single,
.dmp-taxonomy-page { color: var(--dmp-ink); }

.dmp-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.dmp-kicker { margin: 0 0 14px; color: var(--dmp-accent-dark); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.dmp-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border: 0; border-radius: 2px; background: var(--dmp-accent); color: #fff !important; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-decoration: none !important; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.dmp-button:hover { background: var(--dmp-accent-dark); transform: translateY(-2px); }

.dmp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 30px; padding: 18px 20px; border: 1px solid var(--dmp-line); background: rgba(255,255,255,.72); }
.dmp-toolbar p { margin: 0; color: var(--dmp-muted); }
.dmp-toolbar .dmp-button { min-height: 42px; white-space: nowrap; }
.dmp-results > p { color: var(--dmp-muted); }
.dmp-empty { padding: 56px; border: 1px solid var(--dmp-line); background: #fff; text-align: center; }
.dmp-empty h3 { margin: 0 0 10px; font-family: Georgia, 'Times New Roman', serif; font-size: 32px; font-weight: 400; }
.dmp-empty p { max-width: 580px; margin: 0 auto 24px; color: var(--dmp-muted); }

.dmp-grid { display: grid; gap: 18px; }
.dmp-grid.dmp-cols-1 { grid-template-columns: 1fr; }
.dmp-grid.dmp-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dmp-grid.dmp-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dmp-grid.dmp-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dmp-grid.dmp-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dmp-grid.dmp-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dmp-card { position: relative; display: block; overflow: hidden; border: 1px solid rgba(233,79,139,.22); background: #fff; color: var(--dmp-ink) !important; box-shadow: 0 14px 38px rgba(52,31,40,.1); text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease; }
.dmp-card:hover { transform: translateY(-6px); box-shadow: var(--dmp-shadow); }
.dmp-card-media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: linear-gradient(135deg,#f8dfe9,#f3eef0); }
.dmp-card-media-inner { position: absolute; inset: 0; background-position: center top; background-size: cover; transition: transform .45s ease; }
.dmp-card:hover .dmp-card-media-inner { transform: scale(1.035); }
.dmp-card-bottom { position: absolute; right: 0; bottom: 0; left: 0; padding: 42px 18px 17px; background: linear-gradient(transparent,rgba(22,14,18,.92)); color: #fff; }
.dmp-card-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.dmp-name { font-family: Georgia, 'Times New Roman', serif; font-size: 27px; line-height: 1; }
.dmp-status { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; white-space: nowrap; }
.dmp-dot { width: 7px; height: 7px; border-radius: 50%; background: #f0a846; }
.dmp-status.is-available .dmp-dot { background: #64d5a2; }
.dmp-pillrow { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.dmp-pill { padding: 5px 8px; border: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.9); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.dmp-nav { position: absolute; z-index: 2; top: 50%; display: none; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(24,17,20,.45); color: #fff; font-size: 24px; cursor: pointer; }
.dmp-card:hover .dmp-nav,.dmp-hero .dmp-nav { display: flex; }
.dmp-prev { left: 13px; }.dmp-next { right: 13px; }
.dmp-dots { position: absolute; z-index: 2; right: 0; bottom: 12px; left: 0; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
.dmp-dots span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.48); }.dmp-dots span.is-active { width: 22px; border-radius: 8px; background: var(--dmp-accent); }

.dmp-profile-hero { padding: 86px 0 72px; background: linear-gradient(115deg,rgba(233,79,139,.96),rgba(196,54,111,.86)),radial-gradient(circle at 75% 20%,#f8b7d0,transparent 38%); color: #fff; text-align: center; }
.dmp-profile-heading h1 { margin: 0 0 22px; color: #fff; font-family: Georgia,'Times New Roman',serif; font-size: clamp(52px,8vw,96px); font-weight: 400; line-height: .95; }
.dmp-profile-heading .dmp-kicker { color: rgba(255,255,255,.82); }
.dmp-profile-heading .dmp-status { padding: 8px 13px; border: 1px solid rgba(255,255,255,.38); }
.dmp-profile-intro { padding: 82px 0 96px; background: #fff; }
.dmp-back { display: inline-block; margin-bottom: 28px; color: var(--dmp-accent-dark) !important; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-decoration: none !important; }
.dmp-single-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); gap: clamp(42px,7vw,88px); align-items: center; }
.dmp-hero { position: relative; overflow: hidden; aspect-ratio: 4/5; background: #f5e9ee; box-shadow: var(--dmp-shadow); }
.dmp-profile-copy h2,.dmp-profile-details h2,.dmp-gallery-section h2 { margin: 0 0 24px; font-family: Georgia,'Times New Roman',serif; font-size: clamp(38px,5vw,62px); font-weight: 400; line-height: 1.05; }
.dmp-desc { color: var(--dmp-muted); font-size: 17px; line-height: 1.8; }.dmp-desc p:last-child { margin-bottom: 0; }.dmp-profile-copy .dmp-button { margin-top: 24px; }
.dmp-profile-details { padding: 92px 0; background: var(--dmp-soft); }
.dmp-details-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(42px,8vw,100px); }
.dmp-profile-excerpt { color: var(--dmp-muted); font-size: 17px; line-height: 1.8; }
.dmp-profile-details h3 { margin: 36px 0 14px; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.dmp-chips { display: flex; flex-wrap: wrap; gap: 8px; }.dmp-chip { padding: 8px 12px; border: 1px solid #e5cbd6; background: #fff; color: var(--dmp-ink) !important; font-size: 12px; text-decoration: none !important; }
.dmp-facts { padding: 36px; border: 1px solid var(--dmp-line); background: #fff; box-shadow: 0 18px 50px rgba(37,25,31,.08); }
.dmp-facts h2 { margin-bottom: 18px; font-size: 34px; }.dmp-facts table { width: 100%; border-collapse: collapse; }.dmp-facts th,.dmp-facts td { padding: 13px 0; border-bottom: 1px solid var(--dmp-line); font-size: 14px; text-align: left; }.dmp-facts th { color: var(--dmp-muted); font-weight: 500; }.dmp-facts td { font-weight: 700; text-align: right; }
.dmp-discretion { margin: 20px 0 0; color: var(--dmp-muted); font-size: 12px; line-height: 1.6; }
.dmp-gallery-section { position: relative; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); padding: 96px 0; background: linear-gradient(135deg,#241d21,#171417); color: #fff; }.dmp-gallery-section .dmp-kicker { color: #f48ab2; }.dmp-gallery-section h2 { color: #fff; }.dmp-gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.dmp-gallery-grid figure { overflow: hidden; aspect-ratio: 4/5; margin: 0; background: #33282d; }.dmp-gallery-item { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; padding: 0; border: 0; background: transparent; color: #fff; cursor: zoom-in; }.dmp-gallery-grid img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease,filter .35s ease; }.dmp-gallery-item:hover img,.dmp-gallery-item:focus-visible img { transform: scale(1.045); filter: brightness(.82); }.dmp-gallery-item:focus-visible { outline: 3px solid var(--dmp-accent); outline-offset: -3px; }.dmp-gallery-zoom { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: rgba(18,13,16,.68); color: #fff; font-size: 28px; font-weight: 300; line-height: 1; opacity: 0; transform: translateY(8px); transition: opacity .25s ease,transform .25s ease,background .25s ease; }.dmp-gallery-item:hover .dmp-gallery-zoom,.dmp-gallery-item:focus-visible .dmp-gallery-zoom { opacity: 1; transform: translateY(0); }.dmp-gallery-cta { margin-top: 34px; text-align: center; }

.dmp-lightbox-open,.dmp-lightbox-open body { overflow: hidden; }.dmp-lightbox { position: fixed; z-index: 9999999; inset: 0; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .22s ease,visibility .22s ease; }.dmp-lightbox.is-open { visibility: visible; opacity: 1; }.dmp-lightbox-backdrop { position: absolute; inset: 0; background: rgba(10,7,9,.96); cursor: zoom-out; }.dmp-lightbox-dialog { position: relative; z-index: 1; display: grid; grid-template-columns: 56px minmax(0,1fr) 56px; align-items: center; width: min(1500px,calc(100vw - 48px)); height: min(920px,calc(100vh - 48px)); outline: none; }.dmp-lightbox-stage { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; overflow: auto; overscroll-behavior: contain; scrollbar-color: var(--dmp-accent) rgba(255,255,255,.08); }.dmp-lightbox-image { display: block; max-width: 100%; max-height: calc(100vh - 120px); margin: auto; object-fit: contain; cursor: zoom-in; user-select: none; -webkit-user-drag: none; transition: width .2s ease; }.dmp-lightbox-stage.is-zoomed { align-items: flex-start; justify-content: flex-start; }.dmp-lightbox-stage.is-zoomed .dmp-lightbox-image { width: 160%; max-width: none; max-height: none; cursor: zoom-out; }.dmp-lightbox-caption { position: sticky; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 18px; margin-top: -44px; padding: 12px 16px; background: linear-gradient(transparent,rgba(0,0,0,.78)); color: rgba(255,255,255,.9); font-size: 13px; pointer-events: none; }.dmp-lightbox-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dmp-lightbox-close,.dmp-lightbox-zoom-toggle,.dmp-lightbox-nav { position: relative; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(24,17,20,.72); color: #fff; cursor: pointer; transition: background .2s ease,border-color .2s ease,transform .2s ease; }.dmp-lightbox-close:hover,.dmp-lightbox-zoom-toggle:hover,.dmp-lightbox-nav:hover,.dmp-lightbox-close:focus-visible,.dmp-lightbox-zoom-toggle:focus-visible,.dmp-lightbox-nav:focus-visible { border-color: #fff; background: var(--dmp-accent); outline: none; }.dmp-lightbox-nav { width: 48px; height: 48px; font-size: 34px; line-height: 1; }.dmp-lightbox-prev { justify-self: start; }.dmp-lightbox-next { justify-self: end; }.dmp-lightbox-close { position: absolute; z-index: 3; top: 0; right: 0; width: 48px; height: 48px; font-size: 31px; }.dmp-lightbox-zoom-toggle { position: absolute; z-index: 3; right: 58px; top: 0; width: 48px; height: 48px; font-size: 27px; }
.dmp-term-description { max-width: 720px; margin: 0 0 38px; color: var(--dmp-muted); font-size: 17px; line-height: 1.8; }

.dmp-filter-overlay { position: fixed; z-index: 999999; inset: 0; display: none; justify-content: flex-end; background: rgba(23,20,23,.62); }.dmp-filter-overlay.is-open { display: flex; }.dmp-no-scroll { overflow: hidden; }.dmp-filter-drawer { width: min(460px,100%); height: 100%; overflow-y: auto; background: #fff; box-shadow: -20px 0 60px rgba(0,0,0,.2); }.dmp-filter-header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 25px 28px; border-bottom: 1px solid var(--dmp-line); background: #fff; }.dmp-filter-title { font-family: Georgia,'Times New Roman',serif; font-size: 32px; }.dmp-filter-close { width: 42px; height: 42px; border: 1px solid var(--dmp-line); background: #fff; font-size: 27px; cursor: pointer; }.dmp-filter-body { padding: 26px 28px 40px; }.dmp-filter-group { margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid var(--dmp-line); }.dmp-filter-label { margin-bottom: 12px; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.dmp-filter-row,.dmp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.dmp-filter-row select,.dmp-filter-drawer select { width: 100%; height: 46px; border: 1px solid var(--dmp-line); border-radius: 0; background: #fff; }.dmp-range-values { display: flex; justify-content: space-between; margin-top: 9px; color: var(--dmp-muted); font-size: 12px; }.dmp-filter-drawer input[type=range] { width: 100%; accent-color: var(--dmp-accent); }.dmp-filter-actions { display: grid; gap: 10px; }.dmp-btn { min-height: 48px; border: 0; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }.dmp-btn-primary { background: var(--dmp-accent); color: #fff; }.dmp-btn-ghost { border: 1px solid var(--dmp-line); background: #fff; color: var(--dmp-ink); }

@media (max-width: 1100px) { .dmp-grid.dmp-cols-4,.dmp-grid.dmp-cols-5,.dmp-grid.dmp-cols-6 { grid-template-columns: repeat(3,minmax(0,1fr)); }.dmp-gallery-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 820px) { .dmp-container { width: min(100% - 32px,1180px); }.dmp-grid.dmp-cols-3,.dmp-grid.dmp-cols-4,.dmp-grid.dmp-cols-5,.dmp-grid.dmp-cols-6 { grid-template-columns: repeat(2,minmax(0,1fr)); }.dmp-single-grid,.dmp-details-grid { grid-template-columns: 1fr; }.dmp-profile-intro,.dmp-profile-details,.dmp-gallery-section { padding: 64px 0; }.dmp-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .dmp-toolbar { align-items: stretch; flex-direction: column; }.dmp-grid { grid-template-columns: 1fr !important; }.dmp-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }.dmp-gallery-zoom { right: 8px; bottom: 8px; width: 36px; height: 36px; opacity: 1; transform: none; }.dmp-facts { padding: 25px 20px; }.dmp-profile-hero { padding: 62px 0 52px; }.dmp-card .dmp-nav { display: none; }.dmp-lightbox { padding: 8px; }.dmp-lightbox-dialog { grid-template-columns: 42px minmax(0,1fr) 42px; width: calc(100vw - 16px); height: calc(100vh - 16px); }.dmp-lightbox-nav { width: 38px; height: 38px; font-size: 28px; }.dmp-lightbox-close,.dmp-lightbox-zoom-toggle { top: 8px; width: 42px; height: 42px; }.dmp-lightbox-close { right: 8px; }.dmp-lightbox-zoom-toggle { right: 58px; }.dmp-lightbox-image { max-height: calc(100vh - 82px); }.dmp-lightbox-stage.is-zoomed .dmp-lightbox-image { width: 220%; }.dmp-lightbox-caption { font-size: 11px; } }
@media (prefers-reduced-motion: reduce) { .dmp-lightbox,.dmp-lightbox-image,.dmp-gallery-grid img,.dmp-gallery-zoom { transition: none; } }
