:root{--ds-raised:#f5f5f5;--ds-hairline:#e0e0e0;--ds-ink:#222;--ds-teal:#0a7d6b}
.viewer{position:fixed;inset:0;z-index:1000;background:rgba(10,10,10,.94);display:flex;align-items:center;justify-content:center}
.viewer img{max-width:92vw;max-height:88vh;object-fit:contain;display:block}
.viewer button{position:absolute;background:transparent;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:14px;min-width:44px;min-height:44px;font-family:Arial,Helvetica,sans-serif}
.viewer .v-close{top:10px;right:14px}
.viewer .v-prev{left:8px;top:50%;transform:translateY(-50%)}
.viewer .v-next{right:8px;top:50%;transform:translateY(-50%)}
.viewer .v-count{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#bbb;font-size:12px;font-family:Arial,Helvetica,sans-serif}
html,body,#root{margin:0;min-height:100%;background:#fff}.white-portfolio{background:#fff;color:#222;font-family:Arial,Helvetica,sans-serif}.bar{padding:24px 5% 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-name{font:700 23px/1.2 Arial,Helvetica,sans-serif;color:inherit;text-decoration:none}.mode-switch{display:flex;gap:26px}.mode-switch a{font-size:12px;color:#777;text-decoration:none;min-height:44px;display:flex;align-items:center}.mode-switch a.active{color:#222}.mode-switch a:hover{text-decoration:underline}.mode-switch a:focus-visible,.site-name:focus-visible{outline:2px solid #222;outline-offset:4px}.masonry{container-type:inline-size;margin:0 6.4% 48px}.masonry-track{position:relative;height:calc(var(--dh) * ((100cqw - 36px) / 4) + var(--dg) * 12px)}.gallery-photo{position:absolute;margin:0;width:calc((100% - 36px)/4);left:calc(var(--dc) * ((100% - 36px)/4 + 12px));top:calc(var(--dt) * ((100cqw - 36px)/4) + var(--dn) * 12px)}.gallery-photo img{display:block;width:100%;height:auto}.about-page{padding:24px 6.4% 100px;min-height:45vh;font-size:14px;line-height:1.6}.about-page h1{font-size:20px}.about-page a{color:inherit}.position-picker{display:flex;gap:6px}.position-picker button{padding:0 8px}
.move-buttons{display:flex;gap:6px;flex-wrap:wrap}.move-buttons button,.move-buttons input{font:inherit;min-height:44px;box-sizing:border-box;border:1px solid var(--ds-hairline);background:white;border-radius:4px;color:var(--ds-ink)}.move-buttons button{min-width:44px;cursor:pointer}.move-buttons input{width:58px;padding:4px}.move-buttons form{display:flex;gap:6px}.move-buttons form button{padding:0 8px}.move-buttons button:disabled{opacity:.35;cursor:default}.drag-handle{touch-action:none;cursor:grab!important;font-size:24px!important}.drop-target{outline:3px solid var(--ds-teal)}.dragging{opacity:.6}.bottom-note{margin:36px 0 16px}@media(min-width:560px){}@media(min-width:1000px){}@media(max-width:650px){.bar{padding:16px 16px 10px;flex-wrap:wrap;gap:4px}.site-name{font-size:20px}.mode-switch{gap:24px;width:100%}.mode-switch a{font-size:12px}.masonry{margin:0 0 32px}.masonry-track{height:calc(var(--mh) * ((100cqw - 12px)/2) + var(--mg) * 12px)}.gallery-photo{width:calc((100% - 12px)/2);left:calc(var(--mc) * ((100% - 12px)/2 + 12px));top:calc(var(--mt) * ((100cqw - 12px)/2) + var(--mn) * 12px)}.about-page{padding:24px 18px 80px}}

.bar{display:flex;flex-direction:column;align-items:center;padding:26px 5% 20px;gap:12px}.site-name{font-size:38px;text-align:center;line-height:1.12}.mode-switch{justify-content:center}.is-about{background:#fff;min-height:100vh}.is-about .bar,.is-about .about-page{background:#fff}.gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.gallery-open:focus-visible{outline:3px solid #222;outline-offset:3px}@media(max-width:650px){.bar{padding:22px 12px 10px;gap:6px}.site-name{font-size:28px;white-space:nowrap}.mode-switch{width:auto;gap:24px}}



.about-page{max-width:640px;margin:0 auto;text-align:center}.about-heading{font-size:15px;margin:0}.about-rule{border:0;border-top:1px solid rgba(0,0,0,.18);margin:20px 0 40px}.about-bio{margin:0 0 34px}.about-lead{font-weight:700;margin:0 0 6px}.about-mail{text-decoration:underline}.about-listhead{font-size:13px;font-weight:700;margin:46px 0 8px}.about-page p{margin:6px 0}
.about-agency{margin-top:26px}
.about-first{margin-top:40px}.about-other{margin-top:46px}

.about-page .about-agency{margin-top:28px}.about-page .about-other{margin-top:36px}.about-page .about-bio{margin:0 0 34px}.about-page .about-heading{font-size:15px}

/* Content-sized routes must shrink after the tall gallery inside the hosted viewer. */
html,body,#root{min-height:0}.is-about{min-height:0}.about-page{min-height:0;padding-bottom:52px}
