/* The Picture Drawer — custom design, no theme or framework. */
.gallery-cover{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;min-height:610px;padding-top:65px;padding-bottom:110px}
.gallery-cover-copy h1{font:800 clamp(61px,7.25vw,105px)/1.02 'DM Sans',system-ui,sans-serif;letter-spacing:-.087em;margin:28px 0}
.gallery-cover-copy h1 i{font:italic 600 .94em 'Fraunces',Georgia,serif;letter-spacing:-.075em;color:#bd755a}
.gallery-cover-copy h1 .period{font:800 .55em 'DM Sans',sans-serif;color:#d5916c;letter-spacing:0;margin-left:4px}
.gallery-cover-copy>p:not(.eyebrow){font-size:16px;line-height:1.86;color:#70736b;max-width:520px}
.gallery-cover-bottom{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}
.gallery-count{font:600 11px 'DM Mono',monospace;letter-spacing:.09em;padding:12px 17px;border:1px solid #b3afa5;border-radius:30px;background:#fffaf0}
.gallery-handnote{color:#b77e69;font-size:19px;transform:rotate(-6deg)}
.gallery-cover-art{height:440px;position:relative}
.gallery-cover-art:before{content:'';position:absolute;inset:26px 22px 12px 18px;background:#dde6d4;border-radius:53% 43% 60% 41%;transform:rotate(12deg)}
.gallery-cover-card{position:absolute;width:44%;height:83%;background:#fff;padding:9px 9px 28px;box-shadow:0 18px 45px rgba(30,43,37,.14);overflow:hidden}
.gallery-cover-card img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.gallery-cover-card-back{top:24px;left:14%;transform:rotate(-13deg)}
.gallery-cover-card-front{top:48px;right:14%;transform:rotate(9deg)}
.gallery-cover-sticker{position:absolute;right:0;top:7px;width:101px;height:101px;border-radius:50%;background:#efd586;display:grid;place-items:center;text-align:center;font:900 13px/1.15 'DM Sans',sans-serif;transform:rotate(13deg);box-shadow:0 8px 22px #0001}
.gallery-collection{background:#e7ebe2;padding:92px 0 110px}
.gallery-collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:40px}
.gallery-collection-heading h2{font:800 clamp(39px,5vw,66px)/1.06 'DM Sans',system-ui,sans-serif;letter-spacing:-.068em;margin-top:12px}
.gallery-collection-heading h2 em{font:italic 600 .96em 'Fraunces',Georgia,serif;color:#bb7960}
.gallery-collection-heading>p{font-size:13px;color:#748076;max-width:200px;text-align:right}
.gallery-filter-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}
.gallery-filter{border:1px solid #c6d2c4;background:#f8faf5;color:#4b6556;border-radius:40px;padding:12px 15px;font-size:12px;font-weight:800;transition:transform .15s,background .15s,color .15s}
.gallery-filter:hover{transform:translateY(-2px)}
.gallery-filter.is-active{background:#2d4a42;color:#fff;border-color:#2d4a42}
.gallery-filter span{font:600 10px 'DM Mono',monospace;opacity:.65;margin-left:8px}
.gallery-sortnote{color:#b47b61;font-size:21px;white-space:nowrap;transform:rotate(-8deg)}
.gallery-results{font:600 10px 'DM Mono',monospace;letter-spacing:.09em;color:#718476;margin:25px 0 17px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.gallery-item{padding:9px 9px 15px;border:0;text-align:left;background:#fffdf5;box-shadow:0 8px 28px rgba(33,59,45,.055);transition:transform .2s,box-shadow .2s;min-width:0;display:block;width:100%;color:var(--ink)}
.gallery-item:nth-child(7n+2){transform:rotate(1deg);background:#fffaf0}
.gallery-item:nth-child(7n+4){transform:rotate(-.7deg);background:#f9fbf5}
.gallery-item:hover{transform:translateY(-6px) rotate(0deg);box-shadow:0 17px 36px rgba(33,59,45,.13)}
.gallery-item[hidden]{display:none}
.gallery-image{display:block;background:#d8ddd1;overflow:hidden;aspect-ratio:3/4.2;position:relative}
.gallery-image:after{content:'VIEW ↗';position:absolute;right:10px;bottom:10px;opacity:0;transform:translateY(5px);transition:transform .2s,opacity .2s;background:#fffdf0;padding:6px 9px;border-radius:20px;font:700 9px 'DM Mono',monospace;color:#2d4135}
.gallery-item:hover .gallery-image:after,.gallery-item:focus-visible .gallery-image:after{opacity:1;transform:translateY(0)}
.gallery-image img{width:100%;height:100%;object-fit:cover;object-position:center 33%;transition:transform .4s}
.gallery-item:hover .gallery-image img{transform:scale(1.04)}
.gallery-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:14px;padding:0 4px}
.gallery-card-label{font-weight:800;font-size:12px;letter-spacing:-.012em;line-height:1.4;overflow-wrap:anywhere}
.gallery-card-arrow{color:#bf856a;font-size:18px;white-space:nowrap}
.gallery-endcap{display:flex;gap:23px;align-items:center;justify-content:space-between;border-top:1px solid #bfd0be;margin-top:70px;padding-top:49px}
.gallery-endcap-spark{font-size:60px;color:#c78e72}
.gallery-endcap h3{font:800 clamp(34px,4.2vw,49px)/1.08 'DM Sans',sans-serif;letter-spacing:-.065em;margin:8px 0}
.gallery-endcap h3 em{font:italic 600 .98em 'Fraunces',serif;color:#b77e64}
.gallery-endcap p{font-size:13px;color:#748276}
.gallery-endcap .button-primary{white-space:nowrap}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}
.gallery-lightbox-shade{position:absolute;inset:0;background:rgba(24,37,34,.94)}
.gallery-lightbox-content{position:relative;z-index:1;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:minmax(0,1fr) auto;gap:12px;align-items:center;width:min(950px,98vw);height:min(94dvh,950px);padding:40px 5px 17px}
.gallery-lightbox-photo{min-height:0;height:100%;display:flex;align-items:center;justify-content:center}
.gallery-lightbox-photo img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 6px 30px #0005}
.gallery-lightbox-prev,.gallery-lightbox-next,.gallery-close{border:1px solid #ffffff70;color:#fff;background:#20342a66;display:grid;place-items:center;font-size:24px;width:44px;height:44px;border-radius:50%;cursor:pointer;transition:background .15s}
.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover,.gallery-close:hover{background:#3b5b4a}
.gallery-close{position:absolute;top:0;right:13px;z-index:4}
.gallery-lightbox-caption{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;align-items:center;color:#fffcf0;font:600 13px 'DM Sans',sans-serif;padding:3px 12px}
.gallery-lightbox-caption span:last-child{font:500 11px 'DM Mono',monospace;color:#b3c5b7;white-space:nowrap}
body.lightbox-open{overflow:hidden}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-cover-art{height:395px}}
@media(max-width:820px){.gallery-cover{grid-template-columns:1fr;min-height:0;padding-top:55px;padding-bottom:45px;gap:15px}.gallery-cover-art{height:345px;max-width:430px;width:100%;margin:auto}.gallery-cover-card{height:90%;width:45%}.gallery-collection{padding:70px 0 85px}.gallery-collection-heading{display:block}.gallery-collection-heading>p{text-align:left;max-width:none;margin-top:15px}.gallery-endcap{flex-wrap:wrap}}
@media(max-width:570px){.gallery-cover h1{font-size:65px}.gallery-cover-copy>p:not(.eyebrow){font-size:14px}.gallery-cover-art{height:300px}.gallery-cover-card{height:88%;width:44%}.gallery-cover-sticker{width:75px;height:75px;font-size:10px;right:20px}.gallery-collection{padding-top:55px}.gallery-collection-heading h2{font-size:42px}.gallery-sortnote{display:none}.gallery-filters{gap:7px}.gallery-filter{font-size:11px;padding:9px 12px}.gallery-filter span{font-size:9px;margin-left:3px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item{padding:6px 6px 12px}.gallery-card-bottom{margin-top:10px}.gallery-card-label{font-size:10px}.gallery-card-arrow{font-size:16px}.gallery-endcap{margin-top:52px;gap:15px}.gallery-endcap-spark{font-size:38px}.gallery-endcap .button-primary{width:100%;text-align:center}.gallery-lightbox-content{grid-template-columns:38px minmax(0,1fr) 38px;gap:3px;width:100vw;height:100dvh;padding:55px 2px 24px}.gallery-lightbox-prev,.gallery-lightbox-next{width:36px;height:36px;font-size:18px}.gallery-close{right:20px;top:12px}.gallery-lightbox-caption{padding:0 14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.gallery-item,.gallery-item img,.gallery-filter,.gallery-image:after{transition:none!important}}
/* Picture Drawer hero: an evenly spaced trio, no overlapping or doubled-up Eli. */
.gallery-cover-art{height:355px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:14px;padding:18px 4px 10px}
.gallery-cover-art:before{inset:22px 25px 9px 10px;z-index:0}
.gallery-cover-photo{width:100%;height:255px;min-width:0;position:relative;z-index:1;background:#fffdf4;padding:7px 7px 24px;box-shadow:0 12px 27px #27382b26;transform-origin:50% 50%;transition:transform .25s}
.gallery-cover-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 15%}
.gallery-cover-photo>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:#6c7769;font:700 9px 'DM Mono',monospace;line-height:22px;letter-spacing:.01em}
.gallery-cover-photo-eli{transform:rotate(-5deg) translateY(3px)}
.gallery-cover-photo-duo{transform:rotate(2deg) translateY(-15px)}
.gallery-cover-photo-mason{transform:rotate(5deg) translateY(9px)}
.gallery-cover-photo-mason img{object-position:center 9%}
.gallery-cover-sticker{z-index:3;right:-6px;top:-16px;width:82px;height:82px;font-size:11px}
@media(hover:hover){.gallery-cover-photo:hover{transform:rotate(0deg) translateY(-8px)}}
@media(max-width:920px){.gallery-cover-art{height:315px;max-width:510px;margin:auto;gap:12px}.gallery-cover-photo{height:245px}}
@media(max-width:570px){.gallery-cover-art{height:280px;max-width:440px;gap:9px;padding:20px 5px}.gallery-cover-photo{height:210px;padding:6px 6px 22px}.gallery-cover-sticker{top:-3px;right:1px;width:66px;height:66px;font-size:9px}.gallery-cover-photo>span{font-size:8px;line-height:20px}}
@media(prefers-reduced-motion:reduce){.character-card-link,.resume-card-cta span,.gallery-cover-photo{transition:none!important}}
