:root{--sr-moon:#acd4e2;--sr-rose:#c68fa5;--sr-glass:rgba(7, 18, 34, .86);--sr-edge:rgba(156, 202, 221, .22);--sr-ease:cubic-bezier(.2, .75, .25, 1)}html{scroll-padding-top:112px}.portfolio-page{overflow-x:clip}.portfolio-page .pf-section{scroll-margin-top:80px}body.portfolio-page .pf-environment{position:fixed;inset:0;width:100%;height:100lvh;min-height:100svh;z-index:0;overflow:hidden;pointer-events:none;contain:strict}.pf-environment .pf-environment-fallback{opacity:1!important;background:#030a16}.pf-scene-picture,.pf-scene-picture img{position:absolute;inset:0;width:100%;height:100%}.pf-scene-picture img{object-fit:cover;object-position:center}#pf-world{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.pf-world-ready #pf-world{opacity:1}.pf-environment .pf-mist{z-index:2;background:linear-gradient(90deg,rgb(2 7 18 / .25),transparent 72%),linear-gradient(180deg,rgb(3 7 17 / .05),transparent 42%,rgb(3 7 17 / .28))}.pf-mist::before,.pf-mist::after{display:none}.pf-environment::after{content:'';position:absolute;inset:0;z-index:2;background:#020812;opacity:.1;transition:opacity 1.4s}html[data-pf-scene="about"] .pf-environment::after,html[data-pf-scene="experience"] .pf-environment::after{opacity:.36}html[data-pf-scene="contact"] .pf-environment::after{opacity:.46}html[data-pf-effects="static"] #pf-world{display:none}.portfolio-page .reveal,.portfolio-page .split-entrance{opacity:1}.portfolio-page .pf-hero .reveal{transform:none}.portfolio-page .pf-section:not(.pf-hero):not(.pf-contact){content-visibility:visible}.pf-hero-copy{position:relative;z-index:2}.pf-hero-copy::before{content:'';position:absolute;z-index:-1;inset:-40px -50px;background:radial-gradient(ellipse at 32% 55%,rgb(2 8 21 / .52),transparent 72%);pointer-events:none}.pf-hero-statement{max-width:660px;color:#d4dfe8;text-wrap:pretty}.pf-hero-title{text-shadow:0 3px 30px rgb(0 0 0 / .12)}.pf-role-line{color:#c0cfdb}.pf-kicker{color:#c0d0dc}.pf-section-heading h2,.pf-project-copy h3,.pf-contact-intro h2{text-wrap:balance}.pf-about-copy p,.pf-project-copy p,.pf-contact-intro p{text-wrap:pretty}.pf-section-heading>p:not(.pf-section-index),.pf-about-copy p{color:#bdcbd9}.pf-section-index{color:#c598aa}.pf-frame{position:relative}[data-depth]{--tilt-x:0deg;--tilt-y:0deg;--lift:0px;--light-x:65%;--light-y:15%;transform-style:preserve-3d;transition:transform .55s var(--sr-ease),box-shadow .55s var(--sr-ease),border-color .4s}.portfolio-page .pf-system-card,.portfolio-page .pf-stack-node{border:1px solid var(--sr-edge);border-radius:12px;background:radial-gradient(ellipse at var(--light-x) var(--light-y),rgb(92 145 175 / .13),transparent 70%),linear-gradient(145deg,rgb(16 32 50 / .91),rgb(4 13 28 / .91));box-shadow:0 24px 65px -25px rgb(0 0 0 / .78),inset 0 1px 0 rgb(225 245 255 / .09),inset 0 -1px 0 rgb(0 0 0 / .4);backdrop-filter:blur(12px);transform:perspective(1200px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}.pf-system-card .pf-system-head{color:#bdd5e1;letter-spacing:.14em}.pf-system-card dl{transform:translateZ(12px)}.pf-system-card .pf-signal{transform:translateZ(18px);opacity:.65}.pf-system-card dd{color:#e1e9ed}.pf-system-card dt{color:#93aabb}.pf-status{color:#acc8b7}.portfolio-page .pf-stack-node:hover,.portfolio-page .pf-stack-node:focus-visible,.portfolio-page .pf-stack-node.is-selected{border-color:rgb(165 220 234 / .5);box-shadow:0 30px 70px -25px #000a,0 0 24px rgb(72 145 175 / .08),inset 0 1px rgb(217 245 255 / .12)}.pf-stack-node h3{color:#e2ebee}.pf-stack-node p{color:#a9becf;line-height:1.65}.pf-stack-node>span{color:#c79aae}.pf-stack-node h3,.pf-stack-node>span{transform:translateZ(9px)}.pf-stack-system{min-height:600px;margin-top:62px}.pf-stack-system::before{width:50%;border-color:rgb(129 194 214 / .12);transform:translate(-50%,-50%) perspective(900px) rotateX(38deg)}.pf-stack-system::after{width:71%;border-color:rgb(191 143 167 / .1);transform:translate(-50%,-50%) perspective(900px) rotateX(38deg)}.portfolio-page .pf-stack-core{width:290px;height:290px;aspect-ratio:1;border:none;box-shadow:none;background:#fff0;color:#c7e1e8;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:2px;gap:8px}.pf-stack-core>span{font-size:.65rem;letter-spacing:.3em}.pf-stack-core small{font:.48rem/1.5 var(--pf-mono);letter-spacing:.18em;color:#92a8b8}html:not(.pf-world-ready) .pf-stack-core::before,html[data-pf-effects="static"] .pf-stack-core::before{content:'◈';position:absolute;inset:0;display:grid;place-items:center;font-size:7rem;color:#7699b1;text-shadow:0 0 50px #79b4c44d}.portfolio-page .pf-project-visual{overflow:visible;border-radius:13px;border-color:rgb(146 190 210 / .32);box-shadow:0 35px 85px -30px #000b,5px 6px 0 -2px #0b1c2b,6px 7px 0 -2px #496072;transform:perspective(1300px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(calc(var(--tilt-y) + 1deg));background:#071323}.portfolio-page .pf-project-reverse .pf-project-visual{transform:perspective(1300px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(calc(var(--tilt-y) - 1deg))}.pf-project-visual img{border-radius:12px;filter:saturate(.83) contrast(1.03) brightness(.83)}.pf-project-visual::after{border-radius:12px;background:linear-gradient(145deg,rgb(171 219 231 / .08),transparent 40%,rgb(3 11 23 / .3));pointer-events:none}.pf-project-visual>span{transform:translateZ(30px);top:17px;right:18px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #b4d8e33b;border-radius:50%;background:#051426b3;backdrop-filter:blur(8px)}.pf-project:hover .pf-project-visual img{transform:none;filter:saturate(.95) contrast(1.03) brightness(.95)}.portfolio-page .pf-project-system{background:radial-gradient(ellipse at 80% 10%,#26495d55,transparent 55%),linear-gradient(145deg,#0e2136ee,#030e20f5)}.pf-system-visual-grid{border-radius:10px;transform:translateZ(18px);background:#051020c9}.pf-system-visual-metrics span{border-radius:6px}.pf-project-link{color:#b9d6e2;text-underline-offset:7px}.pf-project-link:hover{color:#fff}.pf-project-meta{border-color:#b4d0df20}.pf-project-copy>p:not(.pf-project-type){color:#b6c8d7}.pf-project-type{color:#c291a8}.pf-project-list{gap:clamp(85px,12vw,160px)}.portfolio-page .pf-button{min-height:48px;border-radius:5px;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}.portfolio-page .pf-button-primary{border:1px solid #96c6d359;background:linear-gradient(135deg,#244e64bb,#132c42bb);color:#eff7fa;box-shadow:inset 0 1px #d8f3fb21,0 12px 30px #0003}.portfolio-page .pf-button-primary:hover{background:linear-gradient(135deg,#315f77dd,#183e55dd);box-shadow:inset 0 1px #d8f3fb38,0 12px 36px #153d5544}.portfolio-page .pf-button:active{transform:translateY(1px)}.portfolio-page .pf-button-secondary{background:#0713265e;border-color:#c2d9e62e}.pf-text-link{min-height:44px;display:inline-flex;align-items:center}.pf-timeline-marker{box-shadow:0 0 0 6px #09203288,0 0 25px #82b8d029}.pf-timeline-item{position:relative;border-color:#9fcbdf20}.pf-timeline-item::after{content:'';position:absolute;left:0;bottom:-1px;width:25%;height:1px;background:linear-gradient(90deg,#9fc4d866,transparent)}.pf-process li{border-radius:8px;border:1px solid #aecfe021;background:linear-gradient(150deg,#112235ad,#050e20ad);box-shadow:inset 0 1px #c6e4ee08;transition:border-color .3s,transform .3s}.pf-process li:hover{border-color:#a1ced14d;transform:translateY(-3px)}.pf-form-wrap{border-radius:13px;border-color:#b3cfdf30;background:linear-gradient(145deg,#0d1e32eb,#040d1fec);box-shadow:0 30px 90px -30px #000b,inset 0 1px #c6e8f016}.pf-form input,.pf-form textarea{background:#030c1bb3;border-color:#92b3c433;border-radius:5px}.pf-form input:focus,.pf-form textarea:focus{border-color:#9fced5;box-shadow:0 0 0 3px #91bdcd12;outline:none}.pf-form label{color:#c0d2df}.form-submit-error{margin:16px 0 0;color:#e6a2b0;font-size:.86rem;line-height:1.6}.form-submit-error:empty{display:none}.pf-form[hidden]{display:none!important}.pf-system-explorer{border-radius:18px;border:1px solid #a4cbd63b;background:#071321f7;box-shadow:0 45px 160px #000c}.pf-system-explorer::backdrop{backdrop-filter:blur(10px);background:#010611b8}.pf-explorer-stage{border:1px solid #a6d4e21f;border-radius:12px;background:radial-gradient(ellipse at 50% 0%,#24445766,transparent 72%),#030e1aaa;overflow:hidden;margin:24px 0 20px}.pf-explorer-scene{height:clamp(180px,25vw,280px);width:100%;position:relative}.pf-explorer-scene canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.pf-explorer-scene canvas:active{cursor:grabbing}.pf-explorer-scene:empty::before,.pf-explorer-scene.scene-unavailable::before{content:'SOURCES  →  INGEST  →  NORMALIZE  →  STORE  →  PRESENT  →  DELIVER';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:25px;text-align:center;font:.65rem/2 var(--pf-mono);color:#9fc6d4;letter-spacing:.08em}.pf-explorer-toolbar{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #9bc6d41a}.pf-explorer-toolbar>span{margin-right:auto;color:#89a8b9;font:.6rem var(--pf-mono);letter-spacing:.12em}.pf-explorer-toolbar button{min-height:40px;padding:7px 12px;border-radius:5px;border:1px solid #a5cdda30;background:#16324588;color:#c3dee7;font:.7rem var(--pf-mono);cursor:pointer}.pf-explorer-toolbar button:hover{background:#254c62}.pf-journey-status{padding:0 20px 14px;margin:0;color:#a6bccb;font-size:.76rem}.pf-architecture button{min-height:78px}.pf-architecture button[aria-pressed="true"]{border-color:#97cfdd80;background:#193a50}.pf-explorer-detail{border-color:#a6d3df21}.pf-explorer-close{min-width:44px;min-height:44px}@media (min-width:1051px){.pf-hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:center}.pf-system-card{margin-top:130px}.pf-hero-title{font-size:clamp(6rem,7.5vw,9.6rem)}}@media (max-width:1050px){.pf-stack-system{padding-top:210px;min-height:auto}.portfolio-page .pf-stack-core{display:flex;width:210px;height:200px;top:0;left:50%;transform:translateX(-50%);position:absolute}.pf-stack-system::before,.pf-stack-system::after{display:none}.pf-hero-grid{gap:30px}.portfolio-page .pf-system-card{display:block;max-width:570px;width:100%;margin:0;padding:16px 20px}.pf-system-card dl{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:0}.pf-system-card dl>div{display:block;border:0;padding:0}.pf-system-card dt{font-size:.56rem;margin-bottom:5px}.pf-system-card dd{font-size:.7rem;margin:0}.pf-system-card .pf-signal{display:none}.pf-system-head{padding-bottom:10px;margin-bottom:10px}}@media (max-width:720px){html{scroll-padding-top:82px}.portfolio-page .pf-section{scroll-margin-top:72px;padding-block:78px}.portfolio-page .pf-hero{padding-block:128px 70px;min-height:100svh}.pf-hero-copy::before{inset:-25px -18px;background:radial-gradient(ellipse at 30% 70%,#02081899,transparent 80%)}.pf-hero-title{letter-spacing:-.068em}.pf-hero-statement{line-height:1.75;color:#d1dee8}.pf-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px}.pf-actions .pf-text-link{margin:0;justify-self:center}.portfolio-page .pf-system-card{max-width:none;padding:14px 16px}.pf-system-card dl{gap:13px;justify-content:space-between}.pf-system-card dd{font-size:.66rem}.pf-stack-system{margin-top:24px;gap:14px}.pf-stack-node{min-height:126px}.portfolio-page .pf-project-visual{transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(calc(var(--tilt-y) + 1deg))}.portfolio-page .pf-project-reverse .pf-project-visual{transform:perspective(1000px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(calc(var(--tilt-y) - 1deg))}.pf-project-visual img{min-height:250px}.pf-project-copy h3{font-size:clamp(1.8rem,7.4vw,2.65rem);line-height:1.07}.pf-project-meta div{grid-template-columns:58px 1fr}.pf-explorer-toolbar{flex-wrap:wrap;padding:12px;gap:8px}.pf-explorer-toolbar>span{width:100%}.pf-explorer-toolbar button{flex:1}.pf-explorer-scene{height:190px}.pf-system-explorer{max-width:calc(100vw - 18px);border-radius:12px}.pf-explorer-shell{padding:20px 16px}.pf-architecture ol{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-explorer-proof{grid-template-columns:1fr 1fr}.pf-journey-status{font-size:.7rem;padding-inline:12px}}@media (prefers-reduced-motion:reduce){html:not([data-pf-effects="full"]) .portfolio-page *,html:not([data-pf-effects="full"]) .portfolio-page *::before,html:not([data-pf-effects="full"]) .portfolio-page *::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}}html[data-pf-effects="reduced"] .portfolio-page *,html[data-pf-effects="static"] .portfolio-page *{animation:none!important}html[data-pf-effects="reduced"] [data-depth],html[data-pf-effects="static"] [data-depth]{transform:none!important}html[data-pf-effects="static"] *,html[data-pf-effects="static"] *::before,html[data-pf-effects="static"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media print{.pf-environment,#ll-header,.pf-scroll-cue,.pf-explorer-stage{display:none!important}.portfolio-page{color:#111;background:white!important}.portfolio-page .pf-section{min-height:auto;padding:24px 0;break-inside:avoid}.portfolio-page p,.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{color:#111!important}}.pf-stack-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pf-stack-connections path{fill:none;stroke:#93bec331;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .4s}.pf-stack-connections path.selected{stroke:#a1dce7b3;stroke-dasharray:6 8;animation:sr-current 2s linear infinite}@keyframes sr-current{to{stroke-dashoffset:-28}}@media(max-width:1050px){.pf-stack-connections{display:none}}.pf-render-diagnostics{position:fixed;bottom:14px;left:14px;z-index:20000;max-width:calc(100vw - 28px);padding:12px 16px;color:#b5d9e3;background:#03101cf2;border:1px solid #8cb3c355;border-radius:6px;font:11px/1.5 ui-monospace,monospace;pointer-events:none}.pf-about-copy p+p{margin-top:1.2em}.pf-form .form-error{color:#eea9b7;font-size:.75rem;letter-spacing:.01em}.pf-explorer-static{display:block;width:100%;height:100%;object-fit:contain;padding:12px}.pf-explorer-scene canvas{position:absolute;inset:0}.pf-explorer-scene:not(.scene-ready) canvas{visibility:hidden}.pf-explorer-scene.scene-ready .pf-explorer-static{visibility:hidden}.pf-explorer-scene.scene-unavailable::before{content:none}.pf-system-explorer{max-height:calc(100dvh - 24px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pf-system-explorer.pf-explorer-dialog-fallback{display:block;position:fixed;inset:12px;margin:auto;z-index:10000;box-shadow:0 0 0 100vmax #010611c9}.pf-explorer-close-form{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end}.pf-explorer-close{background:#132b3e}.pf-case-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}@media (max-width:720px){.pf-system-explorer{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding-bottom:env(safe-area-inset-bottom,0)}}html[data-pf-effects="static"] .reveal,html[data-pf-effects="reduced"] .reveal{opacity:1;transform:none}@media (pointer:coarse){#ll-header .ll-effects-toggle,#ll-header .ll-hamburger{min-width:44px;min-height:44px;width:44px;height:44px}.pf-project-link,.pf-case-study-trigger,.ll-effects-option{min-height:44px}}.pf-system-explorer.pf-explorer-dialog-fallback{z-index:2147483000}.pf-atmosphere-fallback{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none;display:none}html[data-pf-effects="full"]:not(.pf-world-ready) .pf-atmosphere-fallback{display:block}.pf-atmosphere-fallback i{position:absolute;top:-5%;left:var(--x);width:var(--size);height:calc(var(--size) * 1.4);border-radius:80% 12% 75% 28%;background:linear-gradient(135deg,#eed0d7b3,#985b7766);box-shadow:inset 1px 0 #f5dce744;animation:sr-petal-drift var(--duration) var(--delay) linear infinite}@keyframes sr-petal-drift{0%{transform:translate3d(0,0,0) rotateX(25deg) rotateZ(-30deg);opacity:0}8%,85%{opacity:.55}50%{transform:translate3d(calc(var(--drift) * -.35),55lvh,0) rotateX(190deg) rotateZ(55deg)}100%{transform:translate3d(var(--drift),112lvh,0) rotateX(370deg) rotateZ(130deg);opacity:0}}.pf-frame>*,.pf-project>*,.pf-contact-grid>*,.pf-explorer-detail>*{min-width:0}.pf-project-meta dd,.pf-explorer-detail dd,.pf-system-card dd{overflow-wrap:anywhere}.pf-explorer-toolbar button{min-height:44px}.portfolio-page button:focus-visible,.portfolio-page a:focus-visible{outline:2px solid #b5dfeb;outline-offset:5px}.pf-explorer-scene{isolation:isolate}@media (max-width:380px){.pf-hero-title{font-size:clamp(3.2rem,15vw,4.4rem)}.pf-system-card dl{gap:12px}.pf-explorer-proof{grid-template-columns:1fr}}@media (max-height:520px) and (orientation:landscape){.portfolio-page .pf-hero{padding-top:110px}.pf-system-explorer,.pf-case-dialog{max-height:calc(100dvh - 12px)}.pf-explorer-scene{height:180px}}