/* AFTERGLOW — ink, mineral light, and an uncoated editorial surface. */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500&family=Inter+Tight:wght@400;500&display=swap');
:root{--paper:#0b0d10;--white:#171a1f;--ink:#eae6de;--muted:#a7adb7;--line:#eae6de27;--accent:#d8e5e8;--green:#a7adb7;--green-dark:#eae6de;--surface:#171a1f;--nav:#0b0d10;--display:'Inter Tight',Arial,sans-serif;--body:'IBM Plex Sans',Arial,sans-serif}
html{background:var(--paper);color-scheme:dark}body{font-family:var(--body);background:var(--paper);color:var(--ink)}::selection{background:#456e73;color:#eae6de}a{color:inherit}button{font-family:var(--body)}
.chapter-bar{padding:26px 4vw;background:#0b0d10;border:0;backdrop-filter:none;box-shadow:none}.spatial-body .chapter-bar{background:transparent}.chapter-brand{font:500 15px var(--body);letter-spacing:-.02em}.chapter-brand:before{content:'gm';font:500 17px var(--display);border:0;border-radius:0;width:auto;height:auto;letter-spacing:-.08em;padding:0;margin-right:20px;color:var(--muted)}.chapter-tools{gap:26px}.chapter-tools button,.menu-heading button{border:0;padding:8px 0;border-radius:0;font:11px var(--body);letter-spacing:.02em}.chapter-tools button:hover{color:#eae6de;background:none}.chapter-tools a{font:11px var(--body)}.chapter-tools button:after,.chapter-tools a:after{content:'';display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.chapter-tools button:hover:after,.chapter-tools a:hover:after{transform:scaleX(1)}.chapter-progress{background:#456e73;height:1px}.chapter-menu{background:#0b0d10;padding:40px 5vw;border:0}.chapter-menu::backdrop{background:#000b;backdrop-filter:none}.chapter-menu nav a{padding:14px 0;border-color:var(--line)}.chapter-menu nav strong{font:400 clamp(24px,3vw,42px) var(--display);letter-spacing:-.03em}.chapter-menu nav span{color:var(--muted)}.chapter-menu nav a:hover strong,.chapter-menu nav a[aria-current] strong{color:#eae6de}.menu-footer{color:var(--muted)}
.spatial-pin{background:#0b0d10}.spatial-canvas{pointer-events:auto}.gallery-kicker{top:116px;font:10px/1.6 var(--body);letter-spacing:.07em;color:var(--muted)}.gallery-heading{top:163px;left:4vw;font:400 clamp(72px,10.5vw,176px)/.88 var(--display);letter-spacing:-.065em;max-width:70%}.gallery-heading em{font:inherit;color:var(--ink);letter-spacing:inherit}.gallery-meta{top:116px;font:10px/1.7 var(--body);color:var(--muted)}.gallery-copy{width:min(390px,31vw);bottom:112px;background:none;box-shadow:none!important}.gallery-intro .gallery-copy{bottom:126px}.gallery-category{color:var(--muted);font:10px/1.6 var(--body);letter-spacing:.05em}.gallery-copy h2{font:400 clamp(31px,3.3vw,56px)/1.02 var(--display);letter-spacing:-.04em;margin:16px 0}.gallery-copy p{font:400 14px/1.7 var(--body);color:var(--muted);max-width:34ch}.gallery-intro .gallery-copy p{font-size:16px;max-width:31ch}.gallery-link{font:400 12px var(--body);border-color:#eae6de66;padding-bottom:10px;transition:border-color .25s}.gallery-link:hover{color:var(--ink);border-color:#eae6de}.gallery-side{font:10px/1.9 var(--body);letter-spacing:.04em;bottom:120px}.gallery-bottom{font:10px var(--body);border-color:var(--line);padding-top:20px;bottom:28px}.gallery-jumps{gap:15px}.gallery-jumps button{border:0;border-radius:0;width:24px;height:28px;font:11px var(--body);color:var(--muted);position:relative}.gallery-jumps button[aria-current=true]{background:none;color:var(--ink)}.gallery-jumps button[aria-current=true]:after{content:'';position:absolute;bottom:0;height:1px;left:0;right:0;background:var(--ink)}.gallery-next{font:11px var(--body)}.gallery-fallback{filter:none}.gallery-heading,.gallery-copy,.gallery-meta,.gallery-kicker,.gallery-side,.gallery-bottom{z-index:2}
.archive{position:relative;padding:140px 7vw 180px;background:#0b0d10}.archive h2{font:11px var(--body);letter-spacing:.07em;color:var(--muted);margin:0 0 75px}.archive a{grid-template-columns:45px 1fr 145px 20px;gap:22px;padding:30px 0;border-color:var(--line);transition:color .25s}.archive strong{font:400 clamp(27px,4vw,65px) var(--display);letter-spacing:-.045em}.archive span{font:11px var(--body);color:var(--muted)}.archive a:hover strong{color:#d8e5e8}.archive a:nth-of-type(2){margin-left:16vw}.archive a:nth-of-type(4){margin-right:12vw}.archive a:nth-of-type(6){margin-left:8vw}.spatial-footer{background:transparent;position:relative;padding:140px 7vw 110px;min-height:76svh}.spatial-footer h2{font:400 clamp(52px,7vw,115px)/1.02 var(--display);letter-spacing:-.05em}.spatial-footer h2 em{font:inherit}.spatial-footer .footer-eyebrow{font:11px var(--body);color:var(--muted)}.spatial-footer a{font-size:13px;text-decoration-thickness:1px;text-underline-offset:9px}.afterglow-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none}.afterglow-backdrop canvas{width:100%;height:100%;display:block}body:has(.afterglow-backdrop){isolation:isolate;background:transparent}
body:not(.spatial-body) h1,body:not(.spatial-body) h2,body:not(.spatial-body) h3{font-family:var(--display);font-weight:400;letter-spacing:-.04em}body:not(.spatial-body) h1{font-size:clamp(53px,8vw,120px);line-height:.98}body:not(.spatial-body) p{font-family:var(--body);color:var(--muted);line-height:1.75}body:not(.spatial-body) .hero,body:not(.spatial-body) .section,body:not(.spatial-body) .contact{background:transparent}.chapter-page>header{padding-bottom:90px}.section{padding:100px 0}.section-number,.studio-label,.role,.meta{color:var(--muted)!important;letter-spacing:.04em}.experience-item{padding:39px 0;grid-template-columns:1fr 1.22fr;gap:8vw}.experience-item h3{font-size:28px}.experience-item:nth-child(3n){padding-block:65px}.sports-grid{display:block}.sports-card{padding:28px 0;background:none;border:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px}.sports-card h3{font-size:28px}.project-case,.client-card,.build-note,.sports-card,.steps article,.sensor-demo,.physics-lab{background:transparent!important;border-radius:0!important;box-shadow:none!important}.project-case{border:0;border-top:1px solid var(--line);padding:55px 0}.client-card{border:0;border-top:1px solid var(--line);padding:35px 0}.client-grid{gap:6vw}.robotics-frame img,.sensor-photos img,.project-media img,.client-card img{border-radius:0!important}.button{border-radius:0;background:none;color:var(--ink);border-color:var(--line);box-shadow:none}.button:hover{background:#171a1f;color:var(--ink)}.text-link{color:var(--ink)}.page-contact>a{font-family:var(--display)}.why-grid{gap:5vw}.timeline{gap:5vw}.timeline h3{font-size:28px}.scroll-showroom{background:transparent!important}.scroll-showroom-inner{background:transparent!important}.scroll-showroom-copy h3{font-family:var(--display)}.scroll-showroom button{border-radius:0!important}.chapter-footer{padding-block:50px}.result-strip{gap:6vw;padding-block:45px}.result-strip strong{color:var(--ink)}.chapter-arrived{animation-duration:.65s}.skip-link{background:#171a1f;color:#eae6de}a:focus-visible,button:focus-visible{outline:2px solid #d8e5e8;outline-offset:6px}
@media(max-width:900px){.gallery-heading{font-size:12vw;top:150px}.gallery-copy{width:36vw}.gallery-intro .gallery-copy{bottom:130px}.gallery-copy p{font-size:13px}.chapter-tools{gap:20px}.archive{padding:90px 5vw 110px}.experience-item{gap:5vw}.chapter-brand:before{margin-right:10px}}
@media(max-width:650px){.chapter-bar{padding:22px 5vw}.chapter-brand{font-size:12px}.chapter-tools{gap:13px}.chapter-tools button{font-size:10px}.chapter-tools .palette-button{font-size:0}.chapter-tools .palette-button:before{content:'Light';font-size:10px}.gallery-kicker,.gallery-meta{top:90px;font-size:9px}.gallery-heading{top:130px;font-size:17vw;line-height:.9}.gallery-copy{width:87vw;left:5vw;bottom:95px}.gallery-intro .gallery-copy{bottom:100px}.gallery-copy h2{font-size:35px;margin:10px 0}.gallery-copy p{font-size:13px;line-height:1.55;max-width:40ch}.gallery-intro .gallery-copy p{font-size:14px;max-width:31ch}.gallery-category{font-size:9px}.gallery-bottom{bottom:22px;padding-top:14px}.gallery-jumps{gap:11px}.gallery-jumps button{width:24px;font-size:10px}.gallery-side{display:none}.archive a{grid-template-columns:22px 1fr 15px;gap:14px;margin-left:0!important;margin-right:0!important;padding:26px 0}.archive strong{font-size:31px}.archive h2{margin-bottom:45px}.spatial-footer{padding:90px 5vw;min-height:65svh}.spatial-footer h2{font-size:49px}.spatial-footer-links{gap:25px}.section{padding:65px 0}.experience-item{grid-template-columns:1fr;gap:18px;padding-block:30px}.experience-item:nth-child(3n){padding-block:40px}.sports-card{grid-template-columns:1fr;gap:10px}.chapter-menu{padding:30px 6vw}.chapter-menu nav a{padding-block:15px}.chapter-menu nav strong{font-size:29px}.chapter-menu nav span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.chapter-arrived{animation:none}.gallery-link,.archive a{transition:none}}
.spatial-body .chapter-bar{background:#0b0d10}.archive a.curated-project{display:grid;grid-template-columns:35px 1fr 130px 20px;border:0;padding:0 0 70px}.curated-project img{grid-column:1/-1;width:100%;height:clamp(280px,43vw,650px);object-fit:contain;background:#11151a;margin-bottom:20px}.archive a.curated-project:nth-of-type(2){margin:10px 0 60px 30%;}.archive a.curated-project:nth-of-type(2) img{height:32vw;object-fit:cover;object-position:top}.archive a.curated-project:nth-of-type(3){margin:0 10% 75px 0}.archive a.curated-project:nth-of-type(3) img{height:420px}.archive a.curated-project:nth-of-type(3) strong{font-size:45px}.archive a.curated-project:hover img{filter:brightness(1.06)}@media(max-width:650px){.archive a.curated-project{grid-template-columns:22px 1fr 15px;padding-bottom:40px}.archive a.curated-project:nth-of-type(2),.archive a.curated-project:nth-of-type(3){margin:0 0 30px!important}.archive a.curated-project:nth-of-type(2) img{height:230px}.archive a.curated-project:nth-of-type(3) img{height:330px}.archive a.curated-project:nth-of-type(3) strong{font-size:31px}}
.spatial-footer{overflow:hidden;color:var(--ink)}.spatial-footer>.spatial-canvas{z-index:0;pointer-events:none}.spatial-footer>.spatial-canvas canvas{width:100%!important;height:100%!important}.spatial-footer>:not(.spatial-canvas){position:relative;z-index:1}
/* Gallery pacing and the personal index beneath it. */
.spatial-scroll{height:1150svh}.gallery-copy{top:168px;bottom:auto}.gallery-copy h2{font-size:clamp(40px,5.3vw,84px);max-width:8ch;line-height:.99;letter-spacing:-.05em;margin:20px 0 26px}.gallery-copy p{font-size:14px;max-width:32ch}.gallery-intro .gallery-copy{top:auto;bottom:126px}.gallery-intro .gallery-category{display:none}.gallery-intro .gallery-copy p{font-size:14px;color:var(--muted)}.beyond-projects{padding:110px 7vw 90px;background:#0b0d10;position:relative}.beyond-projects>.footer-eyebrow{font:11px var(--body);letter-spacing:.06em;color:var(--muted);display:block;margin-bottom:75px}.beyond-links{display:grid;grid-template-columns:1.1fr 1fr;gap:9vw}.beyond-links a{display:block;border-top:1px solid var(--line);padding-top:25px;text-decoration:none}.beyond-links a>span{font:11px var(--body);color:var(--muted)}.beyond-links h2{font:400 clamp(30px,4.5vw,68px)/1.03 var(--display);letter-spacing:-.045em;margin:35px 0}.beyond-links a:nth-child(2){margin-top:100px}.beyond-arrow{display:block;font-size:25px!important}.beyond-links a:hover h2{color:#d8e5e8}.spatial-footer{min-height:0;padding:65px 7vw 80px}.spatial-footer-links{gap:45px}.gallery-heading{top:168px}
@media(min-width:651px) and (max-width:1000px){.gallery-copy{top:160px;width:35vw}.gallery-copy h2{font-size:49px}.gallery-copy p{font-size:13px}.gallery-heading{top:160px}}
.spatial-body[data-gallery=work] .gallery-heading{top:108px;font:11px/1.4 var(--body);letter-spacing:.05em;opacity:1!important;transform:none!important;color:var(--muted)}
@media(max-width:650px){.spatial-scroll{height:1150svh}.gallery-heading{top:112px}.gallery-copy{top:108px;left:5vw;width:87vw}.gallery-copy h2{font-size:38px;max-width:95%;margin:8px 0 14px}.gallery-copy p{font-size:12px;max-width:42ch;line-height:1.5}.gallery-category{font-size:9px}.gallery-link{font-size:11px}.gallery-intro .gallery-copy{top:auto;bottom:110px}.gallery-intro .gallery-copy p{font-size:13px}.beyond-projects{padding:75px 5vw 55px}.beyond-projects>.footer-eyebrow{margin-bottom:40px}.beyond-links{grid-template-columns:1fr;gap:48px}.beyond-links a:nth-child(2){margin-top:0}.beyond-links h2{font-size:39px;margin:25px 0}.spatial-footer{padding:50px 5vw 65px;min-height:0}}
