/* The Bootstrap base layer is intentionally lower priority than the established
   portfolio styles. These additions preserve the shader and authored sequences. */
[hidden]{display:none!important}.card{--bs-card-bg:transparent;--bs-card-border-width:0;background:transparent;color:inherit;border:0;border-radius:0}.card-button{text-decoration:none}.card h3{line-height:1.2}.card-meta{gap:16px;line-height:1.6}.card-meta>span:first-child{max-width:80%}.project-context{margin-top:32px;padding:24px 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24}.project-context a{display:flex;flex-direction:column;gap:10px;text-decoration:none}.project-context strong{font-size:clamp(20px,2.3vw,30px);font-weight:500;line-height:1.25}.shared-artworks{margin:40px 0}.shared-artworks>h2{font-size:26px;margin-bottom:24px}.project-body .compact-details{margin-left:0}.category-links{flex-wrap:wrap}.category-links a[aria-current=page]{color:var(--accent,#d5ff76)}.filters{flex-wrap:wrap}.card-button:focus-visible,.category-links a:focus-visible{outline:2px solid #d5ff76;outline-offset:5px}.sound-cover strong{font-size:80px;line-height:1}.sound-cover{background:radial-gradient(ellipse at 50% 80%,#443927,#161612 70%)}
@media(max-width:640px){.project-context{row-gap:24px}.card-meta{font-size:11px}.shared-artworks{margin:28px 0}}
.guided-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:24px}.guided-controls button{border:1px solid #ffffff38;background:transparent;color:inherit;border-radius:24px;padding:10px 16px}.guided-controls button[aria-pressed=true]{background:#d5ff76;color:#101513;border-color:#d5ff76}.guided-controls span{font-size:13px;color:#a6afa7}

/* One viewport, three rows: close, fitted artwork/caption, navigation. */
.image-viewer{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:calc(52px + env(safe-area-inset-top,0px)) 16px calc(76px + env(safe-area-inset-bottom,0px));background:#080b0f;color:#eeeee7;overflow:hidden;color-scheme:dark}
.image-viewer[open]{display:flex;flex-direction:column}.image-viewer figure{flex:1;min-height:0;width:100%;height:auto;gap:12px;justify-content:flex-start}.image-viewer .viewer-stage{width:100%;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.image-viewer .viewer-image{max-width:none;max-height:none;flex:none;object-fit:contain;margin:0;background:transparent}.image-viewer figcaption{flex:none;max-height:24dvh;overflow:auto;width:100%;font-size:13px;overflow-wrap:anywhere}.image-viewer .viewer-annotation{font-size:15px}.image-viewer .viewer-close{top:calc(6px + env(safe-area-inset-top,0px));right:12px;min-height:44px}.image-open{overflow:hidden}.image-viewer .viewer-navigation{bottom:calc(8px + env(safe-area-inset-bottom,0px));margin:0}.reading-link{font:13px/1.4 'Courier New',monospace;color:var(--accent);white-space:nowrap}.home-page .reading-entry{display:inline-block;margin-left:16px;padding:10px 0}.header-right{flex-wrap:wrap}
@media(max-width:600px){.image-viewer{padding-inline:8px}.image-viewer .viewer-navigation button{font-size:13px}}

/* Keep contact actions distinct and allow natural wrapping on narrow screens. */
.contact-links{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 24px;margin-top:13px}.contact-links>.text-link{margin-top:0;max-width:100%}
