*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:#222;background:#fafafa}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
a{color:#0b6e99}
img{max-width:100%;height:auto}
iframe{max-width:100%;border:0}
header.site{background:#1d1d1d;color:#fff}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;padding-bottom:18px}
.logo{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.12em;font-size:1.3rem}
nav a{color:#ccc;text-decoration:none;margin-left:20px;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}
nav a:hover,nav a[aria-current]{color:#fff}
.page{padding-top:30px;padding-bottom:40px}
.page.has-aside{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px}
main,aside{min-width:0}
aside{font-size:.95rem}
aside ul{padding-left:18px}
h1{line-height:1.2;margin-top:0}
.portfolio_item_header_image{margin-bottom:20px}
.portfolio_item_header_image h1{margin:12px 0 0}
.tagline{color:#666}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.card{display:block;background:#fff;color:#222;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.card img{display:block;width:100%;aspect-ratio:1060/600;object-fit:cover}
.card span{display:block;padding:10px 14px;font-size:.95rem;color:#555}
.card strong{display:block;color:#222}
#portfolio_items_list{display:grid;gap:24px}
#portfolio_items_list a{text-decoration:none;color:inherit}
.portfolio_item{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.portfolio_item img{display:block;width:100%}
.portfolio_item .title{font-weight:700;padding:10px 14px 0}
.portfolio_item .tagline{padding:0 14px 12px}
ul.pagination{list-style:none;padding:0;display:flex;gap:8px}
ul.pagination a{display:block;padding:4px 10px;border:1px solid #ccc;text-decoration:none}
ul.pagination .active a{background:#1d1d1d;color:#fff;border-color:#1d1d1d}
div.pagination{margin-top:20px}
footer.site{border-top:1px solid #e5e5e5;color:#888;font-size:.85rem;padding:20px 0}
@media (max-width:760px){.page.has-aside{grid-template-columns:1fr}nav a{margin:0 14px 0 0}}
