@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{flex-shrink:0}}@layer base{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#000;--surface:#111;--surface-raised:#1b1b1b;--ink:#fff3f0;--muted:#bdb9b8;--line:#303030;--rose:#d39794;--teal:#9de1d5;--radius:20px;--content:1080px;font-synthesis:none;background:var(--canvas);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:400}html{scroll-behavior:smooth;scroll-padding-top:96px}body{min-width:320px;font-size:16px;line-height:1.65}::selection{color:#0f181b;background:#d0e7df}a{color:inherit;text-decoration:none}button{color:inherit;border:0}p{color:var(--muted)}h1,h2,h3,h4{text-wrap:balance;font-weight:400}h1{letter-spacing:-.045em;font-size:clamp(36px,4.4vw,56px);line-height:1.2}h2{letter-spacing:-.04em;font-size:clamp(30px,3.2vw,40px);line-height:1.28}h3{letter-spacing:-.035em;font-size:28px;line-height:1.35}h4{font-size:18px;line-height:1.4}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;border-radius:4px;outline:2px solid #b9f3e8}button:disabled{cursor:default}section[id]{scroll-margin-top:94px}.container{width:min(var(--content), calc(100% - 48px));margin-inline:auto}.section{padding-block:100px}.section-chip{color:#d8d5d4;background:#1d1d1d;border:1px solid #2b2b2b;border-radius:999px;align-items:center;gap:9px;margin-bottom:26px;padding:3px 14px;font-size:13px;line-height:22px;display:inline-flex}.section-chip>span:first-child{background:#d8d5d4;border-radius:50%;width:5px;height:5px}.section-heading{justify-content:space-between;align-items:flex-end;gap:72px;margin-bottom:64px;display:flex}.section-heading>div{flex:1}.section-heading>p{max-width:330px}.section-heading .section-chip{margin-bottom:24px}.primary-link{color:#141719;background:#eee9e6;border-radius:999px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 30px;font-size:14px;line-height:24px;transition:background .2s,transform .2s;display:inline-flex}.primary-link:hover{background:#fff;transform:translateY(-2px)}.secondary-link{color:#e5e1df;align-items:center;gap:9px;min-height:44px;font-size:14px;display:inline-flex}.secondary-link:hover{color:#fff;text-underline-offset:5px;text-decoration:underline}.skip-link{color:#111;z-index:100;background:#fff;padding:10px 20px;position:fixed;top:8px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}}@layer components{.site-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#192025cc;border-bottom:1px solid #ffffff0d;position:fixed;inset:0 0 auto}.header-inner{align-items:center;gap:36px;width:min(1140px,100% - 48px);min-height:72px;margin-inline:auto;display:flex}.brand{letter-spacing:-.055em;flex-shrink:0;align-items:center;gap:9px;font-size:24px;line-height:1;display:inline-flex}.brand-mark{color:#202629;background:#f5f2ef;border-radius:7px;justify-content:center;align-items:center;width:27px;height:28px;font-size:21px;font-weight:600;display:inline-flex}.primary-nav{flex:1;justify-content:space-between;align-items:center;gap:30px;display:flex}.nav-links{flex:1;justify-content:center;align-items:center;gap:26px;display:flex}.nav-links a{color:#d2d4d4;align-items:center;min-height:44px;font-size:13px;transition:color .2s;display:inline-flex}.nav-links a:hover{color:#fff}.nav-actions{align-items:center;gap:12px;display:flex}.motion-toggle{white-space:nowrap;color:#d2d4d4;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:12px;display:inline-flex}.motion-toggle svg{width:13px}.motion-toggle:disabled{color:#b6c0c2}.resume-link{color:#f0eeed;white-space:nowrap;background:#ffffff14;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 16px;font-size:12px;display:inline-flex}.resume-link:hover{background:#ffffff24}.nav-toggle{display:none}.hero{isolation:isolate;padding-top:160px;padding-bottom:170px;position:relative}.hero-sky{z-index:-3;background:radial-gradient(200% 83% at 50% 0,#1b2228 0%,#353f44 42%,#d39794 100%);position:absolute;inset:0}.hero-copy{z-index:3;text-align:center;position:relative}.hero-chip{color:#e4e6e4;background:#ffffff13;border-color:#ffffff0e;margin-bottom:27px}.hero h1{max-width:980px;margin-inline:auto}.hero-copy>p{color:#e0dfdd;max-width:565px;margin:25px auto 0;font-size:16px;line-height:1.65}.hero-cta{margin-top:38px}.hero-explorer{z-index:2;width:min(960px,100% - 48px);margin-top:80px;position:relative}.project-explorer{text-align:left;background:#141716;border:1px solid #ffffff20;border-radius:22px;grid-template-columns:180px minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 28px 80px #0005,0 0 0 5px #242b2866}.explorer-sidebar{background:#1e211f;flex-direction:column;gap:28px;padding:28px 13px;display:flex}.explorer-brand{color:#deded9;align-items:center;gap:9px;padding-inline:8px;font-size:13px;display:flex}.explorer-brand svg{width:18px}.explorer-projects{flex-direction:column;gap:5px;display:flex}.project-choice{color:#b7bcb7;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px;font-size:13px;display:flex}.project-choice svg{width:16px}.project-choice:hover{background:#ffffff07}.project-choice[aria-pressed=true]{color:#fff;background:#ffffff0f;border-color:#ffffff12}.explorer-sidebar-note{color:#b9c0b9;border-top:1px solid #ffffff10;margin-top:auto;padding:17px 8px 0;font-size:11px;line-height:1.6}.explorer-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:24px 14px 18px;display:grid}.flow-stage{text-align:left;background:#1c211e;border:1px solid #353d37;border-radius:9px;flex-direction:column;align-items:flex-start;gap:8px;min-height:102px;padding:11px;display:flex;position:relative}.flow-stage:hover{background:#242d27}.flow-stage[aria-pressed=true]{background:#2c3931;border-color:#9abbab}.stage-number{color:#bac5bb;font-size:10px}.stage-icon{display:none}.stage-label{color:#e1e8df;font-size:12px;line-height:1.4}.trace-segment{transform-origin:0;background:#b8e4cc;height:2px;position:absolute;bottom:8px;left:11px;right:11px}.stage-detail{min-height:125px;padding:6px 22px 20px}.stage-detail-label{color:#aebdb1;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.stage-detail .stage-detail-label{font-size:10px}.stage-detail h3{margin-block:6px;font-size:15px}.stage-detail p{color:#c0c8bf;font-size:16px;line-height:1.65}.explorer-links{gap:22px;padding:0 22px 14px;display:flex}.explorer-links a{align-items:center;gap:8px;min-height:44px;font-size:12px;display:inline-flex}.explorer-links a:hover{text-underline-offset:4px;text-decoration:underline}.intro-section{padding-block:100px 115px}.intro-copy{max-width:650px;margin-inline:auto}.intro-copy h2{margin-bottom:32px;font-size:28px;line-height:1.4}.intro-copy>p{letter-spacing:-.025em;color:#c5c0bd;margin-bottom:26px;font-size:24px;line-height:1.6}.intro-copy>p:first-of-type{color:#f1e9e6}.expertise-layout{flex-direction:column;display:flex}.capability-selectors{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.capability-choice{color:#b9b5b4;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px;font-size:14px;display:flex}.capability-choice svg{display:none}.capability-choice[aria-pressed=true]{color:#f7f2ef;background:#20201f;border-color:#3d3d38}.capability-choice:hover{background:#191918}.capability-panel{isolation:isolate;background:#192122;border:1px solid #292d2c;border-radius:22px;min-height:490px;padding:52px;position:relative;overflow:hidden}.capability-panel:before{content:"";z-index:-2;background:linear-gradient(#1b222845,#151a1880),url(/images/hero-landscape.webp) 50% 62%/cover;position:absolute;inset:0}.capability-copy{background:#171d1cde;border:1px solid #ffffff12;border-radius:15px 15px 0 0;padding:26px 30px}.capability-copy h3{color:#f5f3ef;margin-bottom:10px;font-size:24px}.capability-copy p{color:#c2ccc5;font-size:16px}.technology-list{flex-wrap:wrap;gap:6px 17px;margin-block:18px 0;padding:0;list-style:none;display:flex}.technology-list li{color:#c0d2c6;font-size:12px}.capability-diagram{background:#171d1ce8;border:1px solid #ffffff12;border-top:0;border-radius:0 0 15px 15px;padding:25px 30px 36px}.diagram-caption{color:#9aada0;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;font-size:11px}.diagram-flow{justify-content:space-between;align-items:center;gap:26px;margin:0;padding:0;list-style:none;display:flex}.diagram-node{color:#e6f0e8;background:linear-gradient(150deg,#647c6840,#20332c60);border:1px solid #687c70;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;min-width:0;min-height:114px;font-size:13px;display:flex}.diagram-node-icon{color:#c9e1d0;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.diagram-node{position:relative}.diagram-connector{color:#95ad9d;background:#708e7a;width:24px;height:1px;position:absolute;top:50%;right:-26px}.diagram-connector svg{width:16px;height:16px;position:absolute;top:-7px;right:-3px}.gallery-controls{justify-content:space-between;align-items:center;gap:20px;margin-top:22px;display:flex}.gallery-caption{color:#e0dddb;font-size:14px}.gallery-caption>span{color:#aba5a0;margin-right:16px;font-size:11px}.gallery-pagination{gap:10px;display:flex}.gallery-pagination button{color:#d5d4d0;background:#1b1b1b;border:1px solid #333;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .2s;display:grid}.gallery-pagination button:hover{background:#333}.projects-section,.experience-section,.evidence-links{width:min(var(--content), calc(100% - 48px));margin-inline:auto}header.section-heading{grid-template-columns:1.65fr 1fr;align-items:end;gap:22px 70px;display:grid}header.section-heading>.section-chip{grid-column:1/-1;width:max-content;margin:0}header.section-heading>h2{max-width:530px}.projects-section>.section-heading,.experience-section>.section-heading,.evidence-links>.section-heading{flex-wrap:wrap}.projects-section>.section-heading>h2,.experience-section>.section-heading>h2,.evidence-links>.section-heading>h2{flex-basis:65%}.project-chapters{flex-direction:column;gap:36px;display:flex}.project-chapter{background:#111;border:1px solid #252525;border-radius:20px;grid-template-columns:1fr 1fr;align-items:start;gap:0;padding:7px;display:grid;position:relative;box-shadow:0 -12px 30px #0004}.chapter-summary{min-width:0;padding:34px 34px 28px}.chapter-index{color:#b8b3b0;margin-bottom:24px;font-size:12px;display:block}.chapter-summary h3{margin-bottom:18px}.chapter-summary>p{font-size:16px;line-height:1.7}.chapter-summary>.chapter-index{font-size:12px}.chapter-links{flex-wrap:wrap;gap:20px;margin-block:20px 10px;display:flex}.chapter-links a{align-items:center;gap:7px;min-height:44px;font-size:13px;display:inline-flex}.chapter-links a:hover{text-decoration:underline}.chapter-links svg{width:15px}summary{cursor:pointer;color:#e6e0dc;min-height:52px;padding:14px 25px 14px 0;font-size:14px;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary>svg{display:none}summary:after{content:"+";color:#b2aca9;font-size:20px;position:absolute;top:9px;right:2px}details[open]>summary:after{content:"−"}.disclosure-content{padding-bottom:19px}.disclosure-content p,.disclosure-content li{color:#c7c0bb;font-size:16px;line-height:1.7}.disclosure-content p+p{margin-top:14px}.disclosure-content ul{margin:0;padding-left:20px}.disclosure-content h4{color:#f0e6df;margin-block:10px 5px;font-size:13px}.chapter-visual{isolation:isolate;background:#24312b;border-radius:14px;flex-direction:column;justify-content:center;align-self:start;min-width:0;min-height:580px;padding:35px;display:flex;position:sticky;top:94px;overflow:hidden}.chapter-visual:before{content:"";z-index:-2;background:linear-gradient(#15212055,#17201777),url(/images/hero-landscape.webp) 50%/cover;position:absolute;inset:0}.project-chapter:nth-child(2) .chapter-visual:before{background-image:linear-gradient(#241b1e22,#231c1866),url(/images/footer-landscape.webp)}.project-chapter:nth-child(3) .chapter-visual:before{background-position:70%}.chapter-flow-label{color:#e5e6d9;text-transform:uppercase;letter-spacing:.09em;margin-bottom:18px;font-size:11px}.chapter-flow{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chapter-node{background:#202824eb;border:1px solid #ffffff20;border-radius:11px;align-items:flex-start;gap:14px;padding:17px;display:flex}.chapter-node-index{color:#d9e8d8;background:#ffffff0f;border-radius:7px;flex-shrink:0;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.chapter-node strong{color:#f4f2e9;margin-bottom:5px;font-size:14px;font-weight:500;display:block}.chapter-stack{color:#e9eadf;flex-wrap:wrap;gap:6px 13px;margin:0;padding:15px 0 0;font-size:11px;list-style:none;display:flex}.project-chapter:nth-child(2n) .chapter-summary{order:2}.project-chapter:nth-child(2n) .chapter-visual{order:1}.proof-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;display:grid}.proof-card{background:#0e0e0e;border:1px solid #252525;border-radius:18px;flex-direction:column;min-height:430px;padding:34px;display:flex;position:relative}.proof-card:nth-child(2){z-index:1;background:#181818;border-color:#3a3634}.proof-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#b6b0ac;margin-bottom:28px;font-size:11px}.proof-number{letter-spacing:-.07em;color:#d1c2b9;margin-bottom:24px;font-size:44px;font-weight:400;line-height:1;display:block}.proof-card h3{margin-bottom:20px;font-size:24px}.proof-card p{font-size:16px;line-height:1.65}.proof-footer{color:#bdb7b3;align-items:center;gap:9px;margin-top:auto;padding-top:34px;font-size:11px;display:flex}.proof-footer svg{color:#d7cec4}.experience-overview{border-top:1px solid #292929;border-bottom:1px solid #292929;margin-bottom:48px;padding-block:30px}.experience-overview h3{margin-bottom:9px;font-size:25px}.experience-role{color:#ded6d0;margin-bottom:8px}.experience-period{color:#b4aaa3;margin-bottom:16px;font-size:13px}.experience-overview>p:last-child{max-width:740px}.experience-layout{grid-template-columns:1fr 2fr;gap:46px;display:grid}.experience-aside{background:#111;border:1px solid #262626;border-radius:17px;align-self:start;padding:25px}.experience-aside h3{margin-bottom:17px;font-size:23px}.experience-aside p{font-size:16px}.principle-list{flex-direction:column;gap:12px;display:flex}.principle-disclosure{background:#111;border:1px solid #252525;border-radius:16px;padding-inline:27px}.principle-disclosure[open]{background:#191817;border-color:#514d48}.principle-disclosure summary{padding-block:24px;min-height:78px;padding-right:32px;font-size:16px}.principle-disclosure summary h3{letter-spacing:-.01em;text-wrap:initial;font-size:16px}.principle-disclosure summary:after{top:19px}.principle-disclosure li+li{margin-top:8px}.documentation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.documentation-card{background:#141414;border:1px solid #262626;border-radius:20px;min-width:0;padding:7px;transition:transform .2s,border-color .2s}.documentation-card:hover{border-color:#635e58;transform:translateY(-5px)}.documentation-art{background:linear-gradient(#14232233,#14232277),url(/images/hero-landscape.webp) 50%/cover;border-radius:14px 14px 0 0;flex-direction:column;justify-content:center;gap:8px;min-height:220px;padding:26px;display:flex}.documentation-card:nth-child(2) .documentation-art{background-image:linear-gradient(#28232422,#28232466),url(/images/footer-landscape.webp)}.documentation-card:nth-child(3) .documentation-art{background-position:100%}.doc-art-node{color:#e3e8df;background:#1c2522e6;border:1px solid #ffffff25;border-radius:7px;align-items:center;gap:12px;padding:11px 13px;font-size:12px;display:flex}.doc-art-node>span:first-child{color:#b0c9b8;font-size:10px}.documentation-body{padding:23px 20px 21px}.documentation-body h3{font-size:21px}.documentation-title{justify-content:space-between;align-items:flex-start;gap:13px;display:flex}.documentation-title svg{color:#b9b4af;width:17px;margin-top:5px}.documentation-label{color:#bab2ac;margin-top:18px;font-size:12px;display:block}.contact-section{isolation:isolate;background:#1b252b;margin-top:80px;padding:100px 0 340px;position:relative}.contact-section:before{content:"";z-index:-2;background:url(/images/footer-landscape.webp) bottom/cover;position:absolute;inset:0}.contact-section:after{content:"";z-index:-1;background:linear-gradient(#1b252b,#1b252b00);position:absolute;inset:0 0 40%}.contact-inner{width:min(var(--content), calc(100% - 48px));grid-template-columns:1fr 1fr;align-items:center;gap:100px;margin-inline:auto;display:grid}.contact-copy .section-chip{background:#ffffff09;border-color:#ffffff15}.contact-copy h2{max-width:470px;margin-bottom:22px}.contact-copy>p{color:#d5d5d0;max-width:440px}.contact-actions{flex-wrap:wrap;gap:25px;margin-top:38px;display:flex}.contact-card{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffff07;border:1px solid #ffffff1a;border-radius:20px;padding:42px 36px;box-shadow:0 20px 50px #0002}.contact-card h3{margin-bottom:7px;font-size:31px}.contact-card p{color:#d4dad8}.contact-card-links{flex-direction:column;gap:2px;margin-top:25px;padding:0;list-style:none;display:flex}.contact-card-links a{align-items:center;gap:13px;min-height:44px;font-size:14px;display:flex}.contact-card-links a:hover{color:#fff;text-decoration:underline}.site-footer{background:#000;padding:55px 0 34px}.footer-inner{width:min(var(--content), calc(100% - 48px));flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:25px;margin-inline:auto;display:flex}.footer-brand{letter-spacing:-.06em;font-size:26px;line-height:1.2}.footer-brand>p{letter-spacing:normal;margin-top:12px;font-size:12px}.footer-links{flex-wrap:wrap;gap:25px;display:flex}.footer-links a{align-items:center;min-height:44px;font-size:13px;display:inline-flex}.footer-inner>small,.footer-inner>p{color:#a7a09a;border-top:1px solid #242424;flex-basis:100%;padding-top:24px;font-size:11px}.portfolio[data-motion=paused] *,.portfolio[data-motion=paused] :before,.portfolio[data-motion=paused] :after{animation-play-state:paused!important}.portfolio[data-motion=paused] .hero-copy{animation:none}}@layer responsive{@media (width<=1100px){.header-inner{gap:20px}.nav-links{gap:17px}.nav-actions{gap:3px}.motion-toggle{font-size:11px}.resume-link{padding-inline:12px}.section-heading{gap:35px}.chapter-summary{padding:28px}.chapter-visual{padding:25px}.contact-inner{gap:50px}}@media (width<=900px){.header-inner{justify-content:space-between;gap:12px;min-height:68px}.header-inner .brand{font-size:20px}.header-inner>.motion-toggle{margin-left:auto}.nav-toggle{background:0 0;justify-content:center;align-items:center;gap:6px;min-width:44px;height:44px;padding:8px;font-size:12px;display:inline-flex}.primary-nav{display:none}.primary-nav[data-open=true]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080b0bf5;border-bottom:1px solid #444;flex-direction:column;gap:20px;max-height:calc(100dvh - 68px);padding:22px 24px 30px;display:flex;position:absolute;inset:68px 0 auto;overflow-y:auto}.nav-links{flex-direction:column;gap:8px;width:100%}.nav-links a{justify-content:center;width:100%;font-size:16px}.nav-actions{border-top:1px solid #2b3030;justify-content:center;gap:20px;width:100%;padding-top:16px}.motion-toggle,.resume-link{font-size:13px}.hero{padding-top:140px;padding-bottom:115px}.hero h1{max-width:720px}.hero-explorer{margin-top:64px}.project-explorer{grid-template-columns:150px minmax(0,1fr)}.explorer-sidebar{padding:22px 10px}.explorer-flow{gap:5px;padding:18px 10px}.flow-stage{padding:10px 8px}.stage-label{font-size:11px}.section{padding-block:72px}.section-heading{align-items:flex-start;gap:30px;margin-bottom:40px}.section-heading>p{max-width:280px}.capability-panel{padding:30px}.capability-choice{font-size:12px}.capability-copy,.capability-diagram{padding-inline:22px}.chapter-summary{padding:25px}.chapter-visual{padding:20px}.chapter-summary h3{font-size:25px}.proof-card{padding:25px}.proof-card h3{font-size:21px}.proof-footer{align-items:flex-start}.experience-layout{grid-template-columns:1fr 1.7fr;gap:24px}.documentation-art{padding:18px}.documentation-body{padding:20px 13px}.documentation-body h3{font-size:19px}.contact-inner{gap:30px}.contact-card{padding:30px}}@media (width<=700px){h1{font-size:36px;line-height:1.23}h2{font-size:32px}.section{padding-block:64px}.hero{padding-top:128px;padding-bottom:110px}.hero-chip{margin-bottom:27px;padding-inline:11px;font-size:11px}.hero-copy>p{max-width:430px;margin-top:23px;font-size:16px;line-height:1.6}.header-inner{gap:8px;width:calc(100% - 32px)}.header-inner .brand{gap:6px;font-size:18px}.header-inner .brand-mark{width:24px;height:25px}.header-inner>.motion-toggle{gap:3px;padding-inline:3px;font-size:10px}.nav-toggle{gap:3px;padding-inline:3px;font-size:11px}.hero-cta{margin-top:35px}.hero-explorer{margin-top:65px}.project-explorer{border-radius:18px;flex-direction:column;display:flex}.explorer-sidebar{gap:10px;padding:12px}.explorer-brand{display:none}.explorer-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.project-choice{text-align:center;flex-direction:column;justify-content:center;gap:5px;padding:8px 4px;font-size:11px}.project-choice svg{width:15px}.explorer-sidebar-note{display:none}.explorer-flow{grid-template-columns:1fr 1fr;gap:7px;padding:17px 10px}.flow-stage{min-height:85px;padding:10px}.stage-label{font-size:12px}.stage-detail{min-height:150px;padding:3px 14px 16px}.stage-detail p{font-size:16px}.explorer-links{flex-wrap:wrap;gap:16px;padding-inline:14px}.explorer-links a{font-size:11px}.intro-copy h2{font-size:27px}.intro-copy>p{font-size:21px;line-height:1.6}.section-heading{flex-direction:column;align-items:stretch;gap:24px;margin-bottom:35px}header.section-heading{gap:24px;display:flex}.section-heading>p{max-width:none}.section-heading .section-chip{margin-bottom:21px}.capability-selectors{grid-template-columns:1fr 1fr;gap:6px}.capability-choice{border-radius:11px;padding:9px 8px;font-size:12px}.capability-panel{border-radius:17px;min-height:570px;padding:15px}.capability-copy{padding:23px 19px}.capability-copy h3{font-size:24px}.technology-list{gap:6px 13px}.capability-diagram{padding:19px}.diagram-flow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.diagram-node{min-height:102px;font-size:12px}.diagram-connector{display:none}.gallery-caption{max-width:195px;font-size:12px}.gallery-pagination{gap:6px}.gallery-pagination button{width:44px;height:44px}.project-chapters{gap:24px}.project-chapter{flex-direction:column;padding:6px;display:flex}.chapter-summary,.project-chapter:nth-child(2n) .chapter-summary{order:2;padding:28px 22px}.chapter-visual,.project-chapter:nth-child(2n) .chapter-visual{min-height:initial;order:1;width:100%;padding:27px 20px;position:relative;top:auto}.chapter-node{gap:10px;padding:13px}.chapter-summary h3{font-size:27px}.chapter-summary>p{font-size:16px}.chapter-links{gap:17px}.chapter-links a{font-size:12px}.chapter-index{margin-bottom:18px}.proof-grid{grid-template-columns:1fr;gap:14px}.proof-card{min-height:340px;padding:30px}.proof-card h3{font-size:26px}.proof-number{margin-bottom:18px;font-size:42px}.proof-eyebrow{margin-bottom:24px}.proof-card p{font-size:16px}.proof-footer{padding-top:25px}.experience-layout{grid-template-columns:1fr;gap:24px}.experience-overview h3{font-size:25px}.experience-aside{padding:25px}.principle-disclosure{padding-inline:22px}.principle-disclosure summary{min-height:76px;font-size:15px}.principle-disclosure summary h3{font-size:15px}.documentation-grid{grid-template-columns:1fr;gap:22px}.documentation-art{min-height:245px;padding:28px}.documentation-body{padding:26px 22px}.documentation-body h3{font-size:24px}.documentation-label{font-size:13px}.contact-section{margin-top:30px;padding:70px 0 250px}.contact-section:before{background-image:url(/images/footer-landscape-mobile.webp);background-position:bottom;background-size:auto 100%}.contact-inner{grid-template-columns:1fr;gap:45px}.contact-copy h2{max-width:450px;font-size:36px}.contact-copy>p{font-size:16px}.contact-card{padding:30px}.contact-card h3{font-size:28px}.contact-actions{gap:15px}.site-footer{padding-top:42px}.footer-inner{flex-direction:column;gap:25px}.footer-links{gap:17px}.footer-inner>small,.footer-inner>p{width:100%}}@media (width<=359px){.container,.projects-section,.experience-section,.evidence-links,.contact-inner,.footer-inner,.hero-explorer{width:calc(100% - 32px)}.hero h1{font-size:33px}.chapter-summary{padding-inline:17px}.gallery-caption{max-width:150px}}}@layer accessibility{.stage-detail .stage-detail-label{font-size:10px}.chapter-summary>.chapter-index{font-size:12px}.portfolio[data-motion=paused] .chapter-visual{position:relative;top:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.project-chapter,.chapter-visual{position:relative!important;top:auto!important}}@media (forced-colors:active){.hero-sky,.capability-panel:before,.chapter-visual:before,.contact-section:before,.contact-section:after{display:none}.site-header,.contact-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas}button,.primary-link,.resume-link,.project-explorer,.project-chapter,.principle-disclosure,.documentation-card,.proof-card{border:1px solid buttontext}[aria-pressed=true]{outline:2px solid highlight}.trace-segment{background:highlight}.brand-mark{border:1px solid canvastext}}}.expertise-gallery{--gallery-ease:cubic-bezier(.22, 1, .36, 1)}.expertise-gallery .capability-selectors{background:#101010;border:1px solid #343332;border-radius:999px;align-self:center;gap:4px;width:100%;margin-bottom:14px;padding:6px}.expertise-gallery .capability-choice{color:#c7c1bf;min-height:46px;transition:transform .24s var(--gallery-ease), color .24s ease, background-color .24s ease, border-color .24s ease, box-shadow .24s ease;background:0 0;border:1px solid #0000;border-radius:999px;padding:10px 12px;position:relative}.expertise-gallery .capability-choice[aria-pressed=true]{text-underline-offset:5px;color:#fff3f0;background:#1b1b1b;border-color:#333;text-decoration:underline;text-decoration-thickness:1px;box-shadow:0 2px 12px #0002,inset 0 1px #ffffff08}.expertise-gallery .capability-choice:is(:hover,:focus-visible){color:#fff3f0;background:#282523;border-color:#817a75;transform:translateY(-2px)}.expertise-gallery .capability-choice[aria-pressed=true]:is(:hover,:focus-visible){color:#fff3f0;background:#282523;border-color:#817a75}.expertise-gallery .capability-choice:active{transform:translateY(0)}.expertise-gallery .capability-panel{background:#242b2a;border-color:#3c3d37;border-radius:24px;grid-template-columns:minmax(0,1fr);min-height:500px;padding:0;display:grid}.expertise-gallery .capability-panel:before{content:none}.expertise-gallery .capability-slide{--slide-accent:#c5d2a9;z-index:0;opacity:0;pointer-events:none;min-width:0;transition:opacity .65s var(--gallery-ease), transform .65s var(--gallery-ease);background:linear-gradient(120deg,#24272140,#171a1980),url(/images/hero-landscape.webp) 50% 75%/cover;grid-area:1/1;align-items:center;padding:60px 70px 68px;display:grid;transform:translateY(10px)scale(1.012)}.expertise-gallery .capability-slide[data-category="1"]{--slide-accent:#e4b8bd;background:linear-gradient(120deg,#482d4150,#251d3060),url(/images/footer-landscape.webp) 50% 65%/cover}.expertise-gallery .capability-slide[data-category="2"]{--slide-accent:#b7d4e1;background:linear-gradient(120deg,#16293570,#22292f60),url(/images/hero-landscape.webp) 80% 35%/cover}.expertise-gallery .capability-slide[data-category="3"]{--slide-accent:#e5cba9;background:linear-gradient(120deg,#4d352c30,#29233160),url(/images/footer-landscape.webp) 25% 85%/cover}.expertise-gallery .capability-slide[data-active=true]{z-index:2;opacity:1;pointer-events:auto;transform:translate(0,0)scale(1)}.expertise-gallery .capability-surface{background:#151716f5;border:1px solid #ffffff30;border-radius:16px;width:min(100%,740px);margin-inline:auto;box-shadow:0 28px 64px #0005,0 5px 14px #0003}.expertise-gallery .capability-copy{background:0 0;border:0;border-radius:0;padding:30px 32px 24px}.expertise-gallery .capability-copy h3{letter-spacing:-.035em;font-size:clamp(22px,2.1vw,28px);font-weight:400}.expertise-gallery .capability-copy p{color:#c7ccca}.expertise-gallery .technology-list{gap:6px 16px}.expertise-gallery .technology-list li{color:var(--slide-accent)}.expertise-gallery .capability-diagram{background:0 0;border:0;border-top:1px solid #ffffff14;border-radius:0;padding:28px 32px 32px}.expertise-gallery .diagram-node{color:#edf0eb;background:linear-gradient(135deg,#ffffff0f,#ffffff03);border-color:#ffffff38}.expertise-gallery .diagram-node-icon,.expertise-gallery .diagram-connector{color:var(--slide-accent)}.expertise-gallery .diagram-connector{background:var(--slide-accent)}.expertise-gallery .gallery-flow-caption{z-index:3;color:#f3eeea;text-shadow:0 1px 4px #000;margin:0;position:absolute;bottom:21px;left:28px}.expertise-gallery .gallery-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.expertise-gallery .gallery-pagination button{transition:transform .24s var(--gallery-ease), border-color .24s ease, background-color .24s ease}.expertise-gallery .gallery-pagination button:is(:hover,:focus-visible){background:#34312e;border-color:#817a75;transform:translateY(-3px)}.expertise-gallery .gallery-pagination button:active{transform:translateY(0)}.expertise-gallery .gallery-mobile-tools{display:none}@media (width<=900px){.expertise-gallery .capability-slide{padding:42px 35px 64px}.expertise-gallery .capability-choice{padding-inline:8px;font-size:12px}}@media (width<=700px){.expertise-gallery .capability-selectors{display:none}.expertise-gallery .capability-panel{border-radius:18px;min-height:250px}.expertise-gallery .capability-slide{padding:12px 12px 30px}.expertise-gallery .capability-surface{border-radius:12px}.expertise-gallery .capability-copy{padding:12px 12px 10px}.expertise-gallery .capability-copy h3{margin-bottom:6px;font-size:16px;line-height:1.25}.expertise-gallery .capability-copy p{font-size:16px;line-height:1.45}.expertise-gallery .capability-copy .technology-list{display:none}.expertise-gallery .capability-diagram{padding:10px 12px 12px}.expertise-gallery .diagram-flow{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:5px;display:grid}.expertise-gallery .diagram-node{text-align:center;overflow-wrap:anywhere;border-radius:7px;gap:5px;min-height:63px;padding:5px 2px;font-size:11px;line-height:1.2}.expertise-gallery .diagram-node-icon{width:22px;height:22px}.expertise-gallery .diagram-node-icon svg{width:20px;height:20px}.expertise-gallery .diagram-connector{display:none}.expertise-gallery .gallery-flow-caption{font-size:9px;bottom:10px;left:16px}.expertise-gallery .gallery-controls{gap:10px;margin-top:16px}.expertise-gallery .gallery-caption{max-width:195px;font-size:12px}.expertise-gallery .gallery-caption>span{margin-right:8px}.expertise-gallery .gallery-mobile-tools{color:#d3cdca;border-top:1px solid #343332;margin-top:14px;display:block}.expertise-gallery .gallery-mobile-tools summary{cursor:pointer;min-height:44px;padding-block:12px;font-size:14px;line-height:20px}.expertise-gallery .gallery-mobile-tools .technology-list{margin-block:4px 16px}.expertise-gallery .gallery-mobile-tools .technology-list li{color:#c5c0bc;font-size:14px}}.expertise-gallery[data-motion=paused] .capability-slide,.expertise-gallery[data-motion=paused] .capability-choice,.expertise-gallery[data-motion=paused] .gallery-pagination button{transition:none;transform:none}@media (prefers-reduced-motion:reduce){.expertise-gallery .capability-slide,.expertise-gallery .capability-choice,.expertise-gallery .gallery-pagination button{transition:none;transform:none}}@media (forced-colors:active){.expertise-gallery .capability-slide{background:canvas}.expertise-gallery .capability-surface{border-color:canvastext}.expertise-gallery .capability-choice[aria-pressed=true]{outline-offset:-3px;outline:2px solid highlight}}.projects-section .project-chapters{isolation:isolate;flex-direction:column;gap:28px;display:flex;position:relative}.projects-section .project-chapter{--stack-limit:620px;--stack-offset:130px;background:#121313;border:1px solid #353331;border-radius:22px;grid-template-columns:1fr 1fr;gap:0;min-height:550px;padding:8px;transition:border-color .18s;display:grid;position:relative;top:auto;overflow:visible;box-shadow:0 -12px 40px #00000024}.projects-section .chapter-1{z-index:1}.projects-section .chapter-2{z-index:2}.projects-section .chapter-3{z-index:3}.projects-section .project-chapter:has(:focus-visible){z-index:10}.projects-section .project-chapter:hover{border-color:#676159}.projects-section .chapter-summary,.projects-section .project-chapter:nth-child(2n) .chapter-summary{flex-direction:column;order:0;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(28px,4vw,56px);display:flex}.projects-section .chapter-summary h3{letter-spacing:-.035em;max-width:22ch;margin-bottom:24px;font-size:28px;line-height:1.35}.projects-section .chapter-summary>*{overflow-wrap:anywhere;flex-shrink:0;min-width:0;max-width:100%}.projects-section .chapter-visual>*{flex-shrink:0}.projects-section .chapter-summary>p{font-size:16px;line-height:1.65}.projects-section .chapter-summary>.chapter-index{color:#c5bcb4;margin-bottom:26px;font-size:12px}.projects-section .chapter-links{gap:12px 22px;margin-block:22px 18px}.projects-section .chapter-links a{color:#e4dbd3;font-size:14px}.projects-section .chapter-read{color:#fff3f0;cursor:pointer;background:#ffffff10;border:1px solid #ffffff25;border-radius:999px;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:12px 23px;font-size:14px;transition:background .3s,border-color .3s,transform .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.projects-section .chapter-read:hover{background:#ffffff1d;border-color:#ffffff45;transform:translateY(-2px)}.projects-section .chapter-visual,.projects-section .project-chapter:nth-child(2n) .chapter-visual{border-radius:16px;order:1;justify-content:center;align-self:stretch;height:100%;min-height:0;padding:clamp(26px,3.3vw,46px);position:relative;top:auto}.projects-section .chapter-visual:before{background-image:linear-gradient(#121a1455,#121a1477),url(/images/hero-landscape.webp);transition:transform .22s}.projects-section .chapter-2 .chapter-visual:before{background-image:linear-gradient(#281c2240,#251b2060),url(/images/footer-landscape.webp)}.projects-section .project-chapter:hover .chapter-visual:before{transform:scale(1.008)}.projects-section .chapter-flow-label{color:#f0ede3;margin-bottom:24px;font-size:12px}.projects-section .chapter-flow{gap:12px}.projects-section .chapter-node{background:linear-gradient(130deg,#2d3832ee,#18231ee8);border-color:#c9d1bf40;align-items:center;min-height:66px;padding:16px;position:relative;box-shadow:inset 0 1px #ffffff10,0 5px 12px #101a1220}.projects-section .chapter-node+.chapter-node:before{content:"";background:#dfdfc979;width:1px;height:13px;position:absolute;bottom:100%;left:29px}.projects-section .chapter-node strong{margin:0;font-size:16px;line-height:1.4}.projects-section .chapter-node-index{font-size:12px}.projects-section .chapter-stack{gap:7px 16px;padding-top:24px;font-size:12px;line-height:1.5}.case-study-dialog{color:#f1eae3;overscroll-behavior:contain;background:#171817;border:1px solid #6b6259;border-radius:18px;width:min(820px,100% - 32px);max-height:calc(100svh - 48px);margin:auto;padding:0;overflow:auto}.case-study-dialog::backdrop{background:#050908dd}.case-study-toolbar{z-index:1;color:#cfc5bc;background:#171817;border-bottom:1px solid #3c3c36;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:13px;display:flex;position:sticky;top:0}.case-study-close{color:#f5ede4;min-height:44px;font:inherit;cursor:pointer;background:#2b2d28;border:1px solid #655f56;border-radius:7px;justify-content:center;align-items:center;gap:10px;padding:8px 12px;display:inline-flex}.case-study-close:hover{background:#3b3d35}.case-study-content{padding:36px clamp(20px,5vw,56px) 48px}.case-study-content h2{margin:0 0 22px;font-size:clamp(28px,4vw,40px);line-height:1.2}.case-study-content h3{margin:0 0 12px;font-size:21px}.case-study-content h4{margin:0 0 7px;font-size:16px}.case-study-content section{margin-top:32px}.case-study-content p,.case-study-content li{color:#d2cbc3;font-size:16px;line-height:1.7}.case-study-content ul,.case-study-content ol{padding-left:24px}.case-study-content li+li{margin-top:10px}.case-study-content .case-study-flow li+li{margin-top:20px}.case-study-content a{text-underline-offset:4px;text-decoration:underline}.case-study-content h2:focus{outline:none}@media (width>=900px) and (height>=680px) and (prefers-reduced-motion:no-preference){.projects-section .project-chapter{height:min(var(--stack-limit), calc(100svh - var(--stack-offset)));position:sticky;top:90px}.projects-section .chapter-2{top:106px}.projects-section .chapter-3{top:122px}}.projects-section .project-chapter[data-stack-fit=false]{height:auto;position:relative;top:auto}.projects-section .project-chapter[data-stack-fit=false] .chapter-visual{height:auto}@media (width>=900px){.projects-section .project-chapter:nth-child(2n) .chapter-summary{order:2}.projects-section .project-chapter:nth-child(2n) .chapter-visual{order:1}}@media (width<=899px){.projects-section .project-chapter{flex-direction:column;min-height:0;display:flex}.projects-section .chapter-summary,.projects-section .project-chapter:nth-child(2n) .chapter-summary{order:2;padding:30px 24px}.projects-section .chapter-visual,.projects-section .project-chapter:nth-child(2n) .chapter-visual{order:1;height:auto;padding:28px 24px}.projects-section .chapter-flow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.projects-section .chapter-flow-label{margin-bottom:16px}.projects-section .chapter-node{gap:10px;min-height:80px;padding:12px}.projects-section .chapter-node+.chapter-node:before{display:none}.projects-section .chapter-stack{padding-top:18px}.projects-section .chapter-summary h3{max-width:22ch;margin-bottom:18px;font-size:26px}.projects-section .chapter-summary>.chapter-index{margin-bottom:18px}}@media (width<=420px){.projects-section .chapter-flow{grid-template-columns:1fr;gap:8px}.projects-section .chapter-node{min-height:50px;padding:10px 12px}.projects-section .chapter-summary{padding-inline:20px}.projects-section .chapter-visual{padding:24px 20px}.case-study-toolbar{gap:8px;padding-inline:12px}.case-study-toolbar>span{max-width:11ch}}.portfolio[data-motion=paused] .projects-section .project-chapter{height:auto;position:relative;top:auto}.portfolio[data-motion=paused] .projects-section .chapter-visual:before{transition:none;transform:none}@media (prefers-reduced-motion:reduce){.projects-section .project-chapter{height:auto;position:relative;top:auto}.projects-section .chapter-visual:before{transition:none;transform:none}}@media (forced-colors:active){.projects-section .chapter-node,.case-study-dialog,.case-study-close{border:1px solid canvastext}.projects-section .chapter-read{border:1px solid buttontext}}.portfolio{--hero-range:1269px}.visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.portfolio .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;background:0 0;border:0}.portfolio .site-header:before{content:"";z-index:-1;pointer-events:none;height:92px;opacity:var(--header-shade,0);background:linear-gradient(#000 0% 57%,#000c 74%,#0000 100%);position:absolute;inset:0 0 auto}.portfolio .header-inner{gap:30px;width:min(1080px,100% - 48px);min-height:52px}.portfolio .nav-links{gap:28px}.portfolio .nav-links a{font-size:14px}.portfolio .resume-link{background:#ffffff12;border:1px solid #ffffff12;min-height:44px;padding:7px 19px;font-size:13px;transition:background .3s,border-color .3s,transform .3s}.portfolio .resume-link:hover{background:#ffffff20;border-color:#ffffff2d;transform:translateY(-1px)}.portfolio .header-inner>.motion-toggle{gap:0;width:44px;min-width:44px;min-height:44px;padding:10px;font-size:0}.portfolio .motion-toggle svg{width:15px;height:15px}.portfolio .motion-toggle:focus-visible,.portfolio .motion-toggle:hover{background:#ffffff15;border-radius:50%}.portfolio .primary-link{transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s,box-shadow .4s}.portfolio .primary-link:hover{transform:translateY(-2px);box-shadow:0 5px 25px #ffffff0c}.portfolio .primary-link svg,.portfolio .secondary-link svg{transition:transform .35s cubic-bezier(.22,1,.36,1)}.portfolio .primary-link:hover svg,.portfolio .secondary-link:hover svg{transform:translate(2px,-2px)}.portfolio .hero{isolation:isolate;padding-top:160px;padding-bottom:0;overflow:clip}.portfolio .hero-sky{z-index:-1;background:radial-gradient(200% 83% at 50% 0,#1b2228 0%,#353f44 42%,#d39794 100%)}.portfolio .hero-copy{z-index:2;animation:.85s cubic-bezier(.16,1,.3,1) both hero-arrive;position:relative}.portfolio .hero-chip{margin-bottom:25px;padding:3px 12px;font-size:14px;line-height:22px}.portfolio .hero h1{letter-spacing:-.04em;max-width:710px;font-size:56px;line-height:1.3}.portfolio .hero-copy>p{max-width:455px;margin-top:23px;font-size:16px;line-height:1.5}.portfolio .hero-cta{min-width:172px;margin-top:44px}.portfolio .hero-explorer{z-index:2;transform-origin:top;width:min(960px,100% - 48px);margin-top:80px;transform:translate(0,0)}.portfolio .hero-layer{pointer-events:none;width:100%;max-width:none;height:auto;position:absolute;bottom:0;left:0;transform:translate(0,0)}.portfolio .hero-layer>img{width:100%;height:auto;display:block}.portfolio .hero-layer-far,.portfolio .hero-layer-mid{z-index:0}.portfolio .hero-foreground{z-index:3}.portfolio .hero-explorer:has(:focus-visible){z-index:4}.portfolio .project-explorer{height:auto;min-height:675px;box-shadow:none;background:#252323;border:1px solid #ffffff18;border-radius:22px;grid-template-columns:230px minmax(0,1fr);padding:5px 5px 0 0}.portfolio .explorer-sidebar{background:0 0;gap:28px;padding:24px 20px}.portfolio .explorer-brand{color:#c0bdbb;padding:0 5px;font-size:13px}.portfolio .explorer-projects{gap:4px}.portfolio .project-choice{border:1px solid #0000;border-radius:8px;min-height:44px;padding:8px 12px;font-size:14px;transition:background .3s,border-color .3s,transform .3s}.portfolio .project-choice:hover{background:#ffffff0a;transform:translate(3px)}.portfolio .project-choice[aria-pressed=true]{background:#ffffff0d;border-color:#ffffff10}.portfolio .project-choice[aria-pressed=true]>span{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.portfolio .explorer-sidebar-note{color:#b9b3ad;border:0;margin-bottom:180px;padding:0 5px;font-size:11px}.explorer-showcase{isolation:isolate;background:#b8dfdc;border-radius:17px 17px 0 0;min-width:0;height:auto;min-height:min-content;display:grid;position:relative;overflow:hidden}.showcase-mesh{z-index:-1;background:linear-gradient(145deg,#e4fffa 0%,#c6f1f5 25%,#dddfec 60%,#8fbbb5 100%);position:absolute;inset:0;overflow:hidden}.showcase-mesh span{will-change:transform;border-radius:48%;width:135%;height:100%;position:absolute}.showcase-mesh span:first-child{background:radial-gradient(#376263cc 0%,#50787c99 25%,#789b9c55 40%,#0000 60%);animation:18s ease-in-out infinite alternate mesh-drift-one;inset:-25% auto auto -45%}.showcase-mesh span:nth-child(2){background:radial-gradient(#51c8c7 0%,#8bdddfcc 25%,#0000 65%);animation:23s ease-in-out infinite alternate mesh-drift-two;inset:10% -45% auto auto}.showcase-mesh span:nth-child(3){background:radial-gradient(#f9e5b9aa 0%,#dfeeff77 25%,#0000 62%);animation:28s ease-in-out infinite alternate-reverse mesh-drift-one;inset:30% auto auto 10%}.hero-project-content{z-index:0;text-align:center;opacity:0;pointer-events:none;flex-direction:column;grid-area:1/1;align-self:center;align-items:center;padding:28px 35px 145px;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);display:flex;position:relative;transform:translateY(9px)}.hero-project-content[data-active=true]{opacity:1;z-index:1;pointer-events:auto;transform:translateY(0)}.project-monogram{color:#19352f;background:#f8fffc;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:14px;font-size:20px;display:grid;box-shadow:0 1px 3px #13382d0a}.hero-project-content h2{letter-spacing:-.02em;color:#122c2d;max-width:500px;font-size:23px;font-weight:500;line-height:1.3}.hero-project-content .showcase-kind{color:#264846;margin-top:7px;font-size:13px}.explore-project{color:#192b28;background:#fcfcf5ed;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:min(420px,100%);min-height:48px;margin-block:30px 20px;padding:12px 20px;font-size:14px;transition:background .3s,box-shadow .3s,transform .3s;display:flex}.explore-project:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #1d403315}.hero-project-content .showcase-summary{color:#173f3d;max-width:390px;font-size:16px;line-height:1.6}.showcase-links{gap:22px;margin-top:12px;display:flex}.showcase-links a{color:#183c3b;align-items:center;gap:5px;min-height:44px;font-size:12px;display:flex}.showcase-links a:hover{text-underline-offset:4px;text-decoration:underline}.hero:not([data-active=true]) .showcase-mesh span{animation-play-state:paused}.explorer-dialog{overscroll-behavior:contain;color:#fff3f0;background:#151a17;border:1px solid #484d48;border-radius:22px;width:min(800px,100% - 32px);max-height:calc(100dvh - 48px);padding:40px;overflow:auto;box-shadow:0 28px 100px #0009}.explorer-dialog::backdrop{background:#000b}.explorer-close{background:#ffffff10;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:16px;right:16px}.explorer-close:hover{background:#ffffff20}.explorer-dialog>h2{margin-bottom:18px;padding-right:24px;font-size:31px}.explorer-dialog>.section-chip{margin-bottom:20px}.explorer-dialog .explorer-full-summary{max-width:650px;font-size:16px}.explorer-dialog .explorer-flow{padding:28px 0 23px}.explorer-dialog .stage-detail{min-height:125px;padding:4px 0 20px}.explorer-dialog .stage-detail h3{margin:10px 0;font-size:19px}.explorer-dialog .explorer-links{padding:0}.portfolio .intro-section{padding-block:185px 170px}.portfolio .intro-copy{max-width:640px}.portfolio .intro-copy .section-chip{margin-bottom:36px}.portfolio .intro-copy>p.scroll-paragraph{color:#fff3f0;letter-spacing:-.035em;opacity:1;text-wrap:pretty;margin-bottom:36px;font-size:28px;line-height:1.35}.portfolio .intro-copy>p.scroll-paragraph:last-child{margin-bottom:0}.portfolio .contact-section{background:#172026}.portfolio .contact-section:before{background:url(/images/fora-footer-dunes.webp) bottom/cover no-repeat;height:clamp(210px,22vw,390px);inset:auto 0 0}.portfolio .contact-section:after{display:none}.portfolio .contact-copy,.portfolio .contact-card{min-width:0}.portfolio .contact-copy h2,.portfolio .contact-card h3{overflow-wrap:anywhere}@keyframes hero-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes mesh-drift-one{0%{transform:translate(-8%,-7%)rotate(-12deg)}to{transform:translate(17%,20%)rotate(16deg)}}@keyframes mesh-drift-two{0%{transform:translate(5%,8%)rotate(15deg)}to{transform:translate(-18%,-20%)rotate(-15deg)}}@keyframes hills-far-scroll{0%{transform:translate(0,0)}to{transform:translate3d(0,calc(var(--hero-range) * .31),0)}}@keyframes hills-mid-scroll{0%{transform:translate(0,0)}to{transform:translate3d(0,calc(var(--hero-range) * .17),0)}}@keyframes explorer-scroll{0%{transform:translate(0,0)}to{transform:translate3d(0,calc(var(--hero-range) * .2),0)}}@keyframes paragraph-light{0%,32%,68%,to{opacity:.5}46%,54%{opacity:1}}@keyframes header-shade{0%{opacity:0}to{opacity:1}}@keyframes section-arrive{0%{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:scroll()){.portfolio[data-scroll-engine=native][data-motion=running] .hero-layer-far{animation:linear both hills-far-scroll;animation-timeline:scroll(root);animation-range:0px var(--hero-range)}.portfolio[data-scroll-engine=native][data-motion=running] .hero-layer-mid{animation:linear both hills-mid-scroll;animation-timeline:scroll(root);animation-range:0px var(--hero-range)}.portfolio[data-scroll-engine=native][data-motion=running] .hero-explorer{animation:linear both explorer-scroll;animation-timeline:scroll(root);animation-range:0px var(--hero-range)}.portfolio[data-scroll-engine=native][data-motion=running] .scroll-paragraph{animation:linear both paragraph-light;animation-timeline:view();animation-range:entry exit}.portfolio[data-scroll-engine=native] .site-header:before{animation:linear both header-shade;animation-timeline:scroll(root);animation-range:0 160px}.portfolio[data-scroll-engine=native][data-motion=running] .section-heading{animation:linear both section-arrive;animation-timeline:view();animation-range:entry}}.portfolio[data-animating=false] .showcase-mesh span{animation-play-state:paused}.portfolio[data-motion=paused] .hero-copy{opacity:1;animation:none;transform:none}.portfolio[data-motion=paused] .hero-layer,.portfolio[data-motion=paused] .hero-explorer{animation:none;transform:none}.portfolio[data-motion=paused] .scroll-paragraph{animation:none;opacity:1!important}.portfolio[data-motion=paused] .hero-project-content{transition:none}.portfolio[data-motion=paused] .showcase-mesh span{animation:none}.portfolio[data-motion=paused] .site-header:before{opacity:1;animation:none}@media (width<=1100px){.portfolio .header-inner{gap:20px}.portfolio .nav-links{gap:18px}}@media (width<=900px){.portfolio .header-inner{gap:14px;width:calc(100% - 40px);min-height:60px}.portfolio .site-header:before{background:linear-gradient(#000 0% 60%,#000c 76%,#0000 100%);height:100px}.portfolio .primary-nav[data-open=true]{-webkit-backdrop-filter:none;backdrop-filter:none;background:#080a0df5;max-height:calc(100dvh - 60px);inset-block-start:60px}.portfolio .nav-links{gap:6px}.portfolio .nav-links a{font-size:16px}.portfolio .header-inner>.motion-toggle{width:44px;min-width:44px;margin-left:0}.portfolio .nav-toggle{margin-left:auto}.portfolio .hero{padding-top:128px}.portfolio .hero h1{max-width:620px;font-size:44px}.portfolio .project-explorer{grid-template-columns:170px minmax(0,1fr)}.portfolio .intro-section{padding-block:135px}}@media (width<=700px){.portfolio .hero{padding-top:118px}.portfolio .hero-chip{margin-bottom:25px;font-size:13px}.portfolio .hero h1{max-width:400px;font-size:36px;line-height:1.3}.portfolio .hero-copy>p{max-width:350px;margin-top:22px;font-size:16px;line-height:1.5}.portfolio .hero-cta{margin-top:36px}.portfolio .hero-explorer{width:calc(100% - 48px);margin-top:76px}.portfolio .project-explorer{border-radius:18px;grid-template-rows:minmax(65px,max-content) auto;grid-template-columns:1fr;height:auto;min-height:530px;padding:5px;display:grid}.portfolio .explorer-sidebar{padding:0;display:block}.portfolio .explorer-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:auto;min-height:65px;display:grid}.portfolio .project-choice{gap:4px;min-height:54px;padding:7px 3px;font-size:11px}.portfolio .project-choice>span{overflow-wrap:anywhere}.portfolio .project-choice:hover{transform:translateY(-1px)}.portfolio .explorer-sidebar-note,.portfolio .explorer-brand{display:none}.explorer-showcase{border-radius:12px}.hero-project-content{align-self:center;padding:25px 18px 90px}.project-monogram{width:36px;height:36px;margin-bottom:12px;font-size:17px}.hero-project-content h2{max-width:260px;font-size:20px}.hero-project-content .showcase-kind{font-size:11px}.explore-project{gap:7px;margin-block:24px 15px;padding:10px 12px;font-size:13px}.hero-project-content .showcase-summary{font-size:16px;line-height:1.5}.showcase-links{gap:14px;margin-top:7px}.showcase-links a{font-size:10px}.portfolio .hero-layer{width:200%;left:-50%}.portfolio .hero-layer-far{width:270%;left:-85%}.portfolio .hero-layer-mid{width:250%;left:-75%}.portfolio .hero-foreground{width:180%;left:-40%}.portfolio .intro-section{padding-block:115px}.portfolio .intro-copy>p.scroll-paragraph{letter-spacing:-.025em;margin-bottom:32px;font-size:24px;line-height:1.38}.explorer-dialog{padding:27px 22px}.explorer-dialog>h2{margin-top:12px;padding-right:18px;font-size:25px}.explorer-dialog>.section-chip{margin-top:25px}.explorer-dialog .explorer-flow{grid-template-columns:1fr 1fr}.portfolio .contact-section:before{background-size:auto 100%;height:190px}.portfolio .contact-inner{grid-template-columns:minmax(0,1fr)}}@media (width<=359px){.portfolio .hero-explorer{width:calc(100% - 32px)}.portfolio .hero h1{font-size:33px}.hero-project-content{padding-inline:14px}}@media (prefers-reduced-motion:reduce){.portfolio .hero-layer,.portfolio .hero-explorer{animation:none!important;transform:none!important}.portfolio .scroll-paragraph{opacity:1!important;animation:none!important}}@media (forced-colors:active){.hero-layer,.showcase-mesh{display:none}.hero-project-content,.explorer-dialog{color:canvastext;background:canvas}.project-monogram,.explore-project{border:1px solid buttontext}.portfolio .scroll-paragraph{opacity:1!important}.portfolio .site-header:before{opacity:1;background:canvas}}.experience-section .experience-layout{grid-template-columns:minmax(220px,1fr) minmax(0,2fr);align-items:start;gap:clamp(28px,5vw,68px);display:grid}.experience-section .experience-aside{background:0 0;border:0;border-radius:0;padding:0}.experience-topics{flex-direction:column;gap:10px;display:flex}.experience-topic{color:#c6c0bb;width:100%;min-height:52px;font:inherit;text-align:left;cursor:pointer;background:#111;border:1px solid #292929;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:15px;transition:background-color .25s,border-color .25s;display:flex}.experience-topic[aria-pressed=true]{color:#f2eae2;background:#1b1b1b;border-color:#59534d}.experience-topic:hover{background:#222;border-color:#59534d}.experience-topic svg{opacity:.55}.experience-topic[aria-pressed=true] svg{opacity:1}.experience-help{background:#111;border:1px solid #282828;border-radius:16px;margin-top:28px;padding:25px 22px}.experience-aside .experience-help h3{letter-spacing:-.03em;margin:0 0 12px;font-size:20px}.experience-aside .experience-help p{font-size:15px;line-height:1.6}.experience-help a{color:#f0e5dc;align-items:center;gap:12px;min-height:44px;margin-top:14px;font-size:14px;display:inline-flex}.experience-help a:hover{text-underline-offset:4px;text-decoration:underline}.experience-topic-panels{min-width:0}.experience-section .principle-list[hidden]{display:none}.experience-section .principle-list{gap:14px}.experience-section .principle-disclosure{background:#111;border-radius:14px}.experience-section .principle-disclosure[open]{background:#171716}.experience-section .principle-disclosure summary{min-height:80px}.experience-section .principle-disclosure summary h3{line-height:1.5}.site-footer .footer-inner{grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:44px;display:grid}.site-footer .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,42px);display:grid}.footer-link-group{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.footer-link-group h3{color:#f0e8e0;letter-spacing:-.01em;margin:0 0 16px;font-size:14px;font-weight:500;line-height:1.5}.site-footer .footer-link-group a{color:#b8b0a8;min-height:40px;font-size:13px;line-height:1.5}.site-footer .footer-link-group a:hover{color:#f4ebe3;text-underline-offset:4px;text-decoration:underline}.site-footer .footer-inner>small{grid-column:1/-1}@media (width<=700px){.experience-section .experience-layout{grid-template-columns:1fr;gap:26px}.experience-section .experience-aside{gap:20px;display:grid}.experience-topics{flex-flow:wrap;gap:8px}.experience-topic{flex:auto;justify-content:center;gap:10px;width:auto;padding-inline:14px;font-size:14px}.experience-help{margin-top:0;padding:20px}.site-footer .footer-inner{text-align:center;grid-template-columns:1fr;gap:48px}.site-footer .footer-links{grid-template-columns:1fr;gap:42px}.site-footer .footer-link-group{align-items:center}.site-footer .footer-link-group a{justify-content:center;min-height:44px}.footer-link-group h3{margin-bottom:10px}}@media (width<=380px){.site-footer .footer-links{grid-template-columns:1fr;gap:42px}.site-footer .footer-link-group a{min-height:44px}}@media (forced-colors:active){.experience-topic[aria-pressed=true]{border-color:highlight;outline:1px solid highlight}}
