:root{--bg:#000;--text:#fff;--text-secondary:#a0a0a0;--accent:#c5d2e3;--border:#1f1f1f}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1.0625rem;font-weight:400;line-height:1.65;overflow-x:hidden}main{max-width:720px;margin:0 auto;padding:0 1.5rem}section{border-top:1px solid var(--border);padding:6rem 0}section:first-child{border-top:none;padding-top:8rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2{letter-spacing:-.01em;margin:0 0 1.5rem;font-weight:600}h2{font-size:clamp(1.5rem,3vw,2rem)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}#hero{background:#000 url(/photos/hero-calf-creek-falls.webp) 30%/cover no-repeat;flex-direction:column;justify-content:center;width:100vw;min-height:100vh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0;display:flex;position:relative}#hero:before{content:"";pointer-events:none;background:linear-gradient(#0006 0%,#0000008c 50%,#000000e6 100%);position:absolute;inset:0}#hero>*{z-index:1;padding:0 1.5rem;position:relative}.hero__title{letter-spacing:-.02em;color:#fff;margin:0 0 1rem;font-size:clamp(2.75rem,7vw,5rem)}.hero__tagline{color:#d0d0d0;letter-spacing:.02em;margin:0;font-size:.9375rem;font-weight:300}.hero__scroll-hint{color:var(--text-secondary);opacity:.4;font-size:1.25rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}#about p{max-width:60ch;font-size:1.125rem;line-height:1.7}.work-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.work-card{border:1px solid var(--border);border-radius:6px;transition:border-color .25s,transform .25s,box-shadow .25s}.work-card:has(.work-card__link):hover{transform:translateY(-3px);box-shadow:0 8px 24px #c5d2e314}.work-card:has(.work-card__link):focus-within{border-color:var(--accent)}.work-card__link,.work-card__static{color:inherit;gap:.5rem;padding:1.25rem 1.5rem;text-decoration:none;display:grid}.work-card__link:hover{text-decoration:none}.work-card__name{font-size:1.0625rem;font-weight:600}.work-card__year{color:var(--text-secondary);font-size:.9375rem;font-weight:400}.work-card__desc{color:var(--text-secondary);font-size:.9375rem;line-height:1.55}.work-card__cta{color:var(--accent);margin-top:.25rem;font-size:.875rem}.awards-list{margin:0;padding:0;list-style:none;display:grid}.award{border-bottom:1px solid var(--border);padding:.875rem 0}.award:last-child{border-bottom:none}.award__name{font-size:1.0625rem}.awards-easter{flex-direction:column;align-items:flex-start;margin-top:1.5rem;display:inline-flex;position:relative}.awards-easter__trigger{cursor:pointer;color:var(--text-secondary);opacity:.35;background:0 0;border:none;padding:.375rem .5rem .375rem 0;transition:opacity .25s,color .25s}.awards-easter__trigger svg{width:1.25rem;height:1.25rem;display:block}.awards-easter__trigger:hover,.awards-easter__trigger:focus-visible{opacity:1;color:var(--accent);outline:none}.awards-easter__list{visibility:hidden;opacity:0;pointer-events:none;margin:0;padding:.25rem 0 0;list-style:none;transition:opacity .25s,transform .25s,visibility 0s linear .25s;position:absolute;top:100%;left:0;transform:translateY(-4px)}.awards-easter:hover .awards-easter__list,.awards-easter:focus-within .awards-easter__list{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .25s,transform .25s,visibility linear;transform:translateY(0)}.awards-easter__item{color:var(--text-secondary);white-space:nowrap;padding:.125rem 0;font-size:.75rem;font-style:italic}#contact{padding-bottom:8rem}.contact-direct{letter-spacing:-.01em;margin:0;font-size:1.375rem}[data-fade-up]{opacity:0;transform:translateY(16px)}[data-fade-up].is-visible{opacity:1;transform:none}.work-card,.award{opacity:0;transform:translateY(12px)}.work-card.is-visible,.award.is-visible{opacity:1;transform:none}
