:root{--ink:#18212b;--muted:#455d71;--paper:#dceefa;--green:#205b8a;--line:#acc9dd;--wash:#c9e5f7;--accent:#b4dcf6}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:6px}.site-header{max-width:1200px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;font-weight:800;letter-spacing:-2px}.wordmark span{color:var(--green)}nav{display:flex;gap:30px;font-size:14px}nav a:hover{color:var(--green)}main{max-width:1200px;margin:auto;padding:0 40px}.intro{padding:95px 0 85px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:var(--green);margin:0 0 20px}.status-dot{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:8px}h1{font-size:clamp(48px,8vw,100px);line-height:1.05;letter-spacing:-5px;margin:0 0 26px;font-weight:700}.accent{color:var(--green)}.intro-line{font-size:clamp(22px,3vw,32px);line-height:1.45;color:var(--muted);margin:0 0 30px}.explore-link{display:inline-flex;gap:36px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:7px;font-size:14px}.about{border-top:1px solid var(--line);padding:55px 0 75px;display:grid;grid-template-columns:1fr 2fr;gap:50px}h2{font-size:clamp(28px,4vw,40px);letter-spacing:-1.4px;line-height:1.2;margin:0}.about-copy p{margin:0 0 18px;color:var(--muted);font-size:16px}.about-copy strong{color:var(--ink);font-weight:500}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags span{font-size:11px;background:var(--wash);border:1px solid var(--line);padding:5px 12px;border-radius:30px}.project-section{padding:45px 0 55px;border-top:1px solid var(--line);scroll-margin-top:25px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading .eyebrow{margin-bottom:10px}.section-total{font-size:12px;color:var(--muted);white-space:nowrap}.carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:18px;align-items:center}.arrow{height:48px;width:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:22px;cursor:pointer;transition:background .15s,transform .15s}.arrow:hover{background:var(--accent);transform:scale(1.05)}.project-card{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:330px}.card-copy{padding:40px;display:flex;flex-direction:column;justify-content:center}.card-kicker{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--green);margin:0 0 18px}.card-copy h3{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0 0 18px}.card-description{font-size:15px;color:var(--muted);margin:0}.image-placeholder{background:var(--wash);border-left:1px solid var(--line);min-height:280px}.carousel-footer{display:flex;justify-content:space-between;align-items:center;margin:18px 66px 0;gap:15px}.dots{display:flex;gap:9px;flex-wrap:wrap}.dot{width:8px;height:8px;border:0;border-radius:50%;background:#d2dacd;padding:0;cursor:pointer;position:relative}.dot:before{content:"";position:absolute;inset:-7px}.dot[aria-pressed="true"]{background:var(--green);width:24px;border-radius:5px}.slide-count{font-size:11px;color:var(--muted)}.contact{padding:65px 0 75px;border-top:1px solid var(--line)}.contact>p:not(.eyebrow){color:var(--muted);font-size:15px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px;margin-top:30px}.contact-grid>a,.contact-grid>div{padding:20px 0;border-bottom:1px solid var(--line);font-size:15px;overflow-wrap:anywhere}.contact-grid span{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.contact-grid b{float:right;font-weight:400}.contact-grid a:hover{color:var(--green)}.pending{color:var(--muted)}footer{max-width:1200px;padding:25px 40px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.noscript{padding:20px 40px}
/* Three-color theme: white, blue, and near-black, with blue tints for depth. */
body{isolation:isolate;position:relative}
#background-grid{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}
#background-grid svg{display:block;width:100%;height:100%}
.blueprint-shape{color:#3479ab;opacity:.36}
.blueprint-shape text{font:9px monospace;letter-spacing:1.5px;fill:currentColor;stroke:none;text-anchor:middle}
body{background:radial-gradient(ellipse at 90% 0%,#b4dcf6 0,transparent 34rem),linear-gradient(135deg,#cfeafa,var(--paper) 45%,#eaf4fc)}
.site-header{border-bottom-color:#9cbcd4;justify-content:center}
nav{align-items:center}
nav a{display:inline-flex;align-items:center;gap:5px;line-height:1.4}
nav a:last-child{background:var(--accent);padding:8px 16px;border-radius:30px}
.intro{position:relative;isolation:isolate}
.intro h1{max-width:850px}
.affiliations{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:0 0 30px}
.affiliation-logo{border:1px solid #18212b;border-radius:5px;max-width:100%;overflow:hidden}
.affiliation-logo img{display:block;width:100%;height:auto}
.affiliation-osu{width:360px}.affiliation-games{width:110px}.affiliation-solar{width:230px}
@media(max-width:450px){.affiliations{gap:10px}.affiliation-osu{width:100%}.affiliation-games{width:85px}.affiliation-solar{width:calc(100% - 95px)}}
.explore-link{background:var(--accent);padding:11px 19px;border:1px solid #8bbcdc;border-radius:30px;font-weight:600}
.about{background:#ffffffb3;border:1px solid var(--line);border-radius:22px;padding:38px;margin-bottom:35px;box-shadow:0 8px 25px #315b7910}
.tags span{background:#cce6f7;border-color:#a0c6df;color:#244b69}
.project-section{--section-tint:#c7e5f8;--section-card:#f7fbff;--section-color:#205b8a;border-top:0;padding-top:35px}
.project-section:nth-child(even){--section-tint:#b6d9f1;--section-card:#edf6fd}
.section-heading .eyebrow,.card-kicker{color:var(--section-color)}
.section-total{background:var(--section-tint);color:var(--ink);padding:5px 12px;border-radius:20px}
.project-card{background:var(--section-card);border-color:#93acc066;box-shadow:0 10px 24px #244d6e12}
.image-placeholder{background:var(--section-tint);border-color:#93acc066;overflow:hidden}
.card-image{display:block;width:100%;height:100%;object-fit:cover}
.arrow{background:var(--section-tint);border-color:#93acc080;box-shadow:0 3px 0 #315b7915}
.dot{background:#91abc0}.dot[aria-pressed="true"]{background:var(--section-color)}
.hire-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 66px 0;padding:18px 20px;background:#ffffffa8;border:1px solid #93acc080;border-radius:14px}.hire-callout p{margin:0 0 3px;font-size:15px;font-weight:700}.hire-callout span{display:block;color:var(--muted);font-size:13px;line-height:1.45}.hire-link{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;padding:8px 16px;background:var(--accent);border:1px solid #8bbcdc;border-radius:30px;font-size:14px;font-weight:600}.hire-link:hover{background:#a9d4ee}
.contact{background:#c1e0f5;border:1px solid #94bdd9;border-radius:22px;padding:40px;margin:20px 0 45px}
.contact-grid>a,.contact-grid>div{border-color:#94bdd9}.contact .eyebrow{color:var(--green)}
.contact-grid .contact-item{display:flex;align-items:center;gap:14px}
.contact-icon{width:44px;height:44px;flex:0 0 44px;padding:11px;border-radius:50%;background:#edf6fd;border:1px solid #94bdd9;color:var(--ink)}
.contact-details{min-width:0;flex:1}
.preferred-contact{display:inline-flex;align-items:center;margin-left:7px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.contact-item b{float:none;flex-shrink:0}
.contact-item:hover .contact-icon{color:var(--green);border-color:var(--green)}
@media(max-width:700px){.site-header{padding:20px}nav{gap:14px;font-size:12px}nav a:last-child{padding:6px 10px}main{padding:0 20px}.intro{padding:65px 0 60px}h1{letter-spacing:-2.5px}.about{grid-template-columns:1fr;gap:25px;padding:25px;margin-bottom:20px}.project-section{padding:30px 0 40px}.section-heading{align-items:start}.section-total{margin-top:6px}.carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.arrow{width:32px;height:32px;font-size:19px}.project-card{grid-template-columns:1fr;min-height:0;border-radius:12px}.card-copy{padding:25px;min-height:270px}.card-copy h3{font-size:24px}.image-placeholder{border-left:0;border-top:1px solid #93acc066;min-height:210px}.carousel-footer{margin:18px 40px 0}.contact{padding:25px}.contact-grid{grid-template-columns:1fr}footer{padding:20px;flex-wrap:wrap}footer span:nth-child(2){display:none}}
@media(max-width:700px){.hire-callout{flex-direction:column;align-items:flex-start;margin:20px 40px 0}.hire-link{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
