/* The shared RWX canvas. All routes stop growing at the same desktop width. */
@font-face{font-family:'Courier Prime';src:url('./assets/fonts/courier-prime.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--site-width:90rem;--site-mono:'Courier Prime',monospace;--mono:var(--site-mono)}
html,body{background:#111}
/* Original Figma tile: a quiet, static repeat, visible only outside the canvas. */
@media(min-width:90rem){body{background-image:url('./assets/rwx-bleed-tile.svg');background-repeat:repeat;background-size:7.09375rem 7.15625rem;background-position:center top}}
.site-shell,.home .site-shell{width:100%;max-width:var(--site-width);margin-inline:auto;background:var(--paper,#f7f7f3);container-type:inline-size;min-height:100svh}
@media(min-width:90rem){.site-shell,.home .site-shell{box-shadow:0 0 2rem rgba(0,0,0,.65),0 1.5rem 5rem rgba(0,0,0,.5)}}
.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.25rem clamp(1.25rem,4.6cqw,4.5rem);background:#080808;color:#fff;font:400 .875rem/1.5 var(--site-mono)}
.site-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.site-footer a:first-child{color:#a6ff00}
.site-footer a:hover,.site-footer [aria-current=page]{text-decoration:underline}
.related-case{text-decoration:none}.related-case:hover h2{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}.related-case:focus-visible{outline-offset:-8px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:1.5rem}
.site-nav{display:grid;grid-template-columns:minmax(0,942fr) minmax(0,202fr) minmax(0,170fr) minmax(0,126fr);background:#080808;color:#fff;gap:0;font:400 clamp(1rem,1.25cqw,1.125rem)/1.4 'Helvetica Neue',Inter,Arial,sans-serif}
.site-nav a{display:flex;align-items:center;justify-content:flex-start;min-height:49px;padding:.25rem 0;text-decoration:none}
.site-nav .brand{padding-left:clamp(1.25rem,4.03cqw,3.625rem);color:#a6ff00}
.site-nav a:hover,.site-nav [aria-current=page]{color:#a6ff00}
.site-nav [aria-current=page]:not(.brand){text-decoration:underline;text-underline-offset:.45em}
.site-nav a:focus-visible{outline:2px solid #a6ff00;outline-offset:-5px}
.site-divider{display:flex;align-items:center;gap:1.25rem;overflow:hidden;white-space:nowrap;padding:.8rem clamp(1.25rem,4.6cqw,4.5rem);background:#080808;color:#fff;font:400 .875rem/1.4 var(--site-mono)}
.site-divider span{flex-shrink:0}
.portfolio-intro{padding:clamp(2rem,4.6cqw,4rem);display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;flex-wrap:wrap}
.portfolio-intro h2{font:700 clamp(2rem,4cqw,3.5rem)/1.05 Inter,sans-serif;letter-spacing:-.045em}
.portfolio-intro p{font:400 .875rem/1.5 var(--site-mono)}
.project-band{--band-ink:#fff;--band-fill:#8800ff;display:grid;grid-template-columns:clamp(5rem,10cqw,9rem) minmax(0,1fr) 4rem;gap:clamp(1.5rem,3.2cqw,3rem);align-items:center;min-height:16rem;padding:clamp(2rem,4.6cqw,4rem);background:var(--band-fill);color:var(--band-ink);text-decoration:none}
.band-preview{display:grid;place-items:center;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid currentColor;background:#080808;color:#fff;font:700 clamp(1.5rem,4cqw,3rem)/1 Inter,sans-serif}
.band-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.band-kicker{font:400 .8125rem/1.5 var(--site-mono);letter-spacing:.04em;text-transform:uppercase}
.project-band h2,.project-band h3{font:400 clamp(2rem,5.5cqw,5rem)/1.04 Inter,Arial,sans-serif;letter-spacing:-.055em;margin:.65rem 0 1rem}
.band-subline{font:400 clamp(1rem,1.4cqw,1.25rem)/1.45 Inter,sans-serif;max-width:60ch}
.band-arrow{font:400 4rem/1 Inter,sans-serif;transition:transform .2s}
.project-band:hover .band-arrow{transform:translate(4px,-4px)}
.project-band:hover .band-preview img{transform:scale(1.06)}
.project-band:hover h2,.project-band:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.14em}
.project-band:focus-visible{outline:3px solid currentColor;outline-offset:-8px}
.band-sophon{--band-fill:#a6ff00;--band-ink:#080808}.band-stellar{--band-fill:#0028c9}.band-social{--band-fill:#f7f7f3;--band-ink:#080808}.band-aquarius{--band-fill:#080808}.band-aquarius .band-preview{background:#0028c9}.band-ai{--band-fill:#8800ff}.band-roberts{--band-fill:#f7f7f3;--band-ink:#080808}
.contact-section{padding:clamp(2.5rem,5cqw,4.5rem);background:#a6ff00;color:#080808;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem}
.contact-section h2{font:700 clamp(2.25rem,5.5cqw,5rem)/1.02 Inter,sans-serif;letter-spacing:-.05em;margin:.75rem 0}
.contact-section .contact-link{display:inline-flex;align-items:center;gap:2rem;min-height:44px;font:400 1.125rem/1.5 var(--site-mono);text-decoration:none;border-bottom:1px solid;padding-bottom:.5rem}
.contact-section .contact-link:hover{text-decoration:underline}
@media(max-width:700px){.site-nav{grid-template-columns:1.15fr repeat(3,1fr);font-size:.875rem}.site-nav a{justify-content:center;padding:.75rem .2rem}.site-nav .brand{justify-content:flex-start;padding-left:1rem}.project-band{grid-template-columns:4rem minmax(0,1fr) 1.75rem;gap:1rem;min-height:0;padding:2rem 1.25rem;align-items:start}.band-preview{margin-top:.35rem}.band-arrow{font-size:2rem;margin-top:.35rem}.project-band h2,.project-band h3{font-size:clamp(1.75rem,7cqw,3rem);margin:.5rem 0 .75rem}.band-subline{font-size:1rem}.band-kicker{font-size:.75rem}.contact-section{grid-template-columns:1fr}.site-footer nav{gap:.5rem 1.25rem}}
@media(prefers-reduced-motion:reduce){.band-preview img,.band-arrow{transition:none}}
@media print{html,body{background:#fff}.site-shell,.home .site-shell{max-width:none;box-shadow:none}.site-footer{display:none}}
