:root{--ink:#0c1018;--ink-soft:#2a3344;--fog:#e8edf5;--paper:#f4f6fa;--line:rgba(12, 16, 24, 0.12);--accent:#1457d9;--accent-deep:#0d3fad;--accent-soft:rgba(20, 87, 217, 0.12);--highlight:rgba(20, 87, 217, 0.14);--blue-line:#1a56e8;--font-display:"Syne", "Segoe UI", sans-serif;--font-body:"Manrope", "Segoe UI", sans-serif}body.colorscheme-dark{--ink:#eef2f8;--ink-soft:#a8b3c7;--fog:#10141c;--paper:#0a0d14;--line:rgba(238, 242, 248, 0.1);--accent:#2f6fff;--accent-deep:#7aa4ff;--accent-soft:rgba(47, 111, 255, 0.16);--highlight:rgba(47, 111, 255, 0.18);--blue-line:#2f6fff}@media(prefers-color-scheme:dark){body.colorscheme-auto{--ink:#eef2f8;--ink-soft:#a8b3c7;--fog:#10141c;--paper:#0a0d14;--line:rgba(238, 242, 248, 0.1);--accent:#2f6fff;--accent-deep:#7aa4ff;--accent-soft:rgba(47, 111, 255, 0.16);--highlight:rgba(47, 111, 255, 0.18);--blue-line:#2f6fff}}body{font-family:var(--font-body);letter-spacing:-.01em;background-color:var(--paper);color:var(--ink-soft);padding-top:3px}body::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;background:var(--blue-line);box-shadow:0 0 18px color-mix(in srgb,var(--blue-line) 45%,transparent)}h1,h2,h3,h4,h5,h6,.navigation-title,.portfolio-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink)}a{color:var(--accent-deep);transition:color .25s ease,opacity .2s ease,transform .2s ease}.navigation{position:sticky;top:3px;z-index:400;height:auto;float:none;width:100%;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navigation a{transition:color .25s ease}.navigation .container.navigation__bar{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;max-width:110rem;width:min(110rem,100%);margin:0 auto;padding:.9rem 2rem;min-height:6rem;box-sizing:border-box}.navigation .navigation-brand{display:inline-flex!important;align-items:center;gap:1rem;min-width:0;float:none;text-decoration:none!important;color:var(--ink)!important}.navigation .navigation-brand:hover .navigation-title,.navigation .navigation-brand:focus-visible .navigation-title{color:var(--accent-deep)}.navigation .navigation-brand:hover .navigation-avatar,.navigation .navigation-brand:focus-visible .navigation-avatar{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--blue-line),0 0 16px color-mix(in srgb,var(--blue-line) 35%,transparent)}.navigation .navigation-avatar{display:block!important;flex:0 0 3.4rem;width:3.4rem!important;height:3.4rem!important;max-width:3.4rem!important;max-height:3.4rem!important;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--blue-line);transition:box-shadow .2s ease,transform .2s ease}.navigation .navigation-avatar img{width:3.4rem!important;height:3.4rem!important;max-width:3.4rem!important;max-height:3.4rem!important;object-fit:cover;display:block!important}.navigation .navigation-title{display:inline!important;font-family:var(--font-display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;text-transform:none;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation .navigation-list{float:none!important;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.2rem;margin:0;padding:0}.navigation .navigation-list .navigation-item{float:none!important}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{margin-left:.6rem;margin-right:.6rem}.navigation .menu-button{margin-left:auto}@media(max-width:768px){.navigation .container.navigation__bar{flex-wrap:wrap;padding-top:.8rem;padding-bottom:.8rem}.navigation .navigation-list{width:100%;justify-content:stretch}}pre{border-radius:.6rem}code{border-radius:.3rem}hr{border:none;height:2px;background:linear-gradient(90deg,var(--blue-line),transparent 70%);opacity:1}.content:has(.portfolio-home){animation:none;max-width:none;padding:0}.portfolio-home{width:100%;color:var(--ink-soft)}.portfolio-hero{position:relative;min-height:calc(100vh - 6.5rem);display:flex;align-items:center;justify-content:center;padding:4rem 2rem 5rem;overflow:hidden;isolation:isolate}.portfolio-hero__atmosphere{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 65% 50% at 85% 8%,var(--highlight),transparent 58%),radial-gradient(ellipse 45% 40% at 8% 90%,var(--accent-soft),transparent 55%),linear-gradient(180deg,#070a10 0%,var(--paper) 72%);animation:atmosphereDrift 14s ease-in-out infinite alternate}.portfolio-hero__atmosphere::before{content:"";position:absolute;top:12%;bottom:18%;left:max(2rem,calc(50% - 55rem));width:2px;background:linear-gradient(180deg,transparent,var(--blue-line) 20%,var(--blue-line) 80%,transparent);opacity:.85}.portfolio-hero__atmosphere::after{content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:4.8rem 4.8rem;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent 85%)}.portfolio-hero__inner{width:min(72rem,100%);text-align:left;animation:heroIn .8s cubic-bezier(.22,1,.36,1)both;padding-left:1.6rem}.portfolio-hero__inner--split{width:min(110rem,100%);margin:0 auto;padding-left:0;display:grid;grid-template-columns:minmax(0,1fr)minmax(22rem,26rem);gap:4rem;align-items:center}.portfolio-hero__copy{min-width:0;max-width:48rem;padding-left:1.6rem}.portfolio-title-copy{margin:0 0 2.2rem;display:flex;flex-direction:column;justify-content:center}.hero-creds{min-width:0;width:100%;max-width:26rem;justify-self:stretch;padding-left:1.6rem;border-left:2px solid color-mix(in srgb,var(--blue-line) 45%,transparent);animation:heroIn .9s cubic-bezier(.22,1,.36,1).12s both}.link-tree--creds{max-width:none;margin:0}.link-tree--creds .link-tree__root{margin-bottom:1.2rem;padding:1rem 1.1rem}.link-tree--creds .link-tree__root-text{font-size:1.7rem}.link-tree--creds .link-tree__branch{margin:0 0 .4rem}.link-tree--creds .link-tree__toggle{padding:.55rem .15rem;font-size:1.2rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.link-tree--creds .link-tree__branch-mark{width:.45rem;height:.45rem}.link-tree--creds .hero-creds__list{padding-left:.2rem;gap:.15rem}.link-tree--creds .hero-creds__list.link-tree__list,.link-tree--creds .link-tree__branch.is-open .hero-creds__list{max-height:80rem}.hero-cred{position:relative;display:flex!important;align-items:center;gap:1rem;width:100%;padding:.55rem .4rem .55rem .2rem!important;border-radius:.55rem;text-align:left;text-decoration:none!important;color:var(--ink)!important;background:0 0;transform:none!important;transition:background .2s ease,color .2s ease}.hero-cred:hover,.hero-cred:focus-visible{background:var(--accent-soft);color:var(--accent-deep)!important;outline:none;transform:translateX(3px)!important}.hero-cred__logo{display:block;flex:0 0 3.6rem;width:3.6rem;height:3.6rem;transition:opacity .2s ease,transform .2s ease}.hero-cred:hover .hero-cred__logo,.hero-cred:focus-visible .hero-cred__logo{transform:scale(1.04)}.hero-cred__logo img{display:block;width:100%;height:100%;object-fit:contain}.hero-cred__text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:auto}.hero-cred__name{font-family:var(--font-display);font-size:1.45rem;font-weight:700;line-height:1.15;letter-spacing:-.02em;color:inherit}.hero-cred__org{font-size:1.15rem;font-weight:600;letter-spacing:.01em;color:var(--ink-soft);opacity:.85;line-height:1.25}.hero-cred .link-tree__hint{margin-left:auto;flex:none}.hero-cred--progress .hero-cred__logo{opacity:.7}.hero-cred--progress .link-tree__hint{color:var(--accent-deep);opacity:1}.portfolio-kicker{margin:0 0 .6rem;font-size:1.3rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep)}.portfolio-brand{margin:0;font-size:clamp(3.6rem,7vw,6.4rem);line-height:.95;font-weight:800;position:relative}.portfolio-brand::after{content:"";display:block;width:5.6rem;height:3px;margin-top:1rem;background:var(--blue-line);box-shadow:0 0 12px color-mix(in srgb,var(--blue-line) 50%,transparent)}.portfolio-lede{max-width:42rem;margin:0 0 2.4rem;font-size:clamp(1.8rem,2.4vw,2.2rem);line-height:1.45;color:var(--ink-soft)}.portfolio-cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.4rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.6rem;border-radius:.5rem;font-weight:700;font-size:1.5rem;line-height:1;text-decoration:none!important;border:1px solid transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.btn:hover,.btn:focus{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff!important}.btn-primary:hover,.btn-primary:focus{background:color-mix(in srgb,var(--accent) 80%,#fff);color:#fff!important}.btn-ghost{background:0 0;color:var(--ink)!important;border-color:var(--line)}.btn-ghost:hover,.btn-ghost:focus{border-color:var(--accent);color:var(--accent-deep)!important}.portfolio-hero .about ul,.portfolio-hero ul{display:flex;flex-wrap:wrap;gap:1.2rem;list-style:none;margin:0;padding:0;justify-content:flex-start}.portfolio-hero .about ul a,.portfolio-hero ul a{color:var(--ink-soft);opacity:.85}.portfolio-hero .about ul a:hover,.portfolio-hero ul a:hover{color:var(--accent-deep);opacity:1}.portfolio-section{padding:7rem 2rem;border-top:1px solid var(--line);position:relative}.portfolio-section::before{content:"";position:absolute;top:-1px;left:max(2rem,calc(50% - 46rem));width:4.8rem;height:2px;background:var(--blue-line)}.portfolio-wrap{width:min(92rem,100%);margin:0 auto}.portfolio-label{margin:0 0 1rem;font-size:1.2rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}.portfolio-section h2{margin:0 0 1.6rem;max-width:34ch;font-size:clamp(2.8rem,4vw,3.8rem);line-height:1.15}.portfolio-copy{max-width:62rem;margin:0;font-size:1.85rem;line-height:1.65}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem;margin-top:3rem}.impact-item{padding:0;border:0;background:0 0;box-shadow:none}.impact-item h3{margin:0 0 1rem;font-size:2.1rem;line-height:1.25}.impact-item p{margin:0;font-size:1.65rem;line-height:1.6}.impact-item::before{content:"";display:block;width:3.2rem;height:2px;margin-bottom:1.4rem;background:var(--blue-line);transform-origin:left center;transition:transform .35s ease}.impact-item:hover::before{transform:scaleX(1.6)}.now-list{margin:2rem 0;padding-left:1.4rem;max-width:64rem}.now-list li{margin-bottom:1.1rem;font-size:1.75rem;line-height:1.55}.page-shell{position:relative;isolation:isolate;width:100%;padding:3.2rem 2rem 6rem}.page-shell__atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse 55% 40% at 90% 0%,var(--highlight),transparent 60%),radial-gradient(ellipse 40% 35% at 0% 100%,var(--accent-soft),transparent 55%),linear-gradient(180deg,var(--fog),var(--paper) 70%)}.page-shell__atmosphere::after{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:4.8rem 4.8rem;mask-image:radial-gradient(ellipse 75% 65% at 40% 20%,black,transparent 80%)}.page-shell__inner{width:min(110rem,100%);margin:0 auto}.page-layout--with-toc{display:grid;grid-template-columns:minmax(0,1fr)minmax(22rem,26rem);gap:4rem;align-items:start}.page-header{margin:0 0 3.2rem;padding-bottom:2rem;border-bottom:1px solid var(--line);position:relative}.page-header::after{content:"";position:absolute;left:0;bottom:-1px;width:5.6rem;height:2px;background:var(--blue-line)}.page-header .portfolio-label{margin-bottom:.8rem}.page-title{margin:0;font-family:var(--font-display);font-size:clamp(3.2rem,5vw,4.8rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--ink)}.page-title .title-link{color:inherit;text-decoration:none!important}.page-subtitle{margin:1.2rem 0 0;max-width:46rem;font-size:1.75rem;line-height:1.5;color:var(--ink-soft)}.page-body{max-width:68rem}.page-body>*:first-child{margin-top:0}.page-body h2,.page-body h3{font-family:var(--font-display);letter-spacing:-.02em}.page-body h2{margin-top:4rem;padding-top:.4rem}.page-body p,.page-body li{text-align:left;font-size:1.75rem;line-height:1.7}.page-body .company-header{margin-top:2.8rem}.page-toc{position:sticky;top:2rem;align-self:start;max-height:calc(100vh - 4rem);overflow-y:auto;padding-left:1.6rem;border-left:2px solid color-mix(in srgb,var(--blue-line) 45%,transparent)}.page-toc__inner{padding:0;border:0;border-radius:0;background:0 0}.page-toc__label{margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}.page-toc--home{top:8rem}.portfolio-wrap--split{display:grid;grid-template-columns:minmax(0,1fr)minmax(22rem,26rem);gap:4rem;align-items:start}.portfolio-split__main{min-width:0;padding-right:.4rem}.impact-grid--stack{grid-template-columns:1fr;gap:2rem}.link-tree{--tree-indent:1.4rem;max-width:56rem;margin:0;padding:0;border-left:0}.link-tree--toc{font-size:1.35rem}.link-tree--toc .link-tree__root{display:none}.link-tree--toc .link-tree__branch{margin:0 0 .35rem}.link-tree--toc .link-tree__toggle{padding:.55rem .2rem;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.link-tree--toc .link-tree__branch-mark{width:.45rem;height:.45rem}.link-tree--toc .link-tree__list{padding-left:.4rem;gap:.1rem}.link-tree--toc .link-tree__list a{padding:.5rem .2rem .5rem .85rem;font-size:1.45rem;font-weight:500;border-radius:0;border-left:2px solid transparent}.link-tree--toc .link-tree__list a:hover,.link-tree--toc .link-tree__list a:focus-visible{transform:translateX(2px);border-left-color:var(--blue-line);background:0 0;color:var(--accent-deep)!important}.link-tree--toc .link-tree__rail{display:none}.link-tree--toc .link-tree__hint{font-size:1.05rem}.link-tree__root{position:relative;display:flex;align-items:center;gap:1.2rem;margin:0 0 1.6rem;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:.7rem;text-decoration:none!important;color:var(--ink)!important;background:linear-gradient(135deg,var(--accent-soft),transparent 55%),color-mix(in srgb,var(--fog) 70%,transparent);transition:border-color .2s ease,transform .2s ease,background .2s ease}.link-tree__root:hover,.link-tree__root:focus-visible{border-color:var(--blue-line);transform:translateX(4px);outline:none}.link-tree__glyph{width:1rem;height:1rem;border-radius:50%;background:var(--blue-line);box-shadow:0 0 0 .4rem color-mix(in srgb,var(--blue-line) 18%,transparent);flex:none}.link-tree__root-text{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0;font-family:var(--font-display);font-size:2.2rem;font-weight:700;line-height:1.15;letter-spacing:-.03em}.link-tree__eyebrow{font-family:var(--font-body);font-size:1.15rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}.link-tree__go{font-size:1.8rem;color:var(--accent-deep);opacity:.75;transition:transform .2s ease,opacity .2s ease}.link-tree__root:hover .link-tree__go,.link-tree__root:focus-visible .link-tree__go{transform:translate(2px,-2px);opacity:1}.link-tree__branch{margin:0 0 .8rem}.link-tree__toggle{display:flex;align-items:center;gap:.9rem;width:100%;margin:0;padding:.85rem .4rem;border:0;background:0 0;color:var(--ink);font-family:var(--font-body);font-size:1.55rem;font-weight:700;letter-spacing:.02em;text-align:left;cursor:pointer;transition:color .2s ease}.link-tree__toggle:hover,.link-tree__toggle:focus-visible{color:var(--accent-deep);outline:none}.link-tree__branch-mark{width:.7rem;height:.7rem;border-radius:.15rem;background:var(--blue-line);box-shadow:0 0 10px color-mix(in srgb,var(--blue-line) 40%,transparent);flex:none}.link-tree__chevron{width:.7rem;height:.7rem;margin-left:auto;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);transition:transform .2s ease;opacity:.7}.link-tree__branch.is-open .link-tree__chevron{transform:rotate(225deg)}.link-tree__list{list-style:none;margin:0 0 .6rem;padding:0 0 0 var(--tree-indent);display:grid;gap:.35rem;overflow:hidden;max-height:0;opacity:0;transform:translateY(-.4rem);transition:max-height .35s ease,opacity .25s ease,transform .25s ease}.link-tree__branch.is-open .link-tree__list{max-height:40rem;opacity:1;transform:none}.link-tree__list a{position:relative;display:flex;align-items:center;gap:1rem;padding:.95rem 1.1rem;border-radius:.55rem;text-decoration:none!important;color:var(--ink)!important;font-size:1.65rem;font-weight:600;line-height:1.3;background:0 0;transition:background .2s ease,transform .2s ease,color .2s ease}.link-tree__list a:hover,.link-tree__list a:focus-visible{background:var(--accent-soft);transform:translateX(6px);color:var(--accent-deep)!important;outline:none}.link-tree__rail{position:absolute;left:0;top:50%;width:2px;height:0;background:var(--blue-line);transform:translateY(-50%);transition:height .2s ease}.link-tree__list a:hover .link-tree__rail,.link-tree__list a:focus-visible .link-tree__rail{height:55%}.link-tree__hint{margin-left:auto;font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.7}.link-tree__list a:hover .link-tree__hint,.link-tree__list a:focus-visible .link-tree__hint{opacity:1;color:var(--accent-deep)}.link-tree.is-ready .link-tree__branch{opacity:0;transform:translateY(.8rem);animation:treeBranchIn .45s ease forwards}.link-tree.is-ready .link-tree__branch:nth-child(2){animation-delay:.05s}.link-tree.is-ready .link-tree__branch:nth-child(3){animation-delay:.12s}.link-tree.is-ready .link-tree__branch:nth-child(4){animation-delay:.19s}@keyframes treeBranchIn{to{opacity:1;transform:none}}@media(max-width:1100px){.page-layout--with-toc,.portfolio-wrap--split{grid-template-columns:1fr;gap:2.8rem}.page-toc,.page-toc--home{position:static;max-height:none;order:-1;padding-left:0;border-left:0;padding-top:.4rem;border-top:1px solid var(--line)}.page-shell{padding:2.4rem 1.6rem 4.8rem}}@media(max-width:700px){.link-tree__root-text{font-size:1.9rem}.link-tree__list{padding-left:1.2rem}.link-tree--toc .link-tree__list{padding-left:.2rem}.link-tree__list a{font-size:1.5rem;padding-right:.9rem}.link-tree__hint{display:none}}@media(prefers-reduced-motion:reduce){.link-tree__root,.link-tree__list,.link-tree__list a,.link-tree__go,.link-tree__rail,.link-tree__chevron{transition:none!important}.link-tree.is-ready .link-tree__branch{animation:none!important;opacity:1!important;transform:none!important}}.text-link{font-weight:700;font-size:1.6rem;text-decoration:none!important;color:var(--accent-deep)}.text-link:hover{text-decoration:underline!important}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;margin-top:2.4rem}.voice-quote{margin:0;padding:0 0 0 1.6rem;border-left:2px solid var(--blue-line);background:0 0;box-shadow:none}.voice-quote p{margin:0 0 1.2rem;font-size:1.8rem;line-height:1.5;color:var(--ink);font-weight:500}.voice-quote cite{font-style:normal;font-size:1.4rem;color:var(--ink-soft);opacity:.85}.portfolio-note{margin:2rem 0 0;font-size:1.35rem;opacity:.7}.portfolio-connect{background:radial-gradient(ellipse 60% 80% at 100% 0%,var(--accent-soft),transparent 55%),var(--fog)}.portfolio-lab h2 a{color:inherit;text-decoration:none!important;border-bottom:2px solid color-mix(in srgb,var(--blue-line) 55%,transparent);transition:border-color .2s ease,color .2s ease}.portfolio-lab h2 a:hover{color:var(--accent-deep);border-bottom-color:var(--blue-line)}.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;margin:3rem 0 2rem}.lab-item{display:block;padding:0 0 0 1.4rem;border-left:2px solid var(--blue-line);text-decoration:none!important;color:inherit;transition:transform .2s ease,border-color .2s ease}.lab-item:hover{transform:translateX(3px);border-left-color:var(--accent-deep)}.lab-item:hover h3{color:var(--accent-deep)}.lab-item h3{margin:.4rem 0 .7rem;font-size:1.9rem;line-height:1.25;transition:color .2s ease}.lab-item p{margin:0;font-size:1.5rem;line-height:1.5;color:var(--ink-soft)}.lab-item__kind{display:inline-block;font-size:1.15rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep)}.content{animation:fadeIn .45s ease-out}.company-header{display:flex;align-items:center;gap:1.2rem;margin-bottom:.5rem}.company-header .company-logo{width:4rem;height:4rem;border-radius:50%;object-fit:cover;background:#fff;padding:.4rem;box-shadow:0 .2rem .8rem rgba(0,0,0,.1);flex-shrink:0}.company-header h3{margin:0;flex:1}@media(prefers-color-scheme:dark){body.colorscheme-dark .company-header .company-logo,body.colorscheme-auto .company-header .company-logo{background:#1a1f2a;box-shadow:0 .2rem .8rem rgba(0,0,0,.4)}}body.colorscheme-dark .company-header .company-logo{background:#1a1f2a;box-shadow:0 .2rem .8rem rgba(0,0,0,.4)}.project-block{margin:3.5rem 0;padding-top:.5rem;border-top:1px solid var(--line)}.project-block h2{margin-top:2rem}.project-block .meta{margin:.6rem 0 1.2rem;font-size:1.45rem;color:var(--ink-soft);opacity:.85}.reveal{opacity:0;transform:translateY(1.6rem);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.impact-item.reveal{transition-delay:.05s}.impact-item+.impact-item.reveal{transition-delay:.12s}.impact-item+.impact-item+.impact-item.reveal{transition-delay:.2s}@keyframes heroIn{from{opacity:0;transform:translateY(1.8rem)}to{opacity:1;transform:none}}@keyframes atmosphereDrift{from{transform:scale(1)translate3d(0,0,0)}to{transform:scale(1.04)translate3d(-1%,1%,0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.portfolio-hero__inner--split{grid-template-columns:1fr;gap:3.2rem}.portfolio-hero__copy{max-width:none}.hero-creds{padding-left:0;border-left:0;padding-top:2rem;border-top:1px solid var(--line);max-width:42rem;justify-self:start}}@media(max-width:900px){.impact-grid,.quote-grid,.lab-grid{grid-template-columns:1fr}.portfolio-section{padding:5rem 1.6rem}.portfolio-hero{min-height:auto;padding-top:3rem}.portfolio-hero__atmosphere::before{left:1.2rem}.hero-cred__logo{flex-basis:3.2rem;width:3.2rem;height:3.2rem}.hero-cred__name{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.portfolio-hero__atmosphere,.portfolio-hero__inner,.content,.reveal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}