/* Typed portfolio. Native media controls have no overlay above them. */
.portfolio-v75{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:24px}
.portfolio-v75 .portfolio-card{flex:1 1 440px;width:100%;max-width:600px;min-width:0;overflow:hidden;border:1px solid #ffffff24;border-radius:22px;background:#11201ae0;box-shadow:0 12px 32px #0002;position:relative}
.portfolio-v75 .portfolio-card.ratio-portrait{flex:0 1 350px;max-width:350px}
.portfolio-v75 .work-media{height:auto;max-height:none;width:100%;aspect-ratio:var(--media-ratio,16 / 9);position:relative;background:#090e0c;overflow:hidden}
.portfolio-v75 .work-media img,.portfolio-v75 .work-media video{width:100%;height:100%;max-height:none;object-fit:contain;position:absolute;inset:0;display:block}
.portfolio-v75 .work-media video{touch-action:auto;background:#050807}
.portfolio-v75 audio{width:calc(100% - 28px);display:block;margin:14px}
.portfolio-v75 .website-cover{display:block;position:relative;isolation:isolate;color:inherit}
.portfolio-v75 .website-cover .work-media{aspect-ratio:4 / 5;max-height:none}
.portfolio-v75 .website-cover .work-media img{object-fit:cover;object-position:top}
.portfolio-v75 .website-caption{position:absolute;bottom:14px;inset-inline:14px;padding:16px 18px;background:#0c1c17eb;border:1px solid #ffffff38;border-radius:16px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .2s}
.portfolio-v75 .website-cover:hover .website-caption{background:#173024f5}
.portfolio-v75 .website-caption h3{font-size:21px;line-height:1.7;margin:4px 0 8px}
.portfolio-v75 .website-caption p{font-size:13px;line-height:1.9;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.portfolio-v75 .website-visit{display:inline-flex;align-items:center;gap:10px;color:#cef37c;margin-top:12px;font-size:13px;font-weight:750}
.portfolio-v75 .website-cover small{color:#c4d8b0}
.portfolio-v75 .portfolio-info{position:relative;background:linear-gradient(130deg,#1c352add,#13241de8);border-top:1px solid #ffffff26;padding:0 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.portfolio-v75 .portfolio-info-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;color:inherit;background:transparent;border:0;text-align:right;padding:16px 0;cursor:pointer}
.portfolio-v75 .portfolio-info-toggle>span:first-child{min-width:0;flex:1}
.portfolio-v75 .portfolio-info-toggle h3{font-size:19px;margin:4px 0 0;transition:font-size .25s}
.portfolio-v75 .portfolio-info-toggle small{font-size:11px;color:#b5c99e}
.portfolio-v75 .info-indicator{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:#c9e8ae}
.portfolio-v75 .info-indicator i{transition:transform .25s}
.portfolio-v75 .portfolio-details{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .3s ease,opacity .25s ease}
.portfolio-v75 .portfolio-details>div{min-height:0;overflow:hidden}
.portfolio-v75 .portfolio-details p{font-size:13px;line-height:2;margin:0 0 12px;overflow-wrap:anywhere}
.portfolio-v75 .portfolio-long-description{color:#a8b9ae}
.portfolio-v75 .portfolio-order{display:inline-flex;align-items:center;gap:10px;color:#d2f49c;font-size:12px;margin-bottom:18px}
.portfolio-v75 .details-collapsed .portfolio-details{grid-template-rows:0fr;opacity:0}
.portfolio-v75 .details-collapsed .portfolio-info-toggle{padding:10px 0}
.portfolio-v75 .details-collapsed .portfolio-info-toggle h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portfolio-v75 .details-collapsed .portfolio-info-toggle small{display:none}
.portfolio-v75 .details-collapsed .info-indicator{flex-direction:row;font-size:11px}
.portfolio-v75 .details-collapsed .info-indicator i{transform:rotate(180deg)}
.portfolio-v75 .gallery-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px;background:#0d1b15}
.portfolio-v75 .gallery-controls button{width:44px;height:44px;display:grid;place-items:center;background:#ffffff0c;border:1px solid #ffffff29;border-radius:50%;color:#d4edb7}
.portfolio-v75 .gallery-controls span{min-width:60px;text-align:center;font-size:12px}
.portfolio-v75 .portfolio-media-error{padding:12px 16px;color:#f5b9b2;font-size:13px;background:#391f21}
.portfolio-v75 .media-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(ellipse at top,#36572e,#101b15);font-size:58px;color:#bee488}
.portfolio-filter{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 24px}.portfolio-filter button{background:#18281e;color:#dce8d6;border:1px solid #354a39;border-radius:30px;padding:8px 18px;font-size:12px}.portfolio-filter button[aria-pressed=true]{background:#c4f35b;color:#14200b;border-color:#c4f35b}
@media(max-width:600px){.portfolio-v75{gap:22px}.portfolio-v75 .portfolio-card,.portfolio-v75 .portfolio-card.ratio-portrait{flex:1 1 100%;max-width:100%}.portfolio-v75 .website-caption{padding:12px;inset-inline:10px;bottom:10px}.portfolio-v75 .website-caption h3{font-size:17px}.portfolio-v75 .portfolio-info-toggle h3{font-size:17px}.portfolio-v75 .portfolio-info{padding-inline:14px}.portfolio-v75 .website-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.portfolio-v75 *{transition:none!important}}
