.site-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--page-gutter);background:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.4) 70%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.site-nav-brand{font-size:24px;color:var(--accent);filter:drop-shadow(0 0 4px rgba(111,240,245,.3));letter-spacing:.5px;text-shadow:none;transition:filter var(--transition)}.site-nav-brand:hover,.site-nav-brand:focus{filter:drop-shadow(0 0 8px rgba(111,240,245,.6)) brightness(1.15)}.site-nav-links{display:flex;align-items:center;gap:1.5rem;font-size:20px;font-weight:400;margin-left:auto;flex-shrink:0}.site-nav-links a{color:var(--text);text-shadow:var(--text-glow);white-space:nowrap;padding:.25rem 0;transition:color var(--transition),text-shadow var(--transition)}.site-nav-links a:hover,.site-nav-links a:focus,.site-nav-links a[aria-current=page]{color:var(--accent);text-shadow:0 0 6px var(--accent)}@media(max-width:600px){.site-nav{flex-wrap:wrap;gap:.45rem 1rem;padding:.6rem var(--page-gutter)}.site-nav-brand{font-size:20px}.site-nav-links{flex:1 1 auto;flex-wrap:wrap;gap:.35rem .85rem;justify-content:flex-end;min-width:0;font-size:16px}}@media(max-width:420px){.site-nav-links{flex-basis:100%;justify-content:space-between}}.home-hero{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8vh var(--page-gutter) 0;min-height:82.4vh}.home-hero-title{font-size:44px;margin:0 0 .6rem;color:var(--accent);filter:drop-shadow(0 0 10px rgba(111,240,245,.35));letter-spacing:.5px;font-weight:400;text-shadow:none}.home-hero-prompt{color:var(--muted);margin-right:.5ch}.home-hero-tagline{color:var(--muted);font-size:20px;margin:0 0 1.5rem;max-width:32em}.home-hero-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.home-hero-links a{display:inline-flex;align-items:baseline;gap:.6rem;font-size:22px;padding:.15rem 0;color:var(--text);text-shadow:none;transition:color var(--transition),text-shadow var(--transition)}.home-hero-links a:hover,.home-hero-links a:focus{color:var(--accent);text-shadow:0 0 6px var(--accent)}.home-hero-hash{color:var(--muted)}.home-hero-blurb{color:var(--muted);font-size:16px}@media(max-width:600px){.home-hero{padding:6vh var(--page-gutter) 0}.home-hero-title{font-size:32px}.home-hero-tagline{font-size:16px}.home-hero-links a,.scene-select{font-size:18px}.home-hero-blurb{display:none}}.scene-container{position:fixed;left:0;right:0;bottom:0;height:17.6vh;min-height:80px;background:#000;pointer-events:none;z-index:1;contain:layout paint size}.scene-host{position:relative;width:100%;height:100%}.scene-container.scene-fullscreen{top:0;height:auto;min-height:0;z-index:-1}.scene-canvas{display:block;width:100%;height:100%;background:#000;opacity:0;animation:scene-fade-in .4s ease-out both}@keyframes scene-fade-in{0%{opacity:0}to{opacity:1}}.home-hero-scene{list-style:none}.scene-select{display:inline-flex;align-items:baseline;gap:.4rem;font-family:var(--font-retro);font-size:22px;font-weight:700;color:var(--accent);user-select:none}.scene-select select{font-family:inherit;font-size:inherit;color:var(--accent);background:var(--bg);border:1px solid rgba(92,225,230,.4);border-radius:var(--border-radius);padding:0 4px;cursor:pointer}.scene-select select:focus-visible{outline:1px solid var(--accent)}.centered-page{text-align:center}.centered-page .projects-list{text-align:left}.projects-list{list-style:none;margin-top:1.5rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.projects-list li{font-size:22px;margin:0}.project-card{display:block;height:100%;padding:1.1rem 1.25rem;border:1px solid rgba(92,225,230,.18);border-radius:var(--border-radius);transition:border-color var(--transition),transform var(--transition)}.project-card:hover{border-color:#5ce1e68c;transform:translate(4px)}.project-card-title{color:var(--accent);font-size:22px;margin-bottom:.3rem}.project-card-meta{color:var(--muted);font-size:16px;display:flex;gap:1rem;flex-wrap:wrap;margin-top:.2rem}.project-card-tech{color:var(--muted);font-size:16px;margin-top:.3rem}.project-detail{padding:2rem 6vw;max-width:var(--max-width)}.project-detail h1{font-size:36px;margin-bottom:.5rem}.project-detail .meta{color:var(--muted);font-size:16px;margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}.project-detail p{font-size:22px;line-height:1.6;margin-bottom:1rem}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.game-card{border:1px solid rgba(92,225,230,.2);border-radius:var(--border-radius);padding:1rem;transition:border-color var(--transition),transform var(--transition)}.game-card:hover{border-color:var(--accent);transform:translateY(-2px)}.game-card-title{color:var(--accent);font-size:20px;margin-bottom:.4rem}.game-card-status{color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:1px}.game-card-blurb{margin-top:.6rem;color:var(--muted);font-size:16px}.game-coming{margin-top:2rem}.game-menu{max-width:none;margin:2.5rem 0 0}.game-menu-card{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border:1px solid rgba(92,225,230,.25);border-radius:var(--border-radius);transition:border-color var(--transition),transform var(--transition)}.game-menu-card:hover,.game-menu-card:focus-visible{border-color:var(--accent);transform:translate(4px)}.game-menu-number,.game-kicker{color:var(--muted);font-size:16px}.game-menu-card strong{display:block;color:var(--accent);font-family:var(--font-retro);font-size:26px;font-weight:400}.game-menu-card small{display:block;margin-top:.25rem;color:var(--muted);font-size:16px}.game-kicker{margin-bottom:.75rem}.game-stage{display:flex;justify-content:center;margin-top:3rem}.game-stage .tictactoe{width:min(90vw,360px);margin-top:0}.game-stage .tictactoe-board{width:100%;grid-template-columns:repeat(3,1fr)}.game-stage .tictactoe-cell{width:100%;min-width:0;min-height:0;aspect-ratio:1;font-size:clamp(32px,8vw,48px)}.game-stage .tictactoe-status,.game-stage .tictactoe-restart{text-align:center}.game-stage .tictactoe-restart{display:block;margin-right:auto;margin-left:auto}.game-return{margin-top:3rem;text-align:center}.game-return a{color:var(--muted)}.game-return a:hover{color:var(--accent)}.notebook-placeholder{display:grid;min-height:260px;place-items:center;padding:2rem;color:var(--muted);background:repeating-linear-gradient(-45deg,rgba(92,225,230,.04) 0 10px,transparent 10px 20px);border:1px dashed rgba(92,225,230,.3);text-align:center;letter-spacing:.08em}.empty-state{margin-top:2rem;padding:2rem;border:1px dashed rgba(92,225,230,.3);border-radius:var(--border-radius);color:var(--muted);text-align:center}.article{width:100%;padding:4rem var(--page-gutter) 8rem}.article-header{max-width:min(1200px,100%);margin:0 auto 4rem;text-align:center}.article-kicker{color:var(--muted);font-size:14px;letter-spacing:.18em;margin-bottom:.6rem}.article-title{margin:0;font-size:clamp(42px,7vw,76px);line-height:1.05}.article-dek{color:var(--muted);font-size:20px;line-height:1.5;margin:1.5rem auto;max-width:700px}.article-byline{display:flex;flex-wrap:wrap;gap:1.2rem;color:var(--muted);font-size:14px;justify-content:center}.article-rule{border:0;border-top:1px dashed rgba(92,225,230,.3);margin:1.5rem 0 0}.article-body{max-width:820px;margin:0 auto;font-size:22px;line-height:1.8}.article-body>p{margin:0 0 1.8rem}.article-body>p:first-of-type:first-letter{float:left;font-size:3.4em;line-height:.85;padding:.06em .14em 0 0;color:var(--accent)}.article-body h2{margin:4rem 0 1.2rem;font-size:34px}.article-figure{margin:4rem 0}.article-figure img{display:block;width:100%;border-radius:var(--border-radius);border:1px solid rgba(92,225,230,.15)}.article-figure figcaption{color:var(--muted);font-size:15px;line-height:1.5;margin-top:.6rem;text-align:center}.article-pullquote{border-left:3px solid var(--accent);margin:3.5rem -3rem;padding:.4rem 0 .4rem 1.25rem;color:var(--accent);font-size:24px;line-height:1.4}.article-footer{margin-top:3rem;text-align:center}.article-back{color:var(--muted)}.article-back:hover{color:var(--accent)}@media(min-width:768px){.article-body{max-width:820px}.article-figure{margin-right:-3rem;margin-left:-3rem}}@media(max-width:767px){.article-pullquote{margin:2.5rem 0;font-size:22px}}.about-page{max-width:none}.about-intro{display:grid;grid-template-columns:1fr minmax(300px,400px);grid-template-areas:"copy photo";gap:clamp(2rem,4vw,4rem);align-items:center}.about-copy{grid-area:copy;max-width:none}.about-copy p{margin-bottom:1.25rem}.about-photo{grid-area:photo;width:100%;max-width:400px;justify-self:center;border-radius:var(--border-radius);border:1px solid rgba(92,225,230,.25)}.article-body a,.notebook-body a,.page-content a{color:var(--accent);text-decoration:underline;text-decoration-color:#6ff0f566;text-underline-offset:3px;transition:color var(--transition),text-decoration-color var(--transition)}.article-body a:hover,.article-body a:focus,.notebook-body a:hover,.notebook-body a:focus,.page-content a:hover,.page-content a:focus{color:var(--accent);text-decoration-color:var(--accent);text-shadow:0 0 6px rgba(111,240,245,.5)}.social-links{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed rgba(92,225,230,.3)}.social-links a{display:inline-flex;align-items:center;gap:.45rem;font-size:18px;color:var(--text);text-decoration:none}.social-links a:hover .social-icon{filter:brightness(1.2) drop-shadow(0 0 4px rgba(111,240,245,.5))}.social-icon{display:block;width:28px;height:28px;flex:0 0 auto;image-rendering:auto}@media(max-width:1024px){.about-intro{grid-template-columns:1fr;grid-template-areas:"photo" "copy";justify-items:center;gap:1.5rem}.about-copy{text-align:left}.about-photo{max-width:300px}}.resume-page{width:100%;max-width:none;padding:2rem var(--page-gutter)}.resume-frame{display:block;width:100%;height:calc(100vh - 7rem);min-height:700px;border:1px solid rgba(92,225,230,.2);border-radius:var(--border-radius);background:#000}.resume-download{margin:.75rem 0 0;text-align:right}.resume-download a{color:var(--accent);text-decoration:underline;text-decoration-color:#6ff0f566;text-underline-offset:3px}.notebook-page{width:100%;max-width:none;padding:2.5rem var(--page-gutter) 5rem}.notebook-header{text-align:center;padding-bottom:2rem;border-bottom:1px dashed rgba(92,225,230,.3)}.notebook-header h1{margin-bottom:.6rem}.notebook-summary{max-width:720px;margin:0 auto 1rem;color:var(--text-readable);font-size:21px}.notebook-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;color:var(--muted);font-size:16px}.notebook-body{max-width:1100px;margin:2.5rem auto 0}.notebook-body h2{margin:3rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(92,225,230,.2)}.notebook-body h3{margin:2rem 0 .75rem}.notebook-body p,.notebook-body li{color:var(--text-readable);font-size:21px;line-height:1.75}.notebook-body ul,.notebook-body ol{margin:0 0 1.5rem 1.5rem}.notebook-figure{margin:2rem 0;padding:1rem;border:1px solid rgba(92,225,230,.18);border-radius:var(--border-radius)}.notebook-figure img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:3px}.notebook-figure figcaption{margin-top:.75rem;color:var(--muted);font-size:16px;text-align:center}.notebook-code{margin:1.5rem 0}@media(max-width:700px){.notebook-page,.resume-page{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.resume-frame{min-height:560px;height:calc(100vh - 5rem)}}.api-console{width:min(1380px,100%);margin:0 auto;color:var(--text-readable)}.api-console--relay{--relay-line: rgba(111, 240, 245, .24);--relay-line-strong: rgba(111, 240, 245, .48);font-family:Share Tech Mono,monospace}.api-console--relay .api-console-kicker{color:#c2ae65;letter-spacing:.03em;text-transform:none}.api-console--relay .api-console-kicker:before{color:var(--accent);content:"> "}.api-console--relay .api-console-header{border-bottom-color:var(--relay-line-strong)}.api-console--relay .api-console-tabs{border-bottom:0;padding-block:.75rem}.api-console--relay .api-console-tabs button{border:0;border-bottom:1px solid transparent;padding-inline:0;margin-right:1.25rem;text-transform:lowercase}.api-console--relay .api-console-tabs button:hover,.api-console--relay .api-console-tabs button:focus-visible,.api-console--relay .api-console-tabs button.is-active{border-color:var(--accent);background:transparent}.api-console--relay .api-console-history-toggle{margin-left:auto;margin-right:0}.api-console--relay .api-console-grid{gap:0;border-top:1px solid var(--relay-line)}.api-console--relay .api-console-catalog{border:0;border-right:1px solid var(--relay-line);background:transparent;padding:.85rem 1.1rem .85rem 0}.api-console--relay .api-console-request-panel{border:0;background:transparent;padding:.85rem 0 1rem 1.35rem}.api-console--relay .api-console-section-heading{padding-left:0}.api-console--relay .api-console-route{border-bottom:1px solid rgba(111,240,245,.1);padding-block:.65rem}.api-console--relay .api-console-route:last-child{border-bottom:0}.api-console--relay .api-console-route:hover,.api-console--relay .api-console-route:focus-visible,.api-console--relay .api-console-route.is-active{background:transparent;border-left-color:var(--accent)}.api-console--relay .api-console-request-line{border-bottom-color:var(--relay-line)}.api-console--relay .api-console-response-label,.api-console--relay .api-console-examples{border-top-color:var(--relay-line)}.api-console--relay .api-console-document-panel{border:0;border-top:1px solid var(--relay-line);background:transparent;padding-inline:0}.api-console-header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding:2rem 0 1.75rem;border-bottom:1px solid rgba(111,240,245,.25)}.api-console-kicker,.api-console-section-heading,.api-console-field span,.api-console-response-meta,.api-console-health,.api-console-method{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.api-console-kicker,.api-console-section-heading,.api-console-field span{color:var(--muted)}.api-console-header h3{max-width:800px;margin:.35rem 0;font-size:clamp(28px,4vw,42px);line-height:1.1;font-family:VT323,monospace;font-weight:400}.api-console-health{display:inline-flex;align-items:center;flex-shrink:0;gap:.55rem;margin:.35rem 0 0;color:var(--muted);white-space:nowrap}.api-console-health.is-online{color:var(--accent)}.api-console-health.is-offline{color:#ff9b7c}.api-console-service-dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.api-console-tabs{display:flex;align-items:center;gap:.25rem;padding:1rem 0;border-bottom:1px dashed rgba(111,240,245,.2)}.api-console-tabs button,.api-console-route,.api-console-send{border:1px solid transparent;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.api-console-tabs button{padding:.45rem .7rem}.api-console-tabs button:hover,.api-console-tabs button:focus-visible,.api-console-tabs button.is-active{border-color:#6ff0f559;color:var(--accent)}.api-console-history-toggle{margin-left:auto}.api-console-tabs button:disabled{cursor:not-allowed;opacity:.45}.api-console-grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.6fr);gap:1rem;padding-top:1rem}.api-console-catalog,.api-console-request-panel,.api-console-document-panel{border:1px solid rgba(111,240,245,.2);background:#07181a99}.api-console-catalog{align-self:start;padding:.75rem}.api-console-section-heading{display:flex;justify-content:space-between;gap:1rem;padding:.25rem .35rem .7rem}.api-console-route-list{margin:0;padding:0;list-style:none}.api-console-route{display:grid;grid-template-columns:3.5rem minmax(0,1fr);width:100%;gap:.6rem;padding:.7rem .35rem;border:0;border-left:2px solid transparent;text-align:left}.api-console-route:hover,.api-console-route:focus-visible,.api-console-route.is-active{border-left-color:var(--accent);background:#6ff0f514;color:var(--text-readable)}.api-console-route strong,.api-console-route small{display:block}.api-console-route strong{overflow:hidden;color:var(--text-readable);font-weight:400;text-overflow:ellipsis;white-space:nowrap}.api-console-route small{margin-top:.2rem;color:var(--muted);font-size:14px;line-height:1.3}.api-console-method{align-self:start;padding-top:.1rem;color:#c2ae65}.api-console-method.is-post{color:#ff9b7c}.api-console-request-panel{min-width:0;padding:1rem}.api-console-transcript-label{margin:0;color:var(--muted);font-size:14px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.api-console-response-label{margin-top:1.25rem;padding-top:1rem;border-top:1px dashed rgba(111,240,245,.2)}.api-console-request-line{display:flex;align-items:baseline;gap:.75rem;padding-bottom:1rem;border-bottom:1px dashed rgba(111,240,245,.2)}.api-console-request-line code{overflow:auto;color:var(--text-readable);white-space:nowrap}.api-console-field{display:block;margin-top:1rem}.api-console-field span{display:block;margin-bottom:.35rem}.api-console-field input,.api-console-field textarea{width:100%;border:1px solid rgba(111,240,245,.3);border-radius:0;background:#00000073;color:var(--text-readable);font:inherit;padding:.6rem}.api-console-field textarea{min-height:180px;resize:vertical;font-size:14px;line-height:1.4}.api-console-action-row{display:flex;align-items:center;gap:1rem;margin:1rem 0}.api-console-send{padding:.6rem 1rem;border-color:var(--accent);background:var(--accent);color:#001416}.api-console-send:hover,.api-console-send:focus-visible{background:var(--text-readable)}.api-console-send:disabled{cursor:wait;opacity:.55}.api-console-muted,.api-console-empty{color:var(--muted);font-size:15px}.api-console-error{padding:.65rem;border-left:2px solid #ff9b7c;background:#ff9b7c14;color:#ffb29a;font-size:15px}.api-console-response{margin-top:1rem;border-top:1px solid rgba(111,240,245,.2)}.api-console-response-meta{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 0;color:var(--muted)}.api-console-response-meta .is-success{color:var(--accent)}.api-console-response-meta .is-failure{color:#ff9b7c}.api-console-response pre,.api-console-document-panel pre{max-height:440px;margin:0;border-radius:0;font-size:14px;white-space:pre-wrap;overflow:auto}.api-console-examples{margin-top:1rem;border-top:1px dashed rgba(111,240,245,.2);color:var(--muted);font-size:15px}.api-console-examples summary{padding:.75rem 0;cursor:pointer;color:var(--accent)}.api-console-examples p{margin:.5rem 0 .25rem;color:var(--muted)}.api-console-examples pre{max-height:none;font-size:13px}.api-console-document-panel{display:grid;gap:1rem;margin-top:1rem;padding:1rem}.api-console-document-panel>.api-console-section-heading{padding-left:0}@media(max-width:800px){.api-console-header{display:block}.api-console-health{margin-top:1rem}.api-console-grid{grid-template-columns:1fr}.api-console--relay .api-console-catalog{border-right:0;border-bottom:1px solid var(--relay-line);padding-right:0}.api-console--relay .api-console-request-panel{padding-left:0}}@media(max-width:520px){.api-console-tabs{flex-wrap:wrap}.api-console-history-toggle{width:100%;margin-left:0;text-align:left}.api-console--relay .api-console-history-toggle{margin-left:0}.api-console-action-row{align-items:flex-start;flex-direction:column}}.portfolio-page{margin:0 auto;max-width:none;padding:5rem var(--page-gutter) 6rem}.portfolio-header{max-width:760px;margin:0 auto 4rem;text-align:center}.portfolio-kicker,.portfolio-label{color:var(--muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.portfolio-header .portfolio-kicker,.portfolio-section-heading .portfolio-kicker{margin:0 0 .8rem}.portfolio-lede{color:var(--muted);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55;margin-left:auto;margin-right:auto;max-width:42rem}.tour-banner{align-items:center;background:#5ce1e60f;border:2px solid rgba(92,225,230,.5);color:var(--text);display:flex;flex-direction:column;gap:.45rem;margin:2rem auto 0;max-width:none;padding:clamp(1.25rem,3vw,1.75rem) 2rem;text-align:center;width:100%;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.portfolio-page>.tour-banner{margin-bottom:clamp(2rem,4vw,3rem)}.tour-banner:hover,.tour-banner:focus-visible{background:#5ce1e624;border-color:var(--accent);transform:translateY(-2px)}.tour-banner h2{font-size:clamp(1.35rem,3vw,2rem);margin:0}.tour-banner-kicker{color:var(--accent);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.tour-banner-content{display:grid;gap:.3rem}.tour-banner-copy{color:var(--muted);font-size:.95rem;line-height:1.45}.portfolio-layout{align-items:start;display:grid;gap:clamp(2.5rem,7vw,7rem);grid-template-columns:minmax(0,1fr);justify-content:stretch}.portfolio-story{margin:0;max-width:none;width:100%}.portfolio-story h2{margin-top:3rem}.portfolio-story h2:first-child{margin-top:0}.portfolio-aside{border-top:1px solid rgba(92,225,230,.22);display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;max-width:none;padding-top:1.5rem;position:static;text-align:center;width:100%}.portfolio-aside>div{display:grid;gap:.35rem}.portfolio-aside strong{font-size:.95rem;font-weight:500;line-height:1.45}.portfolio-aside-link,.portfolio-footer-links a{color:var(--text);font-family:var(--font-mono);font-size:.8rem;text-decoration:underline;text-underline-offset:.25em}.portfolio-gallery{border-top:1px solid rgba(92,225,230,.22);margin-top:6rem;padding-top:2rem}.portfolio-section-heading{text-align:center}.portfolio-section-heading h2{margin:0 0 2rem}.portfolio-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-piece{margin:0}.portfolio-piece img{background:#5ce1e60a;border:1px solid rgba(92,225,230,.22);display:block;height:auto;width:100%}.portfolio-piece figcaption{color:var(--muted);font-family:var(--font-mono);font-size:.75rem;padding-top:.65rem}.portfolio-footer-links{border-top:1px solid rgba(92,225,230,.22);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;margin-top:5rem;padding-top:1.5rem}@media(max-width:800px){.portfolio-page{padding-top:3rem}.portfolio-layout{grid-template-columns:1fr}.portfolio-aside{border-left:0;border-top:1px solid rgba(92,225,230,.22);gap:1rem;grid-template-columns:1fr;padding-left:0;padding-top:1.5rem;position:static;text-align:center}.portfolio-aside>div{display:grid;margin-right:0;vertical-align:top}.portfolio-gallery{margin-top:4rem}}@media(max-width:520px){.portfolio-page{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.portfolio-grid{grid-template-columns:1fr}}
