/* Full-width home section; source artwork defines each item's proportions. */
.portfolio-home .hp-digital{width:100%;max-width:none;margin:70px 0 0;padding:70px 0 0;background:transparent;scroll-margin-top:28px}
.hp-digital .hp-digital-heading{align-items:flex-end;margin-bottom:32px}
.hp-digital .hp-digital-heading h2{font-family:'Fine Matter Display',Georgia,serif;font-size:clamp(40px,4.8vw,72px);font-weight:450;letter-spacing:-.025em;line-height:1.08;margin-top:18px}
.hp-digital .hp-digital-heading p{font-size:15px;max-width:300px}
.dg-selector{display:flex;flex-wrap:wrap;gap:8px 25px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--hp-line)}
.dg-selector button{border:0;border-bottom:1px solid transparent;background:transparent;padding:7px 0;color:var(--hp-muted);font-size:14px;line-height:1.5}
.dg-selector button[aria-pressed=true]{color:var(--hp-ink);border-bottom-color:currentColor}
.dg-selector button:hover{color:var(--hp-ink)}
.dg-selector button:focus-visible{outline-offset:3px}
.dg-meta{display:flex;justify-content:space-between;gap:25px;align-items:baseline;margin-bottom:24px;font-size:13px;color:var(--hp-muted)}
.dg-meta strong{color:var(--hp-ink);font-size:17px;font-weight:500}
.dg-stage{min-width:0;width:100%}
.dg-item{width:min(100%,var(--art-width,1440px));margin-inline:auto!important}
.dg-item>a{display:block}
.portfolio-home .dg-item img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:initial;background:transparent}
.dg-item figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:16px;font-size:13px;color:var(--hp-muted)}
.dg-item figcaption a{min-height:32px;display:inline-flex;align-items:center;border-bottom:1px solid var(--hp-line);white-space:nowrap}
.dg-item.dg-enter{animation:dg-appear .23s ease-out}
@keyframes dg-appear{from{opacity:.35}to{opacity:1}}
@media(max-width:700px){.portfolio-home .hp-digital{margin-top:45px;padding-top:45px}.hp-digital .hp-digital-heading{display:block}.hp-digital .hp-digital-heading p{margin-top:18px;max-width:none;font-size:14px}.dg-selector{gap:6px 20px;margin-bottom:20px}.dg-selector button{font-size:13px}.dg-meta{gap:15px;align-items:flex-start;font-size:12px}.dg-meta strong{font-size:16px}.dg-item figcaption{font-size:12px;gap:14px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.dg-item.dg-enter{animation:none}}

/* Compact viewer within the same full content width as the project blocks. */
.portfolio-home .hp-digital{margin-top:48px;padding-top:30px}
.hp-digital .hp-digital-heading{margin-bottom:20px}
.hp-digital .hp-digital-heading h2{font-size:36px;line-height:1.15;margin-top:10px}
.hp-digital .hp-digital-heading p{font-size:13px}
.dg-selector{gap:6px 22px;margin-bottom:16px;padding-bottom:12px}
.dg-meta{margin-bottom:16px}
.dg-meta strong{font-size:15px}
.hp-digital .dg-item{width:100%;max-width:none}
.portfolio-home .dg-item img{width:auto;height:auto;max-width:100%;max-height:360px;margin-inline:auto}
.dg-item figcaption{padding-top:12px}
@media(max-width:700px){.portfolio-home .hp-digital{margin-top:38px;padding-top:20px}.hp-digital .hp-digital-heading h2{font-size:30px}.hp-digital .hp-digital-heading p{margin-top:12px}.portfolio-home .dg-item img{max-height:300px}.dg-selector{gap:4px 16px}.dg-meta{margin-bottom:14px}}

/* Long email is readable at its own width and expands the viewer naturally. */
.hp-digital .dg-item[data-digital-email]{width:min(100%,320px);margin-inline:auto}
.portfolio-home .dg-item[data-digital-email] img{width:100%;height:auto;max-height:none;max-width:100%}

/* Scroll gallery: each source is one page; viewer height follows that page. */
.dg-stage{display:flex;align-items:flex-start;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#aaa69e transparent;transition:height .25s ease;overscroll-behavior-x:contain}
.hp-digital .dg-stage .dg-item,.hp-digital .dg-stage .dg-item[data-digital-email]{flex:0 0 100%;width:100%;max-width:none;min-width:0;scroll-snap-align:start;scroll-snap-stop:normal}
.portfolio-home .dg-stage .dg-item[data-digital-email] img{width:320px;max-width:100%;height:auto;max-height:none}
.dg-scroll-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px}
.dg-scroll-tools>span{font-size:12px;color:var(--hp-muted);margin-right:auto}
.dg-scroll-tools button{width:40px;height:40px;border:1px solid var(--hp-line);border-radius:50%;background:transparent;color:var(--hp-ink);font-size:20px}
.dg-scroll-tools button:disabled{opacity:.3}
.dg-scroll-tools button:hover:not(:disabled){background:var(--hp-ink);color:white}
.dg-meta{margin-bottom:20px}
@media(prefers-reduced-motion:reduce){.dg-stage{transition:none;scroll-behavior:auto}}

/* Carousel: swipe/keyboard/arrows, without a native scroll bar. */
.dg-stage{scrollbar-width:none}
.dg-stage::-webkit-scrollbar{display:none}
