.portfolio-page{max-width:1200px;margin:auto;padding:45px 6% 90px}
.portfolio-back{font-size:14px;text-decoration:underline;text-underline-offset:5px}
.portfolio-heading{margin:65px 0 35px}.portfolio-heading .eyebrow{margin-bottom:16px}
.portfolio-heading h1{font-size:clamp(36px,5vw,62px);margin:0;line-height:1.5}.portfolio-heading>p:last-child{font-size:18px;color:var(--muted)}
.portfolio-categories{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:16px}
.portfolio-categories a[aria-current]{border-bottom:2px solid var(--ink)}
.portfolio-notice{font-size:14px;color:#6e6c63;margin:25px 0}
.portfolio-gallery figure{margin:0}.portfolio-gallery img{display:block;max-width:100%;max-height:900px;width:auto;height:auto;margin:0 auto;background:#e8e6df}
.portfolio-gallery figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 0;font-size:13px;color:#6e6c63}.portfolio-gallery figcaption a{font:11px/2 Arial,sans-serif;text-decoration:underline}
.portfolio-end{margin-top:70px;border-top:1px solid var(--line);padding-top:35px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.portfolio-end .outline{font-size:16px}
@media(max-width:600px){.portfolio-page{padding:30px 7% 65px}.portfolio-heading{margin-top:45px}.portfolio-heading>p:last-child{font-size:16px}.portfolio-categories{font-size:14px;gap:20px}.portfolio-notice{font-size:13px}.portfolio-end{margin-top:40px}.portfolio-gallery img{max-height:none}}
.album-controls{margin-top:35px}.album-modes,.album-filters{display:flex;flex-wrap:wrap;gap:10px}.album-modes button,.album-filters button{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 22px;font:inherit;font-size:15px}.album-modes button[aria-pressed=true]{background:#363a32;color:#fff;border-color:#363a32}.album-filters{margin-top:18px}.album-filters button{border-radius:30px;padding:6px 16px;font-size:13px}.album-filters button[aria-pressed=true]{background:#e6e5dd;border-color:#9d9e91}.album-count{font-size:13px;color:var(--muted);margin:24px 0}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.album-card{display:block;text-align:left;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;min-width:0}.album-cover{position:relative;overflow:hidden;aspect-ratio:4/5;background:#e7e5dd}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.album-card:hover img{transform:scale(1.04)}.album-badge{position:absolute;right:12px;bottom:12px;background:#f6f5f1e8;padding:4px 10px;font-size:11px}.album-meta{display:block;font-size:12px;color:var(--muted);margin-top:16px}.album-title{display:block;font-size:21px;margin:4px 0}.album-enter{font-size:12px;color:#737566}.album-group+.album-group{margin-top:48px}.album-group-title{font-size:23px;margin-bottom:22px}.album-detail{scroll-margin-top:25px}.album-back{background:none;border:0;border-bottom:1px solid;padding:0 0 4px;cursor:pointer;color:var(--ink);font:inherit;font-size:14px}.album-detail-title{margin:25px 0 8px;font-size:32px}.album-detail-meta{font-size:13px;color:var(--muted);margin-bottom:25px}.album-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.album-photo{position:relative;padding:0;border:0;background:#e7e5dd;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}.album-photo img{display:block;width:100%;height:100%;object-fit:cover}.album-photo:first-child{grid-column:1/-1;aspect-ratio:16/10}.photo-expand{position:absolute;bottom:12px;right:12px;padding:5px 12px;background:#f6f5f1ed;color:#383b31;font-size:12px}.album-card:focus-visible,.album-photo:focus-visible{outline:2px solid #646c53;outline-offset:5px}
body.viewer-open{overflow:hidden}.photo-viewer{border:0;padding:22px;background:#171916;color:#fff;width:96vw;max-width:1500px;height:94dvh;max-height:94dvh;overflow:hidden}.photo-viewer::backdrop{background:#10110ff2}.photo-viewer[open]{display:flex;flex-direction:column}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.viewer-top p{font-size:14px;margin:0}.viewer-close,.viewer-arrow{border:1px solid #ffffff4d;background:#ffffff0a;color:#fff;cursor:pointer}.viewer-close{padding:9px 17px;font:inherit;font-size:14px}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.viewer-stage>img{height:100%;width:calc(100% - 120px);min-width:0;object-fit:contain;touch-action:pan-y pinch-zoom}.viewer-arrow{width:42px;height:52px;flex-shrink:0;font:32px Arial}.viewer-thumbs{display:flex;gap:10px;justify-content:center;overflow:auto;flex-shrink:0;padding:4px}.viewer-thumbs button{padding:0;border:2px solid transparent;background:transparent;opacity:.5;cursor:pointer}.viewer-thumbs button[aria-pressed=true]{border-color:#fff;opacity:1}.viewer-thumbs img{display:block;width:58px;height:44px;object-fit:cover}
@media(max-width:650px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.album-title{font-size:17px}.album-modes button{font-size:14px;padding:10px 17px}.album-photos{gap:12px}.album-detail-title{font-size:27px}.photo-viewer{padding:14px;width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0}.viewer-stage{position:relative;gap:0}.viewer-stage>img{width:100%}.viewer-arrow{position:absolute;z-index:1;background:#17191699;width:34px;height:46px}.viewer-arrow:last-child{right:0}.viewer-top p{font-size:12px}.viewer-thumbs{padding-bottom:max(4px,env(safe-area-inset-bottom))}.photo-expand{font-size:10px;bottom:6px;right:6px;padding:4px 7px}}
/* Soft raised filters; the active category is pressed into the paper. */
.album-modes{gap:16px;padding:8px 3px}
.album-modes button{border:1px solid transparent;border-radius:15px;background:var(--paper);color:#57594f;padding:13px 24px;box-shadow:6px 6px 12px #d9d8d1,-6px -6px 12px #fff;transition:box-shadow .2s ease,color .2s ease;min-height:48px}
.album-modes button:hover{color:#252b20;box-shadow:3px 3px 7px #d9d8d1,-3px -3px 7px #fff}
.album-modes button[aria-pressed=true]{background:var(--paper);color:#303b27;border-color:transparent;box-shadow:inset 4px 4px 8px #d7d6cf,inset -4px -4px 8px #fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.album-modes button:focus-visible{outline:2px solid #68745a;outline-offset:5px}
@media(max-width:650px){.album-modes{gap:12px}.album-modes button{font-size:13px;padding:12px 17px;border-radius:13px}}
@media(forced-colors:active){.album-modes button{border:1px solid ButtonText}.album-modes button[aria-pressed=true]{border:2px solid Highlight}}
