
/* Premium portfolio: quiet editorial presentation, no collages and no oversized image hero. */
.dp-page{background:#f8f9fb;color:#17243a}
.dp-page .site-wrap{width:min(1260px,calc(100% - 76px))}
.dp-intro{padding:94px 0 78px;background:linear-gradient(135deg,#122039 0%,#1b2d4c 100%);color:#f7f8fb}
.dp-intro-inner{max-width:1260px}
.dp-eyebrow,.dp-section-kicker{font-size:11px;letter-spacing:.22em;font-weight:850}
.dp-eyebrow{display:flex;align-items:center;gap:13px;color:#c5d1de}
.dp-eyebrow-line{width:30px;height:1px;background:#ddc78e}
.dp-eyebrow-sep{color:#cfba7c}
.dp-intro h1{font-size:clamp(57px,7.1vw,115px);line-height:.95;font-weight:780;letter-spacing:-.075em;margin:30px 0 25px;max-width:980px;text-wrap:balance}
.dp-intro h1 em{font-style:normal;color:#d4dfaa}
.dp-intro p{max-width:620px;color:#ced7e1;font-size:17px;line-height:1.85}
.dp-intro-footer{margin-top:62px;border-top:1px solid #53647b;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.dp-intro-footer span{color:#b7c5d4;font-size:11px;letter-spacing:.18em;font-weight:800}
.dp-intro-footer i{display:inline-block;width:3px;height:3px;background:#ddc78e;border-radius:100%;vertical-align:middle;margin:0 10px}
.dp-intro-footer a{font-weight:800;color:#e7eeba;font-size:13px}
.dp-browser-section{padding:63px 0 105px;background:#f8f9fb}
.dp-context-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid #dce2eb;padding-bottom:36px;margin-bottom:53px}
.dp-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:45px;color:#66778d;font-size:12px}
.dp-crumbs button{border:0;background:transparent;padding:5px 0;color:#314a6a;font-size:12px;font-weight:750}
.dp-crumbs button:hover{text-decoration:underline}
.dp-crumbs .dp-current{color:#1a2941;font-weight:850}
.dp-search-box{width:min(440px,100%)}
.dp-search-label{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:850;color:#596e83;margin-bottom:9px}
.dp-search-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #d0dbe7;border-radius:12px;padding:0 14px;background:#fff;color:#45617d}
.dp-search-input-wrap input{width:100%;height:46px;border:0;outline:0;background:transparent;font-size:13px;color:#15243e}
.dp-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:31px}
.dp-section-kicker{color:#697c92;margin-bottom:15px}
.dp-head h2{margin:0;font-size:clamp(37px,4.5vw,67px);line-height:1.05;letter-spacing:-.067em;color:#14233e}
.dp-head p{max-width:700px;margin:18px 0 0;color:#66778b;font-size:14px;line-height:1.8}
.dp-count{white-space:nowrap;font-size:12px;letter-spacing:.09em;color:#526785;font-weight:800;background:#edf1f6;border:1px solid #e1e7ef;padding:12px 16px;border-radius:999px}
.dp-section-label{font-size:11px;letter-spacing:.18em;font-weight:850;color:#77879b;text-transform:uppercase;margin:38px 0 20px}
.dp-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dp-folder-card{cursor:pointer;width:100%;background:#fff;border:1px solid #dce4ee;border-radius:18px;min-height:226px;text-align:left;padding:28px 26px 22px;color:#17243a;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dp-folder-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(15,31,57,.11);border-color:#b2bfd2}
.dp-folder-card:focus-visible,.dp-media-card:focus-visible{outline:3px solid #65ac8b;outline-offset:3px}
.dp-folder-top{display:flex;justify-content:space-between;align-items:center;color:#8290a1;font-weight:800;font-size:11px;letter-spacing:.15em}
.dp-folder-rule{height:1px;width:46px;background:#c0ac80;margin:17px 0 15px}
.dp-folder-title{font-size:clamp(19px,2.2vw,27px);line-height:1.15;letter-spacing:-.045em;font-weight:750;overflow-wrap:anywhere}
.dp-folder-sub{color:#748297;font-size:12px;margin-top:12px;line-height:1.6}
.dp-folder-foot{margin-top:auto;padding-top:24px;border-top:1px solid #e9edf2;display:flex;align-items:center;justify-content:space-between;color:#335376;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.dp-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dp-media-card{width:100%;text-align:left;padding:0;border:1px solid #dee6ef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 30px rgba(16,34,59,.05);transition:transform .22s,box-shadow .22s}
.dp-media-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,34,59,.1)}
.dp-media-visual{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#e9eef4,#f3f5f8);display:grid;place-items:center;overflow:hidden}
.dp-media-visual img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .28s}
.dp-media-card:hover img{transform:scale(1.025)}
.dp-media-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#344d6e;font-size:18px;font-weight:700;letter-spacing:.16em;background:linear-gradient(120deg,#eef1f5,#e4e9f0)}
.dp-media-type{position:absolute;left:13px;top:13px;border-radius:999px;background:rgba(20,33,54,.86);color:#fff;padding:8px 11px;font-size:10px;letter-spacing:.12em;font-weight:850;text-transform:uppercase}
.dp-media-meta{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;padding:19px 20px 23px;min-height:94px}
.dp-media-meta strong{display:block;color:#1c2d47;font-size:15px;line-height:1.45;overflow-wrap:anywhere;max-width:95%}
.dp-media-meta small{display:block;font-size:11px;color:#77869b;margin-top:6px;overflow-wrap:anywhere}
.dp-media-meta .dp-arrow{font-size:21px;color:#6e8197}
.dp-filters{display:flex;gap:8px;margin:0 0 30px;flex-wrap:wrap}
.dp-filter{border:1px solid #d6dee8;border-radius:999px;padding:9px 15px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;background:#fff;color:#415574}
.dp-filter.is-active,.dp-filter:hover{background:#1c304e;color:#fff;border-color:#1c304e}
.dp-show-more{display:block;margin:39px auto 0;border:1px solid #c9d4e1;border-radius:999px;padding:14px 24px;font-weight:800;color:#213a5b;background:#fff}
.dp-show-more:hover{background:#eaf0f8}
.dp-state{padding:58px 26px;background:#fff;border:1px solid #dce4ee;border-radius:18px;font-size:15px;color:#667990;text-align:center}
.dp-notice{margin-top:54px;padding:20px 23px;background:#eef3f8;border-left:3px solid #b9a375;border-radius:0 12px 12px 0;color:#50657d;line-height:1.75;font-size:13px}
.dp-notice strong{color:#263c59}
.dp-outro{padding:92px 0 96px;background:#172841;color:#f6f8fb}
.dp-outro-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.dp-outro span{display:block;color:#b6c4d2;font-weight:800;font-size:11px;letter-spacing:.17em}
.dp-outro h2{font-size:clamp(39px,4.2vw,70px);line-height:1.04;letter-spacing:-.065em;margin:23px 0 0}
.dp-outro h2 em{font-style:normal;color:#d9e7ac}
.dp-outro-link{display:flex;gap:40px;align-items:center;background:#d4e5a8;color:#17304b;padding:19px 24px;border-radius:3px;font-weight:850;font-size:13px;white-space:nowrap}
.dp-lightbox[hidden]{display:none}
.dp-lightbox{position:fixed;inset:0;z-index:999;background:rgba(9,17,31,.93);padding:18px;display:grid;place-items:center}
.dp-lightbox-panel{width:min(1240px,100%);max-height:96vh;background:#111e33;border:1px solid #405069;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.dp-lightbox-top,.dp-lightbox-bottom{padding:14px 18px;display:flex;justify-content:space-between;align-items:center;color:#d6dfeb;gap:18px;font-size:13px}
.dp-lightbox-top strong{overflow-wrap:anywhere}
.dp-lightbox-top button{border:1px solid #526078;border-radius:999px;padding:8px 13px;background:#182b49;color:#fff;font-size:12px}
.dp-lightbox-display{min-height:130px;overflow:auto;display:grid;place-items:center;background:#0c1729}
.dp-lightbox-display img{max-width:100%;max-height:75vh;width:auto;height:auto;object-fit:contain}
.dp-lightbox-display iframe{width:min(1110px,96vw);height:min(76vh,750px);border:0;background:#111}
.dp-lightbox-bottom a{color:#d6e3a0;text-decoration:underline}
.dp-lightbox-bottom span{font-size:12px;color:#b8c7d9}
@media(max-width:1050px){.dp-category-grid,.dp-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dp-page .site-wrap{width:calc(100% - 36px)}.dp-intro{padding:62px 0}.dp-intro h1{font-size:clamp(47px,11vw,78px)}.dp-intro-footer{flex-direction:column;align-items:flex-start;gap:12px;margin-top:45px}.dp-browser-section{padding:36px 0 65px}.dp-context-header{flex-direction:column;gap:19px;margin-bottom:34px}.dp-search-box{width:100%}.dp-head{align-items:start;flex-direction:column}.dp-count{align-self:flex-start}.dp-category-grid,.dp-media-grid{grid-template-columns:1fr}.dp-folder-card{min-height:190px}.dp-outro-grid{align-items:flex-start;flex-direction:column}.dp-lightbox{padding:8px}.dp-lightbox-display iframe{width:96vw;height:67vh}}
@media(prefers-reduced-motion:reduce){.dp-folder-card,.dp-media-card,.dp-media-visual img{transition:none!important}}


.dp-folder-card{overflow:hidden}
.dp-folder-card.has-cover{padding-top:0}
.dp-folder-visual{margin:0 -26px 18px;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#e7ebf0,#dfe5ec)}
.dp-folder-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.dp-folder-card:hover .dp-folder-visual img{transform:scale(1.03)}
.dp-folder-visual.is-empty,.dp-folder-visual-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#40546d;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.dp-video-player{width:min(100%,1600px);max-height:80vh;background:#000;display:block}
.dp-lightbox-display iframe{width:min(1600px,96vw);height:min(80vh,900px);border:0;background:#111}
.media-slot.has-media{position:relative;overflow:hidden;justify-content:flex-end;align-items:flex-start;padding:0;border-style:solid;border-color:#d6dfeb;background:#0e1a2e;color:#fff}
.media-slot.has-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-slot.has-media:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,14,25,.78));z-index:0}
.media-slot.has-media .media-slot-copy{position:relative;z-index:1;padding:18px}
.media-slot.has-media span,.media-slot.has-media small,.media-slot.has-media strong{color:#fff}
.media-slot.has-media small{font-size:12px;color:#d2dae7}
