*{box-sizing:border-box}
body{margin:0;background:#fafaf9;color:#292d30;font:14px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
main{max-width:820px;margin:64px auto 32px;padding:0 28px}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}a:focus-visible{outline:2px solid #267b77;outline-offset:4px}
header{min-height:64px;margin-bottom:20px}.portrait{float:right;border-radius:50%;object-fit:cover;margin-left:20px}h1{font-size:27px;line-height:1.3;letter-spacing:-.7px;margin:0 0 3px;font-weight:650}.tagline{margin:0;color:#63696c;font-size:15px}.intro{max-width:650px}.intro p{margin:0;color:#535a5e}nav{display:flex;gap:21px;flex-wrap:wrap;margin-top:15px;font-size:13px;color:#26736e}
section{margin-top:38px}h2{font-size:14px;font-weight:600;margin:0 0 18px}h3{font-size:14px;line-height:1.4;font-weight:600;margin:13px 0 7px}.brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.screenshot{display:block;overflow:hidden;border:1px solid #dedfdd;border-radius:4px;background:white}.screenshot img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;object-position:top}.screenshot:hover{border-color:#909b97}.brands p{font-size:12px;line-height:1.65;color:#60676a;margin:0 0 9px}.domain{font-size:10px;color:#737b7d;overflow-wrap:anywhere}
.other{margin-top:35px;padding-top:26px;border-top:1px solid #e2e4e1}.other h2{margin-bottom:8px}dl{margin:0}dl>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:9px 0}dt{font-size:12px;font-weight:550}dd{font-size:12px;color:#636b6e;margin:0}footer{border-top:1px solid #e2e4e1;margin-top:25px;padding-top:17px;display:flex;justify-content:space-between;font-size:11px;color:#7a8284}
@media(max-width:600px){main{margin-top:32px;padding:0 22px}.brands{grid-template-columns:1fr;gap:25px}.brands article{display:grid;grid-template-columns:135px 1fr;column-gap:16px;align-content:start}.screenshot{grid-row:1/4;align-self:start}.screenshot img{aspect-ratio:1.25}h3{margin:0 0 5px}.brands p{margin-bottom:5px}.domain{font-size:10px}dl>div{grid-template-columns:1fr;gap:1px;padding:8px 0}section{margin-top:30px}.portrait{width:52px;height:52px}.tagline{font-size:13px}h1{font-size:25px}nav{gap:18px}footer{gap:15px}}
@media(max-width:360px){.brands article{grid-template-columns:110px 1fr;column-gap:12px}}
/* The photo strip reaches past the resume column, like the original site. */
body{overflow-x:clip}
.product-gallery{width:calc(100vw - 18px);margin:26px 0 26px calc(50% - 50vw + 9px)}
.photo-track{display:flex;gap:24px;overflow-x:auto;padding:16px max(24px,calc((100vw - 1200px)/2)) 12px;scroll-snap-type:x proximity;scroll-padding-inline:24px;scrollbar-width:none}
.photo-track::-webkit-scrollbar{display:none}
.product-photo{flex:0 0 230px;min-width:0;scroll-snap-align:center;text-decoration:none!important}
.product-photo figure{margin:0}.product-photo img{display:block;width:100%;height:250px;object-fit:cover;border-radius:8px;transform:rotate(-2deg) translateZ(0);background:#ebece8}
.product-photo:nth-child(2n) img{transform:rotate(2deg) translateZ(0)}
.product-photo:nth-child(3) img{transform:rotate(-1deg) translateZ(0)}
.product-photo figcaption{font-size:11px;color:#424b4c;padding:13px 6px 0;line-height:1.5}.product-photo figcaption span{display:block;font-size:10px;color:#81888a;margin-top:2px}
.product-photo:hover figcaption{text-decoration:underline;text-underline-offset:3px}
.photo-controls{max-width:764px;margin:8px auto 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#81888a;padding:0}
.photo-controls>div{display:flex;gap:6px}.photo-controls button{font:16px system-ui;cursor:pointer;border:1px solid #dedfdd;color:#535e5d;border-radius:50%;width:28px;height:28px;background:transparent}.photo-controls button:hover{background:#eeefec}.photo-controls button:disabled{opacity:.3;cursor:default}.photo-controls button:focus-visible{outline:2px solid #267b77;outline-offset:3px}
@media(max-width:820px){.photo-controls{margin-inline:28px}}
@media(max-width:600px){.product-gallery{margin-top:22px;margin-bottom:24px}.photo-track{gap:20px;padding-inline:22px}.product-photo{flex-basis:185px}.product-photo img{height:205px}.photo-controls{margin-inline:22px}}
@media(prefers-reduced-motion:reduce){.photo-track{scroll-behavior:auto}}

.product-photo.powder-room img{object-fit:contain;background:#f3f3f1}

/* A little contrast without turning the resume into a landing page. */
body{background:#fff;color:#202c34;border-top:4px solid #187b80}
h1{color:#172c36}.tagline{color:#52656f}
nav a{color:#096b73;font-weight:550;text-decoration:underline;text-decoration-color:#a6cfd0;text-underline-offset:4px}
.portrait{outline:3px solid #d7eeee;outline-offset:3px}
.product-gallery{background:#203b48;border-block:1px solid #142e3a;padding:14px 0 17px;margin-top:28px}
.product-photo img{border:0;box-shadow:0 3px 9px #07192333;background:#fff}
.product-photo figcaption{color:#fff;font-weight:500}.product-photo figcaption span{color:#b9d4dc;font-weight:400}
.photo-controls{color:#c2d9df}.photo-controls button{background:#e4f2f2;border-color:#a7cdd0;color:#193f49}.photo-controls button:hover{background:#fff}.photo-controls button:disabled{opacity:.35}.photo-controls button:focus-visible{outline-color:#fff}
.screenshot{border:1px solid #9dacb4;box-shadow:0 2px 5px #203b4810}
.brands article{border-top:3px solid #16868e;padding-top:10px}.brands article:nth-child(2){border-top-color:#ac733a}.brands article:nth-child(3){border-top-color:#73864d}
.brands h3 a{color:#173c4b}.domain{color:#096b73}.brands p{color:#505f67}
.other,footer{border-color:#bdcbd1}dt a{color:#096b73}dd{color:#53636c}footer{color:#53636c}footer a{color:#096b73}
@media(max-width:600px){.brands article{padding-top:13px}.product-gallery{padding-top:10px}}

/* Keep the full landscape photograph, including space around the frame. */
.product-photo.pittsburgh-map,.product-photo.powder-room{flex-basis:333.33px}
.product-photo.pittsburgh-map img{object-fit:contain;background:#e4e4e4}
@media(max-width:600px){.product-photo.pittsburgh-map,.product-photo.powder-room{flex-basis:273.33px}}


/* Larger labels and a proper heading above the photographs. */
.product-photo figcaption{font-size:14px;line-height:1.45;padding-top:15px}
.product-photo figcaption span{font-size:12px;margin-top:1px}
.photo-controls{margin-top:4px;margin-bottom:8px}
.photo-controls h2{font-size:18px;line-height:1.4;color:#fff;margin:0;font-weight:600}
.product-photo img{outline:1px solid transparent;backface-visibility:hidden;image-rendering:auto}

/* More comfortable reading sizes; gallery captions retain their own sizing. */
body{font-size:16px}
h1{font-size:31px}
.tagline{font-size:17px}
nav{font-size:15px}
h2{font-size:17px}
h3{font-size:16px}
.brands p{font-size:14px}
.domain{font-size:12px}
dt,dd{font-size:14px}
footer{font-size:13px}
.photo-controls h2{font-size:20px}
.photo-controls button{font-size:18px;width:32px;height:32px}
@media(max-width:600px){h1{font-size:29px}.tagline{font-size:15px}.domain{font-size:12px}nav{gap:18px}.brands article{grid-template-columns:125px minmax(0,1fr)}}
@media(max-width:360px){.brands article{grid-template-columns:110px minmax(0,1fr)}}

/* Preserve the complete website screenshots at every screen size. */
.screenshot img{height:auto;aspect-ratio:auto;object-fit:contain}

