:root{--48-black: #000000;--48-white: #ffffff;--48-trans: #00000000;--48-nearwhite: #f0f0f0;--48-yellow: #ffff00;--48-orange: #eab32c;--48-orange-trans-less: #eab32c40;--48-orange-trans: #eab32c80;--48-orange-trans-more: #eab32cc0;--48-orange-nearblack: #43330d;--48-orange-dark: #80631a;--48-orange-light: #eacd86;--48-orange-nearwhite: #ede6d5;--48-purple: #571c6d;--48-purple-trans-less: #30103040;--48-purple-trans: #30103080;--48-purple-trans-more: #301030c0;--48-purple-nearblack: #2a0e34;--48-purple-dark: #421552;--48-purple-light: #be90cf;--48-purple-bright: #bb00ff;--48-purple-nearwhite: #dfa9f2;--48-darken: #00000040;--48-darken-more: #00000070;--48-darken-most: #000000a0;--48-lighten: #ffffff40;--48-lighten-more: #ffffff70;--48-lighten-most: #ffffffa0;--clock-color:#bb00ff;--league-spartan-offset:0.07em}@font-face{font-family:league spartan;src:url(/fonts/LeagueSpartan-VariableFont_wght.ttf)format('truetype-variations');font-weight:100 900;font-display:swap}*{margin:0;padding:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{color:var(--48-black);background-color:var(--48-purple);margin:0 auto;font-family:league spartan,sans-serif;font-weight:200;font-feature-settings:"kern" 1;text-rendering:optimizeLegibility;font-size:clamp(max(1.25rem,20px),1.6vw,min(2.5rem,24px));min-height:100vh;max-width:100vw}h1,h2,h3,h4,h5,h5,h6{color:var(--48-purple);text-shadow:-1px -1px 1px var(--48-white),1px -1px 1px var(--48-white),-1px 1px 1px var(--48-white),1px 1px 1px var(--48-white),0 0 4px var(--48-black);margin:.75rem 0}h1{font-size:2.5em;font-weight:800}h2{font-size:1.75em;font-weight:700}h3{font-size:1.5em;font-weight:700}h4{font-size:1.375em;font-weight:600}h5{font-size:1.25em;font-weight:600}h6{font-size:1.125em;font-weight:600}@media all and (max-width:768px){h1,h2{text-align:center;margin-left:auto;margin-right:auto}}p{margin:.75rem 0;line-height:1.25em}div.bordered{border:.05em solid var(--48-darken);border-radius:.25em;padding:.25em 1em;margin:.5em 0}ul{display:block;list-style:none;padding-left:.75em}li{padding-left:.25em;margin:.5rem 0;position:relative}li::marker{content:'★';display:inline-block;color:var(--48-purple);text-shadow:-.1em .1em .1m var(--48-white),.1em .1em .1em var(--48-white),.1em -.1em .1em var(--48-white),-.1em -.1em .1em var(--48-white),0 0 1em var(--48-black),0 0 1em var(--48-black)}em{font-weight:400}a{font-weight:400;color:var(--48-purple);text-decoration:underline var(--48-black)2px}hr{border:0;height:1px;background-image:linear-gradient(to right,transparent,var(--48-orange),transparent);margin:1.5em 0 1em}a:hover,a:active{text-decoration:underline}a[href^="https://maps.google.com"],a[href^="https://maps.app.goo.gl"],a[href*="http://"]{text-wrap:wrap}.clear{clear:both}.hidden{display:none}.center{text-align:center;margin-left:auto;margin-right:auto;width:100%}.tiny{font-size:.5em}.small{font-size:.75em}.big{font-size:1.25em}.huge{font-size:1.75em}@media all and (min-width:769px){.show-phone,.hide-desktop{display:none;visibility:hidden}}@media all and (max-width:768px){.hide-phone,.show-desktop{display:none;visibility:hidden}}.float-left-unless-wide{display:block;float:left;position:relative;margin:0 1em 1em 0}.float-right-unless-wide{display:block !important;float:right !important;position:relative !important;margin:0 1em 1em 0}@media all and (max-width:768px){.float-left-unless-wide,.float-right-unless-wide{float:none !important;margin:0 0 1em}}.button-list{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center}.button-list a{display:flex;align-items:center;justify-content:flex-start;overflow:hidden;padding:.5em;margin:.5em}a.button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--icon-spacing,.25em);vertical-align:middle;margin:.25em;border:.02em solid var(--48-orange);border-radius:.25em;background-color:var(--48-purple);color:var(--48-white);text-decoration:none !important;font-weight:400;white-space:normal;transition:all .2s ease}a.button:hover,a.button:active{font-weight:700;color:var(--48-black);background-color:var(--48-white);border:.02em solid var(--48-purple-trans);transform:scale(1.05)}a.button.social{opacity:.75;border:none !important;background-color:var(--48-white);color:var(--48-black);--icon-color:var(--48-orange);--icon-hover-color:var(--48-purple)}a.button.social:hover,a.button.social:active{opacity:1}a.button.left{flex-direction:row}a.button.right{flex-direction:row-reverse}a.button.top{flex-direction:column}a.button.bottom{flex-direction:column-reverse}a.button.glow{box-shadow:0 0 .25em var(--48-white)}a.button.glow:hover,a.button.glow:active{box-shadow:0 0 .5em var(--48-white),0 0 .5em var(--48-orange)}a.button.pulse{animation:button-pulse 3s infinite}a.button.pulse:hover,a.button.pulse:active{animation:none}@keyframes button-pulse{0%{transform:scale(.99)}50%{transform:scale(1.01)}100%{transform:scale(.99)}}a.button.pulse.glow{animation:button-pulse-glow 3s infinite}@keyframes button-pulse-glow{0%{transform:scale(.99);box-shadow:inset 0 0 0 var(--48-orange),0 0 transparent,0 0 transparent}50%{transform:scale(1.01);box-shadow:inset 0 0 0 .05em var(--48-orange),0 0 .5em var(--48-orange),0 0 1em var(--48-white)}100%{transform:scale(.99);box-shadow:inset 0 0 0 var(--48-orange),0 0 transparent,0 0 transparent}}a.button.nowrap{white-space:nowrap !important}a.button.wide{width:100%;margin-right:auto;margin-left:auto}a.button .icon{display:inline-block;color:var(--icon-color,var(--48-orange))}a:hover.button .icon,a:active.button .icon{color:var(--icon-hover-color,var(--48-purple))}a.button .icon svg{width:calc(var(--icon-scale,1) * 1em);height:calc(var(--icon-scale,1) * 1em);display:block;margin:auto}a.button span:not(.icon){transform:translateY(var(--league-spartan-offset))}a.button:has(span:not(.icon)){padding:.2em .4em}a.button:not(:has(span:not(.icon))){padding:.25em .35em}a.button span.reveal{opacity:0;width:0;letter-spacing:-.5rem;font-weight:100;transition:all .5s ease,font-weight 2s ease;overflow:hidden;white-space:nowrap;margin-left:0 !important;margin-right:0 !important}a.button:hover span.reveal{opacity:1;width:auto;letter-spacing:0;font-weight:700}a.button:has(span.reveal){gap:0}a.button:has(span.reveal):hover{gap:var(--icon-spacing,.25em)}main{padding-top:1rem !important;padding:clamp(1.5vw,3rem,10vw);background:var(--48-nearwhite);background:linear-gradient( 105deg,var(--48-purple-nearwhite) 0%,var(--48-white) 33%,var(--48-white) 67%,var(--48-purple-nearwhite) 100% );box-shadow:inset 0 0 clamp(.25em,2vw,2em)var(--48-black)}main>*{max-width:min(70rem,90vw);min-width:60vw !important;margin:auto;margin-left:auto;margin-right:auto}@media all and (max-width:768px){main{padding:2vw !important}}.entry{clear:both;display:flex;flex-direction:row;align-items:flex-start;text-align:left;margin:.5rem;gap:2rem}@media all and (max-width:768px){.entry{flex-direction:column;align-items:center;gap:1rem}}.entry .thumb{display:flex;justify-content:center;align-items:center;overflow:hidden;width:20vw;max-width:15rem;height:auto;flex-shrink:0}.entry .content{flex:1}@media all and (max-width:768px){.entry .thumb{width:calc(50vw + (768px - 100vw) * .6);max-width:100%;height:auto}}.entry .thumb img{border-radius:.5rem;flex-shrink:0;width:100%;height:100%;object-fit:cover}.entry h3{margin:0 0 1rem}@font-face{font-family:dseg7classic;src:url(/fonts/DSEG7ClassicMini-BoldItalic.ttf)format('truetype');font-weight:700;font-style:italic;font-display:swap}.clock{font-family:dseg7classic,monospace;font-size:.85em;transform:translateY(.1em);display:inline-block;position:relative}.clock .on{color:var(--clock-color);position:relative;z-index:1;text-shadow:0 0 .25em var(--clock-color,#c00000)}.clock .off{position:absolute;left:0;top:0;color:color-mix(in srgb,var(--clock-color,#c00000) 40%,#000000);opacity:.4;pointer-events:none;letter-spacing:inherit;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;line-height:inherit}.clock .zero{opacity:0}.people-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0;justify-content:center}.filter-btn{background:var(--48-purple-light);color:var(--48-purple-nearblack);border:2px solid var(--48-purple);padding:.5rem 1rem;border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.filter-btn:hover{background:var(--48-purple);color:var(--48-white);transform:translateY(-1px)}.filter-btn.active{background:var(--48-purple);color:var(--48-white);box-shadow:0 4px 12px rgba(87,28,109,.3)}.filter-count{text-align:center;color:var(--48-purple-nearblack);font-weight:500;margin:0 0 1rem;font-size:.9rem}.people-section-header{font-size:1.8rem;font-weight:600;color:#333;margin:3rem 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid #8b5cf6}.people-section-header:first-of-type{margin-top:2rem}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin:2rem auto;justify-content:center}.person-card{background:0 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease}.person-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.person-card.placeholder-photo{}.person-card.placeholder-photo .person-headshot{background:0 0}.person-card.placeholder-photo .person-headshot img.placeholder-image{opacity:.1;filter:none}.person-headshot{position:relative;overflow:hidden;height:400px;background:0 0;display:flex;align-items:center;justify-content:center}.headshot-link{display:block;width:100%;height:100%;text-decoration:none;color:inherit;transition:opacity .3s ease}.headshot-link:hover{opacity:.9}.person-headshot img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s ease}.person-card:hover .person-headshot img{transform:scale(1.05)}.person-headshot-large{width:100%;max-width:600px;height:800px;overflow:hidden;border-radius:12px;display:flex;align-items:center;justify-content:center;background:0 0}.person-headshot-large img{width:100%;height:100%;object-fit:contain;object-position:center}.person-image-credit{margin-top:1rem;text-align:center;font-size:1.1rem;font-weight:500;color:var(--48-purple);line-height:1.4}.person-image-credit a{color:var(--48-purple);text-decoration:none;font-weight:600}.person-image-credit a:hover{text-decoration:underline}.resume-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--48-purple-light);color:var(--48-purple-nearblack);border:2px solid var(--48-purple);border-radius:8px;text-decoration:none;font-weight:500;transition:all .3s ease}.resume-link:hover{background:var(--48-purple);color:var(--48-white);transform:translateY(-2px);box-shadow:0 4px 12px rgba(87,28,109,.3)}.resume-icon{font-size:1.2rem}.person-info{padding:1.5rem}.person-info h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.person-info h3 a{color:inherit;text-decoration:none}.person-info h3 a:hover{color:var(--48-purple)}.person-bio{font-size:.9rem;color:#666;line-height:1.4;margin:.5rem 0 0}.person-roles{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.role-tag{display:inline-block;background:var(--48-purple-light);color:var(--48-purple-nearblack);padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500}.person-header{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin:2rem 0;align-items:start}.person-details h1{font-size:2.5rem;margin:0 0 1rem;color:var(--48-purple-nearblack)}.person-roles-large{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.role-tag-large{background:var(--48-purple);color:var(--48-white);padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.person-contact{margin:.5rem 0;font-size:1rem}.person-contact a{color:var(--48-purple);text-decoration:none}.person-contact a:hover{text-decoration:underline}.person-content{margin:3rem 0;line-height:1.6}.person-gallery{margin:3rem 0}.person-gallery h3{margin:0 0 1.5rem;font-size:1.5rem;color:var(--48-purple-nearblack)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-item{border-radius:8px;overflow:hidden;transition:transform .3s ease}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{width:100%;height:250px;object-fit:cover;display:block}.person-resume{margin:3rem 0}.person-resume h3{margin:0 0 1rem;font-size:1.5rem;color:var(--48-purple-nearblack)}.image-credit{text-align:center;margin:3rem 0 1rem;padding:1rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.9rem}.image-credit p{margin:0}.image-credit a{color:var(--48-purple);text-decoration:none;font-weight:500}.image-credit a:hover{text-decoration:underline}@media(max-width:768px){.people-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.person-header{grid-template-columns:1fr;text-align:center}.person-detail{padding:1rem}.person-details h1{font-size:2rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}