*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none}:root{--color-black: #000000;--color-neutral-900: #171717;--color-neutral-700: #404040;--color-neutral-500: #737373;--color-neutral-300: #d4d4d4;--color-neutral-100: #f5f5f5;--color-white: #ffffff;--color-bg: #0b080c;--color-bg-secondary: #131318;--color-bg-tertiary: #1C1C24;--color-bg-light: #f8f6f2;--color-text-primary: #f2eff4;--color-text-secondary: #9A9690;--color-text-secondary-on-light: #6B6860;--color-text-on-light: #1a1a1a;--color-accent-purple: #c2a4ff;--color-accent-purple-on-light: #5A3D9E;--color-accent-coral: #F0997B;--color-accent-blue: #85B7EB;--color-accent-pink: #F2A0C4;--color-accent-teal: #5DCAA5;--color-glow-orb: #fb8dff;--color-glow-inset: rgba(84, 0, 255, .6);--color-glow-ux: #F08CB5;--color-glow-id: #C084FC;--color-glow-ai: #60A5FA;--color-error-light: #fef2f2;--color-error-base: #ef4444;--color-error-dark: #b91c1c;--color-success-light: #f0fdf4;--color-success-base: #22c55e;--color-success-dark: #15803d;--color-warning-light: #fffbeb;--color-warning-base: #f59e0b;--color-warning-dark: #b45309;--color-info-light: #eff6ff;--color-info-base: #3b82f6;--color-info-dark: #1d4ed8;--color-primary-light: #eff6ff;--color-primary-base: #0066ff;--color-primary-dark: #0044cc;--color-secondary-light: #f5f3ff;--color-secondary-base: #8b5cf6;--color-secondary-dark: #6d28d9;--font-family-base: "Geist", system-ui, sans-serif;--font-family-secondary: "Merriweather", Georgia, serif;--font-family-mono: "Geist Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--border-width: 1px;--border-color: #e5e5e5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}:root{--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-secondary-on-light: var(--color-text-secondary-on-light);--text-on-light: var(--color-text-on-light);--text-inverse: var(--color-black);--text-link: var(--color-accent-purple);--bg-page: var(--color-bg);--bg-surface: var(--color-bg-secondary);--bg-elevated: var(--color-bg-tertiary);--bg-light-page: var(--color-bg-light);--border: rgba(255, 255, 255, .1);--shadow: 0 4px 6px rgba(0, 0, 0, .4);--accent-purple: var(--color-accent-purple);--accent-purple-on-light: var(--color-accent-purple-on-light);--accent-coral: var(--color-accent-coral);--accent-blue: var(--color-accent-blue);--accent-pink: var(--color-accent-pink);--accent-teal: var(--color-accent-teal);--page-accent-default: var(--accent-purple-on-light);--page-accent-rgb-default: 90, 61, 158;--bg-cta-subtle: color-mix(in srgb, var(--accent-purple) 8%, var(--bg-page));--bg-cta-subtle-hover: color-mix(in srgb, var(--accent-purple) 16%, var(--bg-page))}:root{--primary-light: var(--color-primary-light);--primary-base: var(--color-primary-base);--primary-dark: var(--color-primary-dark);--secondary-light: var(--color-secondary-light);--secondary-base: var(--color-secondary-base);--secondary-dark: var(--color-secondary-dark)}:root{--error-light: #451a1a;--error-base: #f87171;--error-dark: #fecaca;--success-light: #14332a;--success-base: #4ade80;--success-dark: #bbf7d0;--warning-light: #422006;--warning-base: #fbbf24;--warning-dark: #fef3c7;--info-light: #1e2a4a;--info-base: #60a5fa;--info-dark: #bfdbfe}body.light-page{--error-light: var(--color-error-light);--error-base: var(--color-error-base);--error-dark: var(--color-error-dark);--success-light: var(--color-success-light);--success-base: var(--color-success-base);--success-dark: var(--color-success-dark);--warning-light: var(--color-warning-light);--warning-base: var(--color-warning-base);--warning-dark: var(--color-warning-dark);--info-light: var(--color-info-light);--info-base: var(--color-info-base);--info-dark: var(--color-info-dark)}:root{--text-caption: var(--font-size-xs);--text-label: var(--font-size-sm);--text-body: var(--font-size-base);--text-body-lg: var(--font-size-lg);--text-h4: var(--font-size-xl);--text-h3: var(--font-size-2xl);--text-h2: var(--font-size-3xl);--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.5;--leading-relaxed: 1.65;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700}[data-theme=dark]{--text-primary: var(--color-neutral-100);--text-secondary: var(--color-neutral-500);--text-inverse: var(--color-black);--text-link: var(--color-primary-base);--bg-page: #0a0a0a;--bg-surface: var(--color-neutral-900);--bg-elevated: #262626;--border: #333333;--shadow: 0 4px 6px rgba(0, 0, 0, .4);--primary-light: #1e2a4a;--primary-base: #60a5fa;--primary-dark: #bfdbfe;--secondary-light: #2e1a47;--secondary-base: #a78bfa;--secondary-dark: #ddd6fe;--error-light: #451a1a;--error-base: #f87171;--error-dark: #fecaca;--success-light: #14332a;--success-base: #4ade80;--success-dark: #bbf7d0;--warning-light: #422006;--warning-base: #fbbf24;--warning-dark: #fef3c7;--info-light: #1e2a4a;--info-base: #60a5fa;--info-dark: #bfdbfe}body{font-family:var(--font-family-base);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-page)}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--text-link);outline-offset:2px}img{height:auto}button{cursor:pointer}:focus-visible{outline:2px solid var(--text-link);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;top:1rem;left:1rem;width:auto;height:auto;padding:.75rem 1.5rem;background:var(--bg-elevated);color:var(--text-primary);border:2px solid var(--border);border-radius:.375rem;z-index:9999;outline:2px solid var(--text-link);outline-offset:2px}::selection{background:#a78bfa4d;color:var(--text-primary)}html{scroll-behavior:auto;overflow-x:hidden}body{font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.scroll-container{position:relative;width:100%}.canvas-container{position:fixed;top:0;left:0;width:100%;height:100dvh;z-index:1;pointer-events:none;transform:translateY(2%);transition:opacity .3s ease}@media(min-width:768px){.canvas-container{transform:none}}.canvas-container canvas{pointer-events:none}.content-layer{position:relative;z-index:2;pointer-events:none}.content-layer>*{pointer-events:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}html.restoring-scroll .canvas-container,html.restoring-scroll .nav-fade-solid,html.restoring-scroll .nav-fade-gradient,html.restoring-scroll .glow-orb,html.restoring-scroll .header{visibility:hidden;transition:none;animation:paint-hold-fallback 1s steps(1,end) forwards}html.restoring-scroll body{background-color:var(--bg-light-page)}@keyframes paint-hold-fallback{to{visibility:visible}}.dashed-card{border:1px dashed rgba(255,255,255,.15);border-radius:8px;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#13131899;transition:border-color .4s ease,background .4s ease}@media only screen and (min-width:375px){.dashed-card{padding:24px}}.dashed-card:hover{border-color:#ffffff4d;background:#131318cc}.glow-orb{position:fixed;width:300px;height:300px;border-radius:50%;background-color:var(--color-glow-orb);box-shadow:inset -50px 40px 50px var(--color-glow-inset);pointer-events:none;transition:opacity .6s ease}body.orbs-hidden .glow-orb,body.nav-open .glow-orb{opacity:0}.glow-orb-1{top:0;left:0;z-index:15;filter:blur(60px);animation:glowSpin1 5s linear infinite}.glow-orb-2{top:50%;right:0;z-index:9;filter:blur(50px);display:none;animation:glowSpin2 5s linear infinite}@keyframes glowSpin1{0%{transform:translate(-95%,-75%) rotate(0)}to{transform:translate(-95%,-75%) rotate(360deg)}}@keyframes glowSpin2{0%{transform:translate(calc(100% - 2px),-50%) rotate(0)}to{transform:translate(calc(100% - 2px),-50%) rotate(360deg)}}@media only screen and (min-width:500px){.glow-orb-2{display:block}}@media only screen and (min-width:480px)and (max-width:767px)and (orientation:portrait){.glow-orb-2{display:none}}.scroll-top-btn{position:fixed;bottom:16px;right:16px;z-index:var(--z-sticky);width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .35s ease,transform .35s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}@media(min-width:768px){.scroll-top-btn{bottom:24px;right:24px}}@media(min-width:1024px){.scroll-top-btn{bottom:32px;right:32px}}.scroll-top-btn.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.scroll-top-btn.in-light-section{background:#fff;border-color:#0000001a;color:var(--text-secondary-on-light);box-shadow:0 2px 12px #00000014}.scroll-top-btn.in-light-section:hover{background:#f0ece6;color:var(--text-on-light)}body.light-page .scroll-top-btn{background:#fff;border-color:#0000001a;color:var(--text-secondary-on-light);box-shadow:0 2px 12px #00000014}body.light-page .scroll-top-btn:hover{background:#f0ece6;color:var(--text-on-light)}.constellation-line{stroke-dasharray:1;stroke-dashoffset:1;animation:drawLine .5s ease-out forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.header{display:flex;align-items:center;width:100%;justify-content:flex-start;padding:8px max(16px,5%);box-sizing:border-box;position:fixed;left:0;top:0;z-index:9999;background:transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.light-page .header{background:var(--bg-light-page)}.light-page .navbar-cta,.header--light .navbar-cta{color:var(--text-secondary-on-light);border-color:#1a1a1a26}.header--light .navbar-desktop li.nav-active a,.header--light .hover-link:hover .hover-in{color:var(--accent-purple-on-light)}.light-page .navbar-cta:hover,.header--light .navbar-cta:hover{color:var(--accent-purple-on-light);border-color:#1a1a1a59;background:#1a1a1a08}.header--light .navbar-cta{color:var(--text-on-light);border-color:#1a1a1a40}.header a{color:inherit;text-decoration:none}.header a:hover{color:var(--accent-purple)}.navbar-title{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:16px;letter-spacing:.2px;transition:color .2s ease}.navbar-connect{position:absolute;display:none;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;letter-spacing:1px;font-weight:500;transition:color .2s ease}.navbar-desktop{display:none;margin:0;padding:0;list-style:none;font-size:13px;column-gap:40px;align-items:center}.navbar-desktop li{letter-spacing:1px;color:var(--text-primary);font-weight:600;cursor:pointer;transition:color .2s ease}.navbar-cta{display:none;align-items:center;font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border:1px solid rgba(255,255,255,.15);padding:8px 18px;border-radius:100px;text-decoration:none;white-space:nowrap;transition:color var(--transition-base),border-color var(--transition-base),background var(--transition-base)}.navbar-cta:hover{color:var(--accent-purple);border-color:#ffffff59;background:#ffffff0a;text-decoration:none}.navbar-mobile-cta{margin-top:4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.navbar-mobile a.navbar-mobile-cta{color:var(--accent-purple);font-size:var(--text-body);font-weight:400;letter-spacing:.02em;text-transform:uppercase}.navbar-hamburger{margin-left:auto;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ccc;cursor:pointer;padding:12px;transition:color .2s ease}.navbar-hamburger:hover{color:var(--accent-purple)}.navbar-mobile{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100dvh;z-index:9998;display:flex;flex-direction:column;padding:96px max(16px,5%) 40px;gap:20px;background:var(--bg-page);font-size:var(--text-body);font-weight:600;letter-spacing:1px;text-transform:uppercase;overflow-y:auto;-webkit-overflow-scrolling:touch}@media only screen and (min-width:768px){.navbar-mobile{padding:96px 8% 40px}}@media only screen and (min-width:1024px){.navbar-mobile{padding:96px 10% 40px}}.navbar-mobile a{display:flex;align-items:center;min-height:44px;color:#ccc;text-decoration:none;transition:color .3s}.navbar-mobile a:hover{color:var(--accent-purple)}.header.header--light~.navbar-mobile,body.light-page .navbar-mobile{background:var(--bg-light-page)}.header.header--light~.navbar-mobile a,body.light-page .navbar-mobile a{color:var(--text-on-light)}.header.header--light~.navbar-mobile a:hover,body.light-page .navbar-mobile a:hover{color:var(--accent-purple-on-light)}.header.header--light~.navbar-mobile a.nav-active,body.light-page .navbar-mobile a.nav-active{color:var(--accent-purple-on-light)}.header.header--light~.navbar-mobile .navbar-mobile-cta,body.light-page .navbar-mobile .navbar-mobile-cta{color:var(--accent-purple-on-light);border-top-color:#00000014}.navbar-mobile-social{display:flex;justify-content:space-around;align-items:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.navbar-mobile-social a{color:#ccc;display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;border-radius:8px;transition:color .2s ease,transform .2s ease}.navbar-mobile-social a:hover,.navbar-mobile-social a:focus-visible{color:var(--accent-purple);transform:scale(1.1)}.header.header--light~.navbar-mobile .navbar-mobile-social,body.light-page .navbar-mobile .navbar-mobile-social{border-top-color:#0000000f}.header.header--light~.navbar-mobile .navbar-mobile-social a,body.light-page .navbar-mobile .navbar-mobile-social a{color:var(--text-on-light)}.header.header--light~.navbar-mobile .navbar-mobile-social a:hover,body.light-page .navbar-mobile .navbar-mobile-social a:hover{color:var(--accent-purple-on-light)}@media only screen and (min-width:900px){.navbar-mobile-social{display:none}}@media only screen and (min-width:900px)and (max-width:1279px)and (orientation:portrait){.navbar-mobile-social{display:flex}}.navbar-mobile-close{margin:auto auto 0;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.navbar-mobile-close:hover,.navbar-mobile-close:focus-visible{color:var(--text-primary);border-color:#ffffff59;background:#ffffff0a;transform:scale(1.05)}.header.header--light~.navbar-mobile .navbar-mobile-close,body.light-page .navbar-mobile .navbar-mobile-close{color:var(--text-on-light);border-color:#00000026}.header.header--light~.navbar-mobile .navbar-mobile-close:hover,body.light-page .navbar-mobile .navbar-mobile-close:hover{color:var(--accent-purple-on-light);border-color:#00000059;background:#00000008}@media only screen and (min-width:900px){.navbar-mobile-close{display:none}}@media only screen and (min-width:900px)and (max-width:1279px)and (orientation:portrait){.navbar-mobile-close{display:inline-flex}}.nav-fade-solid{position:fixed;top:0;left:0;width:100%;height:60px;background-color:var(--bg-page);pointer-events:none;z-index:12;transition:opacity .15s ease}.nav-fade-gradient{position:fixed;top:60px;left:0;width:100%;height:30px;background-image:linear-gradient(180deg,var(--bg-page) 0%,transparent 100%);pointer-events:none;z-index:12;transition:opacity .15s ease}.nav-fade-gradient--scrubbing{transition:none}@media only screen and (min-width:768px){.nav-fade-solid{height:76px}.nav-fade-gradient{top:76px;height:40px}}.hover-link{position:relative;display:flex;white-space:nowrap;overflow:hidden}.hover-in{position:relative;transition:.3s}.hover-in div{display:flex;position:absolute;top:100%;left:0}.hover-link:hover .hover-in{transform:translateY(-100%);color:var(--accent-purple)}@media only screen and (min-width:768px){.header{padding:16px 8%}}@media only screen and (min-width:1024px){.header{padding:16px 10%}}@media only screen and (min-width:1280px){.navbar-desktop{display:flex;font-size:14px;column-gap:50px;margin-left:auto}.navbar-hamburger{display:none;margin-left:0}.navbar-connect{display:block}.navbar-cta{display:inline-flex;margin-left:40px}.navbar-title{font-size:18px}}@media only screen and (min-width:1700px){.header{padding-left:calc(50vw - 700px);padding-right:calc(50vw - 700px)}}.social-icons{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:99;display:none;flex-direction:column;gap:16px;padding:10px}.social-icons a{color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transition:color .2s,transform .3s}.social-icons a:hover{color:var(--accent-purple);transform:scale(1.15)}@media only screen and (min-width:900px){.social-icons{display:flex}}@media only screen and (min-width:900px)and (max-width:1279px)and (orientation:portrait){.social-icons{display:none}}.hero-section{width:100%;max-width:2400px;margin:auto auto 0;position:relative;height:100dvh}@media only screen and (min-width:768px){.hero-section{margin-bottom:-30dvh}}.hero-container{width:94%;margin:auto;height:100%;position:relative;max-width:2400px}.hero-intro{position:absolute;z-index:9;top:12%;left:0}.hero-greeting{margin:0;color:var(--accent-purple);font-size:22px;font-weight:300;letter-spacing:2px}.hero-intro h1{margin:0;letter-spacing:2px;font-size:28px;line-height:28px;font-weight:500;text-transform:uppercase}.hero-info{position:absolute;right:50%;transform:translate(50%);bottom:40px;z-index:9}.hero-info h3{font-size:22px;letter-spacing:2px;font-weight:300;color:var(--accent-purple);margin:0}.hero-role{position:relative;overflow:hidden}.hero-role-text{margin:0;font-weight:600;font-size:32px;line-height:40px;text-transform:uppercase;letter-spacing:2px;color:var(--accent-purple)}.hero-role-white{color:var(--text-primary);display:block}.hero-greeting,.hero-intro h1,.hero-info h3,.hero-role{opacity:0}@media only screen and (max-width:767px){.hero-intro{top:12dvh;left:50%;transform:translate(-50%);text-align:center}.hero-intro h1{margin-top:4px}.hero-info{width:100%;text-align:center;bottom:8dvh}.hero-role-white{display:block}.hero-role-text{letter-spacing:1px;font-size:30px;line-height:36px}.hero-info h3,.hero-role-text{text-shadow:0 1px 6px rgba(0,0,0,.3),0 0 2px rgba(0,0,0,.2)}}@media only screen and (min-width:500px){.hero-greeting{font-size:18px}.hero-intro h1{font-size:30px;line-height:30px}.hero-info h3{font-size:18px}.hero-role-text{font-size:35px;line-height:40px}}@media only screen and (min-width:768px){.hero-greeting{font-size:25px}.hero-intro h1{font-size:40px;line-height:35px}.hero-info h3{font-size:25px}.hero-role-text{font-size:45px;line-height:42px}}@media only screen and (min-width:768px)and (max-width:1023px){.hero-intro{left:40px}.hero-info{width:100%;text-align:center;bottom:10dvh}.hero-role-white{display:block}.hero-info h3,.hero-role-text{text-shadow:0 1px 6px rgba(0,0,0,.3),0 0 2px rgba(0,0,0,.2)}}@media only screen and (min-width:1024px)and (orientation:portrait){.hero-intro{left:71px}.hero-info{width:100%;text-align:center;bottom:12dvh}.hero-role-white{display:block}.hero-info h3,.hero-role-text{text-shadow:0 1px 6px rgba(0,0,0,.3),0 0 2px rgba(0,0,0,.2)}}@media only screen and (min-width:1025px){.hero-intro{top:50%;left:auto;right:66%;transform:translateY(-50%)}.hero-info{bottom:auto;top:51%;text-align:left;transform:translateY(-50%);right:auto;left:66%}}@media only screen and (min-width:1200px){.hero-intro{right:70%}.hero-info{left:70%}}@media only screen and (min-width:1200px)and (max-width:1439px){.hero-intro{right:67%}.hero-info{left:67%}}@media only screen and (min-width:1024px)and (max-width:1179px)and (orientation:landscape){.hero-intro{top:130px;left:71px;right:auto;transform:none}.hero-info{width:100%;text-align:center;bottom:8dvh;top:auto;left:auto;right:50%;transform:translate(50%)}.hero-role-white{display:block}.hero-info h3,.hero-role-text{text-shadow:0 1px 6px rgba(0,0,0,.3),0 0 2px rgba(0,0,0,.2)}}@media only screen and (min-width:1600px){.hero-intro{right:65%}.hero-info{left:65%}.hero-greeting{font-size:35px}.hero-intro h1{font-size:60px;line-height:55px}.hero-info h3{font-size:35px}.hero-role-text{font-size:65px;line-height:62px}}@media only screen and (min-width:2400px){.hero-intro{right:70%}.hero-info{left:70%}}.about-section{display:flex;align-items:center;justify-content:center;position:relative;width:94%;max-width:1920px;margin:auto;min-height:100dvh}.about-inner{padding:50px 0;width:500px;max-width:calc(100% - 15px);position:sticky;top:50%;transform:translateY(-50%)}@media only screen and (min-width:414px){.about-inner{max-width:85%}}.about-title{font-size:25px;text-transform:uppercase;letter-spacing:7px;font-weight:400;color:var(--accent-purple);margin-bottom:32px}.about-para{font-size:24px;font-weight:600;line-height:1.1;letter-spacing:.5px;color:var(--text-primary)}.about-para .inline-block{line-height:1.1;vertical-align:top}.about-para+.about-para{margin-top:28px}.about-emphasis{color:var(--accent-purple)}@media only screen and (min-width:600px){.about-section{justify-content:center}}@media only screen and (min-width:480px)and (max-width:767px)and (orientation:portrait){.about-section{justify-content:flex-end;padding-right:8%}.about-inner{width:60%}}@media only screen and (min-width:768px){.about-section{justify-content:right;padding-right:8%}.about-inner{width:50%;max-width:calc(100% - 70px)}}@media only screen and (min-width:768px)and (max-width:1023px){.about-inner{width:65%}}@media only screen and (min-width:1024px)and (orientation:portrait){.about-inner{width:60%}.about-para{font-size:28px}}@media only screen and (min-width:1025px){.about-section{justify-content:right;height:160dvh;min-height:auto;padding:0 7% 0 0}.about-inner{padding:0;width:44%;max-width:700px}.about-para{font-size:clamp(20px,1.9vw,29px);line-height:clamp(24px,2.3vw,35px)}.about-para .inline-block{line-height:clamp(24px,2.3vw,35px)}}@media only screen and (min-width:1024px)and (max-width:1439px)and (orientation:landscape){.about-section{justify-content:right;align-items:flex-start;height:160dvh;min-height:auto;padding:0 8% 0 0}.about-inner{padding:50px 0;width:50%;max-width:calc(100% - 70px)}.about-para{font-size:24px;line-height:1.1}.about-para .inline-block{line-height:1.1}}@media only screen and (min-width:1280px)and (max-width:1439px)and (orientation:landscape){.about-inner{width:44%}.about-para{font-size:clamp(20px,1.9vw,29px);line-height:clamp(24px,2.3vw,35px)}.about-para .inline-block{line-height:clamp(24px,2.3vw,35px)}}.whatido-card{padding:24px 32px;background:#131318f2;transition:all .5s ease;position:relative}.whatido-card:hover{background:#131318f2}@media only screen and (min-width:1025px){.whatido-card{background:transparent}}.whatido-card:before,.whatido-card:after,.whatido-card .whatido-corner:before,.whatido-card .whatido-corner:after{content:"";width:10px;height:10px;position:absolute;border:2px solid rgba(255,255,255,.9);opacity:0}.whatido-card:first-child:before{top:-2px;left:-2px;border-right:none;border-bottom:none;opacity:1}.whatido-card:first-child .whatido-corner:before{top:-2px;right:-2px;border-left:none;border-bottom:none;opacity:1}.whatido-card:last-child:after{bottom:-2px;left:-2px;border-top:none;border-right:none;opacity:1}.whatido-card:last-child .whatido-corner:after{bottom:-2px;right:-2px;border-left:none;border-top:none;opacity:1}.whatido-card-content{opacity:0;position:relative;z-index:1}.whatido-border-h{position:absolute;top:0;left:0;width:100%;height:100%;border-top:none;border-bottom:none;background-image:repeating-linear-gradient(to right,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 8px,transparent 8px,transparent 14px),repeating-linear-gradient(to right,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 8px,transparent 8px,transparent 14px);background-size:100% 1px;background-position:top,bottom;background-repeat:no-repeat;pointer-events:none;transform-origin:left center}.whatido-border-v{position:absolute;top:0;left:0;width:100%;height:100%;border-left:none;border-right:none;background-image:repeating-linear-gradient(to bottom,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 8px,transparent 8px,transparent 14px),repeating-linear-gradient(to bottom,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 8px,transparent 8px,transparent 14px);background-size:1px 100%;background-position:left,right;background-repeat:no-repeat;pointer-events:none;transform-origin:center top}.whatido-heading{font-size:min(calc(4vw + 25px),90px);line-height:min(calc(4vw + 20px),85px);font-weight:600;text-transform:uppercase;letter-spacing:.05em}@media only screen and (min-width:768px)and (max-width:1023px)and (orientation:portrait)and (min-height:1100px){[data-whatido-section] [data-whatido-heading]{left:8%}}@media only screen and (min-width:768px)and (max-width:1023px),only screen and (min-width:1024px)and (orientation:portrait){.whatido-heading{text-shadow:0 1px 6px rgba(0,0,0,.3),0 0 2px rgba(0,0,0,.2)}}@media only screen and (min-width:1024px)and (orientation:portrait){[data-whatido-section] [data-whatido-cards]{right:10%}}.career-section{display:flex;flex-direction:column;align-items:center;place-items:center;justify-content:center;position:relative;opacity:1;height:auto;margin:80px auto auto;padding:120px 5%;max-width:1920px}@media only screen and (min-width:1024px){.career-section{padding-left:10%;padding-right:10%}}@media only screen and (min-width:1700px){.career-section{max-width:1400px;padding-left:0;padding-right:0}}@media only screen and (min-width:1024px)and (orientation:portrait){.career-section{padding-bottom:240px}}.career-h2{font-size:70px;line-height:70px;font-weight:400;text-align:center;background:linear-gradient(0deg,#7f40ff,#fff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent;margin-top:50px;margin-bottom:90px}.career-amp{font-weight:300}.career-info{position:relative;display:flex;flex-direction:column;margin:0 auto;width:100%;max-width:1200px}.career-info-box{display:flex;justify-content:space-between;margin-bottom:50px;flex-wrap:wrap;width:100%}.career-info-box:last-child{margin-bottom:0}.career-info-box>p{width:40%;font-size:var(--text-body-lg);font-weight:300;margin:0;color:var(--text-secondary)}.career-info-in{display:flex;width:40%;justify-content:space-between;gap:50px}.career-year time{display:block;font-size:48px;margin:0;font-weight:500;line-height:45px}.career-info h3{font-size:33px;line-height:30px;letter-spacing:.8px;font-weight:500;margin:0}h3.career-role-new{margin-top:8px}.career-year{text-align:right;white-space:nowrap}.career-year span{font-size:14px;font-weight:300;color:var(--text-secondary);letter-spacing:.5px}.career-sub-roles{margin-top:10px}.career-sub-roles p{font-size:14px;font-weight:400;color:var(--text-secondary);margin:4px 0;letter-spacing:.3px}.career-company{font-weight:400;letter-spacing:.7px;font-size:var(--text-h4);text-transform:capitalize;margin:10px 0;color:var(--accent-purple)}.career-role-arrow{font-size:22px;line-height:1;color:#fff;margin:4px 0;font-weight:400;display:block}.career-role-desktop{display:block}.career-role-mobile{display:none}.career-timeline{position:absolute;top:-35px;left:50%;transform:translate(-50%);width:3px;height:calc(100% + 35px);background-image:linear-gradient(to top,#aa42ff 35%,#c2a4ff 70%,transparent 100%);max-height:0%;opacity:0}.career-dot{position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);background-color:#aa42ff;width:10px;height:10px;border-radius:50px;box-shadow:0 0 4px 2px #d29bffd9,0 0 12px 6px #d097ffb3,0 0 80px 14px #f2c0ff8c;animation:timeline .8s linear infinite forwards}@keyframes timeline{10%,20%,50%,70%,90%{box-shadow:0 0 4px 2px #d29bffd9}10%,30%,0%,to,64%,80%{box-shadow:0 0 4px 2px #d29bffd9,0 0 12px 4px #d097ffb3,0 0 80px 14px #f2c0ff8c}}.career-dot.career-dot-static{animation:none;box-shadow:0 0 4px 2px #d29bffd9,0 0 12px 6px #d097ffb3,0 0 80px 14px #f2c0ff8c}@media only screen and (max-width:1400px){.career-h2{font-size:50px;line-height:50px}.career-info h3{font-size:22px;line-height:24px}.career-company{font-size:var(--text-body-lg)}.career-year time{font-size:40px}.career-info-box>p{font-size:var(--text-body)}.career-info-in{width:45%}.career-info-box>p{width:45%}}@media only screen and (max-width:1023px){.career-section{padding:96px 8%;margin-top:0;margin-bottom:0}.career-h2{font-size:50px;line-height:50px}.career-info-in{gap:40px}}@media only screen and (min-width:768px)and (max-width:1023px)and (orientation:portrait)and (min-height:1300px){.career-section{padding-bottom:240px}}@media only screen and (max-width:900px){.career-info-box{flex-direction:column;gap:10px;margin-bottom:70px}.career-info-in,.career-info-box>p{width:100%;padding-left:8%;box-sizing:border-box}.career-timeline{left:0%}.career-container{width:calc(100% - 25px)}}@media only screen and (max-width:600px){.career-info{margin:0}.career-h2{width:100%;font-size:45px;line-height:45px;margin-top:0}.career-info-in{gap:32px}.career-year time{font-size:33px;line-height:33px}.career-info-box{margin-bottom:50px;gap:0}.career-section{padding:80px 5%;margin-top:0}.career-container{width:100%}.career-timeline{top:0;height:calc(100% - 9px)}}app-selected-work{display:block}.sw-section{background-color:var(--bg-page)}.sw-container{max-width:1920px;margin:0 auto;padding:80px 5%}@media only screen and (min-width:768px){.sw-container{padding:96px 8%}}@media only screen and (min-width:1024px){.sw-container{padding:120px 10%}}@media only screen and (min-width:1700px){.sw-container{max-width:1400px;padding-left:0;padding-right:0}}.sw-label{font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.3em;font-weight:400;color:var(--accent-purple-on-light);margin-bottom:24px}.sw-heading{font-size:min(calc(4vw + 25px),90px);line-height:min(calc(4vw + 20px),85px);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-on-light);margin-bottom:16px}.sw-disciplines{display:flex;flex-direction:column;gap:48px;margin-top:48px}.sw-discipline-header{display:flex;align-items:center;column-gap:14px;row-gap:6px;margin-bottom:24px;flex-wrap:wrap}@media only screen and (min-width:1024px){.sw-discipline-header{margin-bottom:36px}}.sw-discipline-num{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.1em;color:var(--text-secondary);flex-shrink:0}.sw-discipline-name{font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.3em;font-weight:500;flex-shrink:0}.sw-discipline-rule{flex:1;height:1px;background:#1a1a1a1a;transition:background .4s ease}.sw-discipline-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}@media only screen and (min-width:768px){.sw-discipline-grid{grid-template-columns:62% 35%;column-gap:3%}.sw-discipline--single .sw-discipline-grid{grid-template-columns:62% 35%}}.sw-view-all{flex-shrink:0;flex-basis:100%;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-height:44px;font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.2em;font-weight:500;text-decoration:none;transition:gap .2s ease}@media only screen and (min-width:600px){.sw-view-all{flex-basis:auto}}.sw-view-all:hover{gap:10px}.sw-project{display:block;text-decoration:none}.sw-project-image{aspect-ratio:4 / 3;border-radius:12px;background:#eae7e3;margin-bottom:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .4s ease}.sw-project:hover .sw-project-image{transform:scale(1.02)}.sw-project-image img{width:100%;height:100%;object-fit:cover;display:block}.sw-project-placeholder{font-size:var(--text-label);color:var(--text-secondary)}.sw-project-title{font-size:var(--text-h4);font-weight:600;color:var(--text-on-light);margin-bottom:8px;transition:color .4s ease}.sw-project-desc{font-size:var(--text-body);color:var(--text-secondary-on-light);line-height:var(--leading-normal);margin-bottom:14px;transition:color .4s ease}.sw-project-cta{font-family:var(--font-family-mono);font-size:var(--text-label);font-weight:500;text-transform:uppercase;letter-spacing:.2em;display:inline-flex;align-items:center;gap:6px;transition:gap .2s ease}.sw-project:hover .sw-project-cta{gap:10px}.sw-project:focus-visible{outline:2px solid var(--accent-purple);outline-offset:4px;border-radius:4px}.sw-project--coming-soon{cursor:default;pointer-events:none}.sw-project--coming-soon:hover .sw-project-image{transform:none}.sw-project-coming-badge{position:absolute;top:12px;right:12px;z-index:3;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-on-light, #1a1a1a);background:#f5f0e6eb;padding:5px 10px;border-radius:999px;pointer-events:none;font-weight:var(--weight-medium)}@media(min-width:768px){.sw-project-coming-badge{top:16px;right:16px}}.sw-project-image{position:relative}.sw-project-lock-badge{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;font-weight:var(--weight-medium);background:#141218c7;color:#f2eff4;pointer-events:none}.sw-project-lock-badge svg{display:block}@media(min-width:768px){.sw-project-lock-badge{top:16px;right:16px}}@media only screen and (min-width:1024px){.sw-disciplines{gap:72px;margin-top:72px}}.sw-section--dark .sw-project-title{color:#f2eff4}.sw-section--dark .sw-project-desc{color:#9a9690}.sw-section--dark .sw-discipline-rule{background:#f2eff41a}.starfield-container{position:relative;overflow:visible;margin-top:-50px;height:clamp(450px,50vw,600px)}@media(min-width:768px)and (orientation:portrait){.starfield-container{height:clamp(500px,60vh,800px)}}.star{position:absolute;cursor:pointer;will-change:transform,opacity;transition:opacity .4s ease;z-index:5}.star:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180%;height:180%;border-radius:50%;background:radial-gradient(circle,rgba(234,229,236,.06) 0%,transparent 60%);pointer-events:none;animation:starGlow 3s ease-in-out infinite alternate}.star-inner{border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:6;transition:border-color .4s ease,box-shadow .4s ease,background .4s ease;animation:starTwinkle 2.5s ease-in-out infinite alternate}@keyframes starTwinkle{0%{opacity:.35;transform:scale(.95)}50%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.97)}}@keyframes starGlow{0%{opacity:.4}50%{opacity:.8}to{opacity:.5}}.star.star-dimmed{opacity:.12;pointer-events:none}.star.star-dimmed:before{opacity:0}.star.star-active .star-inner{animation:none;opacity:1;transform:scale(1)}.star.star-active:before{opacity:1}.starfield-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.constellation-line{stroke-dasharray:1;stroke-dashoffset:1;fill:none}.starfield-label{position:absolute;pointer-events:none;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.2em;opacity:0;z-index:15;white-space:nowrap}.star-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:12px;padding:10px 14px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);text-align:center;z-index:20;min-width:180px;max-width:260px;pointer-events:none;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.contact-form{display:flex;flex-direction:column;gap:18px;width:100%;max-width:560px}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-label{font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.2em;color:var(--text-secondary)}.contact-input{width:100%;min-height:44px;padding:12px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);font-size:var(--text-body);font-family:inherit;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.contact-input::placeholder{color:var(--text-secondary)}.contact-input:hover{border-color:#fff3}.contact-input:focus{outline:none;border-color:var(--accent-purple);background:#ffffff0d;box-shadow:0 0 0 3px #c2a4ff26}.contact-input:focus-visible{border-color:var(--accent-purple)}.contact-textarea{resize:vertical;min-height:96px;line-height:1.5}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:6px}.contact-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:12px 28px;border:1px solid var(--accent-purple);border-radius:999px;background:var(--bg-cta-subtle);color:var(--accent-purple);font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.2em;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.contact-submit:hover:not(:disabled){background:var(--bg-cta-subtle-hover)}.contact-submit:focus-visible{outline:2px solid var(--accent-purple);outline-offset:3px}.contact-submit:disabled{cursor:progress;opacity:.6}.contact-status{font-size:var(--text-body);margin:0;min-height:1.4em;color:var(--text-secondary);transition:color .2s ease}.contact-status[data-type=success]{color:var(--accent-purple)}.contact-status[data-type=error]{color:var(--error-base)}@media only screen and (min-width:768px){.contact-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.contact-submit{width:auto}}@media only screen and (min-width:768px)and (orientation:portrait){#contact{min-height:calc(100dvh - 177px);justify-content:flex-start}}app-portfolio-page{display:block}body.light-page{background-color:var(--bg-light-page);color:var(--text-on-light)}body.light-page[data-profile=id]{--page-accent: var(--accent-purple-on-light);--page-accent-rgb: 90, 61, 158}body.light-page[data-profile=ux]{--page-accent: #96264E;--page-accent-rgb: 150, 38, 78}body.light-page[data-profile=ai]{--page-accent: #2B5090;--page-accent-rgb: 43, 80, 144}body.light-page .nav-fade-solid,body.light-page .nav-fade-gradient{opacity:0}body.light-page .glow-orb{display:none}body.light-page .header,body.light-page .header a{color:var(--text-on-light)}body.light-page .header a:hover{color:var(--accent-purple-on-light)}body.light-page .navbar-desktop li,body.light-page .navbar-hamburger{color:var(--text-on-light)}body.light-page .hover-link:hover .hover-in{color:var(--accent-purple-on-light)}body.light-page .navbar-mobile a{color:var(--text-on-light)}body.light-page .navbar-mobile a:hover{color:var(--accent-purple-on-light)}body.light-page .navbar-mobile a.navbar-mobile-cta{border-top-color:#1a1a1a14}.navbar-desktop li.nav-active a,.navbar-mobile a.nav-active{color:var(--accent-purple)}body.light-page .navbar-desktop li.nav-active a,body.light-page .navbar-mobile a.nav-active{color:var(--accent-purple-on-light)}.pp-header{padding:80px 5% 64px;max-width:1920px;margin:0 auto}.pp-header:not(:has(.pp-back)){padding-top:136px}@media(min-width:768px){.pp-header{padding:96px 8% 64px}.pp-header:not(:has(.pp-back)){padding-top:152px}}@media(min-width:1024px){.pp-header{padding:144px 10% 64px}.pp-header:not(:has(.pp-back)){padding-top:208px}}@media(min-width:1700px){.pp-header{max-width:1400px;padding-left:0;padding-right:0}}.pp-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light);text-decoration:none;min-height:44px;padding:12px 0;margin-bottom:12px;transition:color var(--transition-base);animation:ppFadeUp .6s ease both;animation-delay:.05s}@media(min-width:1024px){.pp-back{margin-bottom:20px}}.pp-back:hover{color:var(--accent-purple-on-light)}.pp-title{font-size:clamp(48px,9vw,128px);font-weight:600;line-height:.92;letter-spacing:-.025em;color:var(--text-on-light);text-transform:uppercase;margin-bottom:32px;animation:ppFadeUp .7s ease both;animation-delay:.25s}.pp-desc{font-size:clamp(var(--text-body),1.4vw,var(--text-body-lg));font-weight:300;color:var(--text-secondary-on-light);max-width:720px;line-height:1.65;margin-bottom:24px;animation:ppFadeUp .6s ease both;animation-delay:.4s}@media(min-width:1024px){.pp-title{margin-bottom:40px}.pp-desc{margin-bottom:32px}}.pp-skills{display:flex;flex-wrap:wrap;gap:8px;animation:ppFadeUp .6s ease both;animation-delay:.5s}.pp-skill{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.07);border:1px solid rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18);padding:5px 12px;border-radius:100px}@keyframes ppFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pp-projects{width:100%}.pp-grid{display:grid;grid-template-columns:1fr;gap:56px}@media(min-width:768px){.pp-grid{grid-template-columns:repeat(2,1fr);column-gap:3px}}@media(min-width:1024px){.pp-grid{gap:3px}}.pp-card{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;text-decoration:none;cursor:pointer}.pp-card-media{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:var(--card-bg, #eae5dc);transition:transform .7s cubic-bezier(.25,.46,.45,.94);will-change:transform}.pp-card:hover .pp-card-media{transform:scale(1.05)}.pp-card-media img{width:100%;height:100%;object-fit:cover;object-position:var(--card-img-position, center center);transform:scale(var(--card-img-scale, 1));transform-origin:center center;display:block}.pp-card-num{position:absolute;top:28px;left:32px;z-index:2;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.2em;color:#1a1a1a4d;transition:opacity var(--transition-base);pointer-events:none}.pp-card:hover .pp-card-num{opacity:0}.pp-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:40px;z-index:3;pointer-events:none}.pp-card-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a080ce6,#0a080c59 40%,#0a080c00 70%);opacity:0;transition:opacity .45s ease}.pp-card:hover .pp-card-overlay:before{opacity:1}.pp-card-details{position:relative;z-index:4;transform:translateY(16px);opacity:0;transition:transform .45s cubic-bezier(.25,.46,.45,.94),opacity .45s ease;color:#fff}.pp-card:hover .pp-card-details{transform:translateY(0);opacity:1}.pp-card-meta{font-family:var(--font-family-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;opacity:.5;margin-bottom:10px}.pp-card-title{font-size:clamp(24px,3vw,38px);font-weight:600;line-height:1.05;letter-spacing:-.01em;margin-bottom:6px}.pp-card-subtitle{font-size:var(--text-body);font-weight:300;opacity:.65;margin-bottom:18px;letter-spacing:.02em}.pp-card-tags{display:flex;flex-wrap:wrap;gap:6px}.pp-card-tag{font-family:var(--font-family-mono);font-size:var(--text-caption);font-weight:500;letter-spacing:.02em;padding:4px 10px;border:1px solid rgba(255,255,255,.28);border-radius:100px}.pp-card--coming-soon{cursor:default}.pp-card-coming-badge{position:absolute;top:24px;right:24px;z-index:5;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-on-light, #1a1a1a);background:#f5f0e6eb;padding:6px 12px;border-radius:100px;pointer-events:none;font-weight:var(--weight-medium)}.pp-card-coming-badge--lock{display:inline-flex;align-items:center;gap:6px;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.92);color:var(--bg-light-page)}.pp-card-coming-badge--lock svg{display:block}@media(max-width:1023px){.pp-card{aspect-ratio:auto;overflow:visible}.pp-card:hover .pp-card-media{transform:none}.pp-card-media{position:relative;inset:auto;aspect-ratio:4 / 3}.pp-card-num{display:none}.pp-card-overlay:before{content:none}.pp-card-overlay{position:relative;inset:auto;padding:16px 5% 0;pointer-events:auto}.pp-card-details{position:static;transform:none;opacity:1;color:var(--text-on-light);transition:none}.pp-card-meta{color:var(--text-secondary-on-light);opacity:1;margin-bottom:8px}.pp-card-title{color:var(--text-on-light);font-size:clamp(20px,5vw,28px);margin-bottom:6px}.pp-card-subtitle{color:var(--text-secondary-on-light);opacity:1;margin-bottom:14px}.pp-card-tag{color:var(--page-accent);border-color:rgba(var(--page-accent-rgb),.25)}}.pp-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 5%;max-width:1920px;margin:64px auto 0;border-top:1px solid rgba(0,0,0,.07)}@media(min-width:640px){.pp-footer{flex-direction:row;align-items:center;justify-content:space-between}}@media(min-width:768px){.pp-footer{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pp-footer{padding-left:10%;padding-right:10%}}@media(min-width:1700px){.pp-footer{max-width:1400px;padding-left:0;padding-right:0}}.pp-copyright{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light)}.pp-footer-attribution{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light);font-style:italic}app-project-detail{display:block}.pd-header{padding:48px 5% 64px;max-width:1920px;margin:0 auto}@media(min-width:768px){.pd-header{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-header{padding-left:10%;padding-right:10%}}@media(min-width:1700px){.pd-header{max-width:1400px;padding-left:0;padding-right:0}}.pd-header--top{padding-top:80px}@media(min-width:768px){.pd-header--top{padding-top:96px}}@media(min-width:1024px){.pd-header--top{padding-top:144px}}.pd-header--gallery{padding-bottom:40px}.pd-eyebrow{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.32em;text-transform:uppercase;color:var(--text-secondary-on-light);margin-bottom:20px}.pd-eyebrow--link{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-label);letter-spacing:.18em;text-decoration:none;transition:color var(--transition-base);min-height:44px;padding:12px 0;margin-bottom:12px}@media(min-width:1024px){.pd-eyebrow--link{margin-bottom:20px}}.pd-eyebrow--link:hover{color:var(--accent-purple-on-light)}.pd-title{font-size:clamp(40px,7vw,96px);font-weight:600;line-height:.95;letter-spacing:-.025em;color:var(--text-on-light);text-transform:uppercase;margin-bottom:32px}.pd-subtitle{font-size:clamp(var(--text-body),1.4vw,var(--text-body-lg));font-weight:300;color:var(--text-secondary-on-light);max-width:720px;line-height:1.65;margin-bottom:24px}@media(min-width:1024px){.pd-title{margin-bottom:40px}.pd-subtitle{margin-bottom:32px}}.pd-meta{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.pd-year{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.2em;color:var(--text-secondary-on-light)}.pd-tags{display:flex;flex-wrap:wrap;gap:6px}.pd-tag{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.07);border:1px solid rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18);padding:5px 12px;border-radius:100px}.pd-hero{width:100%;margin-bottom:80px}.pd-hero-img{width:100%;height:auto;display:block}.pd-content{padding:0 5% 80px;max-width:1920px;margin:0 auto}@media(min-width:768px){.pd-content{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-content{padding-left:10%;padding-right:10%}}@media(min-width:1700px){.pd-content{max-width:1400px;padding-left:0;padding-right:0}}.pd-gallery{padding:0 5% 80px;max-width:1920px;margin:0 auto}@media(min-width:768px){.pd-gallery{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-gallery{padding-left:10%;padding-right:10%}}.pd-gallery-grid{columns:1;column-gap:3px}@media(min-width:640px){.pd-gallery-grid{columns:2}}@media(min-width:1024px){.pd-gallery-grid{columns:3}}.pd-gallery-item{break-inside:avoid;margin-bottom:3px}.pd-gallery-item img{width:100%;height:auto;display:block}.pd-gallery-empty{font-family:var(--font-family-mono);font-size:var(--text-label);color:var(--text-secondary-on-light);padding:60px 0;text-align:center}.pd-not-found{padding:160px 5% 80px;max-width:1920px;margin:0 auto;text-align:center}.pd-not-found p{font-size:var(--text-body-lg);color:var(--text-secondary-on-light);margin-bottom:24px}.pd-not-found a{font-family:var(--font-family-mono);font-size:var(--text-label);color:var(--text-secondary-on-light);text-decoration:none}.pd-not-found a:hover{color:var(--accent-purple-on-light)}.pd-tools{padding:56px 5% 32px;max-width:1920px;margin:80px auto 0;border-top:1px solid rgba(0,0,0,.07);text-align:center}@media(min-width:768px){.pd-tools{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-tools{padding-left:10%;padding-right:10%}}@media(min-width:1700px){.pd-tools{max-width:1400px;padding-left:0;padding-right:0}}.pd-tools-label{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.32em;text-transform:uppercase;color:var(--text-secondary-on-light);margin:0 0 20px}.pd-tools-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pd-tool-chip{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary-on-light);background:#00000006;border:1px solid rgba(0,0,0,.08);padding:6px 14px;border-radius:100px}.pd-footer{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 5%;max-width:1920px;margin:64px auto 0;border-top:1px solid rgba(0,0,0,.07)}@media(min-width:640px){.pd-footer{flex-direction:row;align-items:center;justify-content:space-between}}@media(min-width:768px){.pd-footer{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-footer{padding-left:10%;padding-right:10%}}@media(min-width:1700px){.pd-footer{max-width:1400px;padding-left:0;padding-right:0}}.pd-copyright{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light)}.pd-footer-attribution{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light);font-style:italic}.pd-header-grid{display:block}.pd-header-main{min-width:0}@media(min-width:1024px){.pd-header-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:80px;align-items:start}}@media(min-width:1700px){.pd-header-grid{grid-template-columns:minmax(0,1fr) 280px;gap:120px}}.pd-meta-strip{display:flex;flex-wrap:wrap;gap:20px 36px;padding:24px 0 0;margin:32px 0 0;border-top:1px solid rgba(0,0,0,.08)}@media(min-width:1024px){.pd-meta-strip{flex-direction:column;flex-wrap:nowrap;gap:24px;padding:0;margin:0;border:none}}.pd-meta-item{display:flex;flex-direction:column;gap:4px;min-width:0}.pd-meta-label{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light)}.pd-meta-value{font-family:var(--font-family-base);font-size:var(--text-label);color:var(--text-on-light);line-height:1.4}.pd-section{padding-top:80px;padding-bottom:16px}.pd-section:first-child{padding-top:32px}@media(min-width:1024px){.pd-section{padding-top:120px}.pd-section:first-child{padding-top:48px}}.pd-section-heading{font-size:clamp(24px,3vw,36px);font-weight:var(--weight-semibold);letter-spacing:-.015em;line-height:1.2;color:var(--text-on-light);max-width:720px;margin:0 auto 32px}.pd-section-num{color:var(--page-accent, var(--page-accent-default));font-variant-numeric:tabular-nums}.pd-section-sep{color:var(--text-secondary-on-light);font-weight:var(--weight-normal);margin:0 .15em}@media(min-width:1024px){.pd-section-heading{margin-bottom:40px}}.pd-subhead{display:flex;align-items:center;gap:16px;max-width:720px;margin:48px auto 24px}.pd-subhead-name{font-family:var(--font-family-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.3em;font-weight:var(--weight-medium);color:var(--page-accent, var(--page-accent-default));flex-shrink:0}.pd-subhead-rule{flex:1;height:1px;background:#0000001a}.pd-concept-statement{font-family:var(--font-family-base);font-size:clamp(24px,3.2vw,36px);font-weight:var(--weight-normal);color:var(--text-on-light);line-height:1.25;letter-spacing:-.01em;max-width:720px;margin:48px auto 32px}.pd-concept-statement-tail{font-style:italic}.pd-concept-statement-dash{font-weight:200;font-style:normal}.pd-subdivider{height:1px;background:#00000014;border:none;max-width:720px;margin:64px auto 0}.pd-subdivider+.pd-subhead{margin-top:48px}.pd-body{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);max-width:720px;margin:0 auto 24px}.pd-body strong{color:var(--text-on-light);font-weight:var(--weight-semibold)}.pd-reframe{margin:clamp(60px,8vh,100px) auto;max-width:820px;padding-left:clamp(20px,2.5vw,36px);border-left:2px solid var(--page-accent, var(--page-accent-default))}.pd-reframe-text{font-size:clamp(22px,3vw,36px);line-height:1.35;font-style:italic;color:var(--text-on-light);font-weight:var(--weight-normal);margin:0;letter-spacing:-.01em}.pd-reframe-pair{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;margin:clamp(60px,8vh,100px) auto;max-width:960px}@media(min-width:768px){.pd-reframe-pair{grid-template-columns:1fr 1.2fr;gap:48px}}@media(min-width:1024px){.pd-reframe-pair{gap:60px}}.pd-reframe-pair-image img,.pd-reframe-pair-image .pd-img-placeholder{width:100%;height:auto;display:block;border-radius:4px}.pd-reframe-pair-image .pd-img-placeholder{aspect-ratio:4 / 5;min-height:200px}.pd-reframe-pair-quote{border-left:2px solid var(--page-accent, var(--page-accent-default));padding-left:clamp(16px,2vw,28px)}.pd-reframe-pair-text{font-size:clamp(20px,2.4vw,28px);line-height:1.4;font-style:italic;color:var(--text-on-light);font-weight:var(--weight-normal);margin:0;letter-spacing:-.01em}.pd-tension{font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:var(--weight-medium);font-style:italic;color:var(--text-on-light);text-align:center;max-width:720px;margin:clamp(40px,6vh,80px) auto}.pd-quote{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:720px;margin:clamp(36px,5vh,64px) auto;padding:0 clamp(16px,3vw,32px);gap:0}.pd-quote-mark{font-family:var(--font-family-secondary);font-size:clamp(56px,7vw,84px);line-height:.7;color:var(--page-accent, var(--page-accent-default));opacity:.32;display:block;margin:0 0 -10px;-webkit-user-select:none;user-select:none}.pd-quote-text{font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:var(--weight-medium);font-style:italic;color:var(--text-on-light);margin:0;letter-spacing:-.005em}.pd-quote-attr{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary-on-light);font-style:normal;font-weight:var(--weight-medium);margin-top:14px}.pd-milestone{margin:clamp(48px,7vh,80px) auto;max-width:960px;text-align:center}.pd-milestone-track{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 16px;padding:18px 32px;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;background:#00000006;border:1px solid rgba(0,0,0,.06);border-radius:16px}.pd-milestone-phase{color:var(--text-secondary-on-light)}.pd-milestone-phase--current{color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold)}.pd-milestone-arrow{color:var(--text-secondary-on-light);font-family:var(--font-family-base)}.pd-milestone-caption{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);margin:20px auto 0;max-width:720px}@media(max-width:639px){.pd-milestone-track{flex-direction:column;gap:12px;padding:22px 24px}}.pd-img-full{margin:64px auto;max-width:720px}.pd-img-full--small{max-width:560px}.pd-img-full--wide{max-width:1200px}.pd-img-full--hero{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.pd-img-full--padded{box-sizing:border-box;padding-left:clamp(20px,4vw,80px);padding-right:clamp(20px,4vw,80px)}.pd-img-full img{width:100%;height:auto;display:block;border-radius:4px}.pd-img-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:64px auto;max-width:960px}.pd-img-grid--hero{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);gap:3px}.pd-img-grid.pd-img-grid--hero img{border-radius:0}.pd-img-grid--cols-4{gap:12px}.pd-img-grid--narrow{max-width:720px}.pd-img-grid--tight{max-width:480px}@media(min-width:640px){.pd-img-grid--cols-2,.pd-img-grid--cols-3,.pd-img-grid--cols-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.pd-img-grid--cols-3{grid-template-columns:repeat(3,1fr)}.pd-img-grid--cols-4{grid-template-columns:repeat(4,1fr)}}.pd-img-grid img{width:100%;height:100%;object-fit:cover;display:block;border-radius:4px}.pd-img-grid-cell{display:block;margin:0}.pd-img-grid-cell img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.pd-img-caption{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light);font-style:italic;text-align:center;margin:12px 0 0}.pd-img-caption--in-grid{font-family:var(--font-family-base);font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);font-style:normal;text-align:left;margin:16px 0 0}.pd-img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.04);border:1px dashed rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.28);border-radius:4px;padding:24px;text-align:center;aspect-ratio:16 / 10;min-height:200px}.pd-img-full .pd-img-placeholder{aspect-ratio:21 / 9;min-height:280px}.pd-img-placeholder-label{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold)}.pd-img-placeholder-caption{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light);font-style:italic;line-height:1.5;max-width:50ch}.pd-img-placeholder-slide{font-family:var(--font-family-mono);font-size:11px;letter-spacing:.06em;color:var(--page-accent, var(--page-accent-default));background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.1);padding:4px 10px;border-radius:999px;font-weight:var(--weight-semibold)}.pd-keywords{display:grid;grid-template-columns:1fr;gap:24px;margin:48px auto;padding:32px 0;max-width:880px;border-top:1px solid rgba(0,0,0,.08);border-bottom:1px solid rgba(0,0,0,.08)}@media(min-width:768px){.pd-keywords{grid-template-columns:repeat(var(--keywords-cols, 3),1fr);gap:28px}}.pd-body+.pd-keywords,.pd-body+.pd-features{margin-top:8px}.pd-keyword{display:flex;flex-direction:column;gap:12px}.pd-keyword-label{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-on-light);font-weight:var(--weight-semibold)}.pd-keyword-sub{font-family:var(--font-family-base);font-size:var(--text-body);color:var(--text-secondary-on-light);line-height:1.5}.pd-keyfeat{margin:80px auto;max-width:720px}.pd-keyfeat--with-image{max-width:1100px}.pd-keyfeat-eyebrow{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.24em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-medium);text-align:center;margin:0 0 40px}.pd-keyfeat-grid{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:1024px){.pd-keyfeat--with-image .pd-keyfeat-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:60px;align-items:center}.pd-keyfeat--with-image .pd-keyfeat-list{order:1}.pd-keyfeat--with-image .pd-keyfeat-image{order:2}}.pd-keyfeat-image img,.pd-keyfeat-image .pd-img-placeholder{width:100%;height:auto;display:block;border-radius:4px}.pd-keyfeat-list{display:flex;flex-direction:column;gap:28px}.pd-keyfeat-item{display:grid;grid-template-columns:36px 1fr;gap:16px;align-items:start}.pd-keyfeat-num{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.1em;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;padding-top:4px}.pd-keyfeat-body{display:flex;flex-direction:column;gap:6px}.pd-keyfeat-label{font-size:var(--text-h4);font-weight:var(--weight-semibold);color:var(--text-on-light);margin:0;letter-spacing:-.005em;line-height:1.3}.pd-keyfeat-desc{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);margin:0}.pd-features{display:grid;grid-template-columns:1fr;gap:16px;margin:48px auto;max-width:960px}@media(min-width:768px){.pd-features{grid-template-columns:repeat(2,1fr);gap:24px}}@media(min-width:1024px){.pd-features--cols-3{grid-template-columns:repeat(3,1fr)}.pd-features--cols-4{grid-template-columns:repeat(4,1fr)}}.pd-feature{border:1px solid rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18);border-radius:8px;padding:clamp(20px,2.5vw,32px);background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.03)}.pd-feature-label{font-size:var(--text-h4);font-weight:var(--weight-semibold);color:var(--text-on-light);margin:0 0 12px;letter-spacing:-.01em;line-height:1.2}.pd-feature-body{font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-secondary-on-light);margin:0}.pd-lock{padding:64px 5% 96px;max-width:1920px;margin:0 auto;display:flex;justify-content:center}@media(min-width:768px){.pd-lock{padding-left:8%;padding-right:8%}}@media(min-width:1024px){.pd-lock{padding:96px 10% 144px}}@media(min-width:1700px){.pd-lock{max-width:1400px;padding-left:0;padding-right:0}}.pd-lock-card{width:100%;max-width:560px;padding:40px 28px;text-align:center;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.04);border:1px solid rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.16);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:16px}@media(min-width:768px){.pd-lock-card{padding:56px 48px;gap:18px}}.pd-lock-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.1);color:var(--page-accent, var(--page-accent-default));margin-bottom:4px}.pd-lock-eyebrow{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.32em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));margin:0}.pd-lock-title{font-size:clamp(20px,2.4vw,26px);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:var(--leading-snug);color:var(--text-on-light);margin:0}.pd-lock-desc{font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-secondary-on-light);margin:0;max-width:440px}.pd-lock-form{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:8px}@media(min-width:600px){.pd-lock-form{flex-direction:row;align-items:stretch}}.pd-lock-field{display:flex;flex-direction:column;gap:6px;flex:1}.pd-lock-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pd-lock-input{width:100%;min-height:48px;padding:12px 16px;background:var(--bg-light-page);border:1px solid rgba(0,0,0,.15);border-radius:10px;color:var(--text-on-light);font-size:var(--text-body);font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.pd-lock-input:focus{outline:none;border-color:var(--page-accent, var(--page-accent-default));box-shadow:0 0 0 3px rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18)}.pd-lock-input:disabled{opacity:.6;cursor:progress}.pd-lock-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border-radius:10px;background:var(--page-accent, var(--page-accent-default));color:var(--bg-light-page);border:1px solid var(--page-accent, var(--page-accent-default));font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.18em;text-transform:uppercase;font-weight:var(--weight-medium);cursor:pointer;transition:filter .15s ease,transform .05s ease}@media(min-width:600px){.pd-lock-submit{flex:0 0 auto}}.pd-lock-submit:hover:not(:disabled){filter:brightness(.9)}.pd-lock-submit:focus-visible{outline:2px solid var(--page-accent, var(--page-accent-default));outline-offset:3px}.pd-lock-submit:disabled{cursor:progress;opacity:.6}.pd-lock-status{font-size:var(--text-body);margin:4px 0 0;min-height:1.4em;color:var(--text-secondary-on-light)}.pd-lock-status[data-type=error]{color:var(--error-base)}.pd-lock-status[data-type=success]{color:var(--page-accent, var(--page-accent-default))}.pd-lock-expiry{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light);margin:4px 0 0}.pd-lock-help{font-size:var(--text-label);color:var(--text-secondary-on-light);margin:8px 0 0}.pd-lock-help a{color:var(--page-accent, var(--page-accent-default));text-decoration:underline;text-decoration-color:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.4);text-underline-offset:3px;transition:text-decoration-color .2s ease}.pd-lock-help a:hover{text-decoration-color:var(--page-accent, var(--page-accent-default))}app-recycling-bins-user-types{display:block;margin:64px auto;max-width:1040px}.rb-userset-grid{display:grid;grid-template-columns:1fr;gap:32px}@media(min-width:768px){.rb-userset-grid{grid-template-columns:repeat(2,1fr);gap:36px 28px}}@media(min-width:1024px){.rb-userset-grid{grid-template-columns:repeat(4,1fr);gap:28px}}.rb-userset-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:14px;padding-top:18px;position:relative}.rb-userset-accent{position:absolute;top:0;left:0;right:0;height:3px;background:var(--rb-userset-accent-bg);border-radius:2px}.rb-userset-card--focus{--rb-userset-accent-bg: var(--page-accent, var(--page-accent-default));--rb-userset-tag-bg: rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)), .12);--rb-userset-tag-fg: var(--page-accent, var(--page-accent-default))}.rb-userset-card--aligned,.rb-userset-card--resistant{--rb-userset-accent-bg: rgba(0, 0, 0, .1);--rb-userset-tag-bg: rgba(0, 0, 0, .05);--rb-userset-tag-fg: #6E6E73}.rb-userset-meta{display:flex;align-items:center;gap:10px;width:100%}.rb-userset-num{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;color:var(--text-secondary-on-light);font-weight:var(--weight-medium);flex-shrink:0}.rb-userset-tag{display:inline-block;font-family:var(--font-family-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:var(--weight-semibold);background:var(--rb-userset-tag-bg);color:var(--rb-userset-tag-fg);padding:4px 10px;border-radius:999px;flex-shrink:0;line-height:1}.rb-userset-label{font-size:var(--text-h4);font-weight:var(--weight-semibold);color:var(--text-on-light);margin:0;letter-spacing:-.01em;line-height:1.25}.rb-userset-body{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);margin:0}.rb-userset-body strong{font-weight:var(--weight-semibold);color:var(--text-on-light)}.rb-userset-card--aligned .rb-userset-body,.rb-userset-card--resistant .rb-userset-body{opacity:.72}app-recycling-bins-impact-chart{display:block;margin:64px auto;max-width:720px}.rb-chart-panels{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:768px){.rb-chart-panels{grid-template-columns:1fr 1fr;gap:32px}}@media(min-width:1024px){.rb-chart-panels{gap:48px}}.rb-chart-panel{display:flex;flex-direction:column;gap:16px}.rb-chart-panel-eyebrow{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.24em;text-transform:uppercase;font-weight:var(--weight-medium);color:var(--page-accent, var(--page-accent-default));padding-bottom:8px;border-bottom:1px solid rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18)}.rb-chart-svg{width:100%;height:auto;display:block;font-family:var(--font-family-base)}.rb-chart-grid-line{stroke:#0000000f;stroke-width:1;fill:none}.rb-chart-baseline{stroke:#0000002e;stroke-width:1;fill:none}.rb-chart-axis-label{font-family:var(--font-family-mono);font-size:11px;fill:var(--text-secondary-on-light);font-weight:var(--weight-normal)}.rb-chart-axis-label--bin{fill:var(--text-on-light);font-weight:var(--weight-medium);font-family:var(--font-family-base);font-size:12px;letter-spacing:.02em}.rb-chart-bar-label{font-family:var(--font-family-mono);font-size:13px;font-weight:var(--weight-semibold);fill:var(--text-on-light);font-variant-numeric:tabular-nums}.rb-chart-bar-label--zero{fill:#5ba567}.rb-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(0,0,0,.08)}.rb-chart-legend-item{display:inline-flex;align-items:center;gap:8px}.rb-chart-legend-swatch{display:inline-block;width:14px;height:14px;border-radius:2px;flex-shrink:0}.rb-chart-legend-label{font-family:var(--font-family-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary-on-light);font-weight:var(--weight-medium)}app-recycling-bins-experiments{display:block;margin:64px auto;max-width:720px}.rb-exp-hero-wrap{margin:56px 0 0}.rb-exp-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;position:relative;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}.rb-exp-body{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:24px 28px 28px;flex:1 1 auto}@media(min-width:1024px){.rb-exp-card--hero{display:grid;grid-template-columns:3fr 2fr;align-items:stretch}.rb-exp-card--hero .rb-exp-image{border-bottom:none;border-right:1px solid rgba(0,0,0,.1);height:100%;aspect-ratio:auto}.rb-exp-card--hero .rb-exp-body{padding:22px 24px 24px;gap:12px}}.rb-exp-card--validated{--rb-exp-accent-bg: rgba(0, 0, 0, .1);--rb-exp-status-bg: rgba(0, 0, 0, .05);--rb-exp-status-fg: #6E6E73}.rb-exp-card--failed{--rb-exp-accent-bg: #C4736E;--rb-exp-status-bg: rgba(196, 115, 110, .12);--rb-exp-status-fg: #9C4F4A}.rb-exp-card--diagnostic{--rb-exp-accent-bg: #C49E5A;--rb-exp-status-bg: rgba(196, 158, 90, .14);--rb-exp-status-fg: #8C6E2E}.rb-exp-card--most-effective,.rb-exp-card--founding{--rb-exp-accent-bg: var(--page-accent, var(--page-accent-default));--rb-exp-status-bg: rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)), .12);--rb-exp-status-fg: var(--page-accent, var(--page-accent-default))}.rb-exp-image{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0}.rb-exp-image img{width:100%;height:100%;object-fit:contain;display:block}.rb-exp-image--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 20px;text-align:center;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.04);border-bottom:1px dashed rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.22)}.rb-exp-image-eyebrow{font-family:var(--font-family-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold)}.rb-exp-image-caption{font-family:var(--font-family-base);font-size:12px;color:var(--text-secondary-on-light);font-style:italic;line-height:1.4;max-width:36ch}.rb-exp-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.rb-exp-eyebrow{font-family:var(--font-family-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold)}.rb-exp-status{display:inline-block;font-family:var(--font-family-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:var(--weight-semibold);background:var(--rb-exp-status-bg);color:var(--rb-exp-status-fg);padding:4px 10px;border-radius:999px;line-height:1;flex-shrink:0}.rb-exp-name{font-family:var(--font-family-mono);font-size:22px;font-weight:var(--weight-semibold);color:var(--text-on-light);margin:0;letter-spacing:-.005em;line-height:1.1}.rb-exp-insight{font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-on-light);margin:0}.rb-exp-tested{font-family:var(--font-family-base);font-size:var(--text-body);font-style:italic;line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);margin:0}.rb-exp-chips{display:flex;flex-wrap:wrap;gap:6px 8px}.rb-exp-chip{display:inline-block;font-family:var(--font-family-mono);font-size:12px;letter-spacing:.04em;color:var(--text-secondary-on-light);background:#0000000a;padding:4px 9px;border-radius:4px;line-height:1.3}.rb-exp-result{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid rgba(0,0,0,.1)}.rb-exp-result-num{font-family:var(--font-family-base);font-size:clamp(28px,3vw,36px);font-weight:var(--weight-semibold);color:var(--text-on-light);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rb-exp-result-label{font-family:var(--font-family-base);font-size:var(--text-caption);color:var(--text-secondary-on-light);line-height:1.4}.rb-exp-finding{font-size:var(--text-caption);line-height:1.5;color:var(--text-secondary-on-light);margin:0;font-style:italic}.rb-exp-bridge{margin:32px auto 24px;max-width:640px;text-align:center;font-size:var(--text-body);line-height:var(--leading-relaxed);color:var(--text-secondary-on-light);font-style:italic}.rb-exp-strip-eyebrow{margin:0 auto 28px;text-align:center;font-family:var(--font-family-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light);font-weight:var(--weight-medium)}.rb-exp-strip{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:600px){.rb-exp-strip{grid-template-columns:repeat(3,1fr);gap:20px}}@media(min-width:1024px){.rb-exp-strip{grid-template-columns:repeat(3,1fr);gap:20px}}.rb-exp-thumb{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:10px}.rb-exp-thumb--validated{--rb-exp-dot-bg: rgba(0, 0, 0, .45)}.rb-exp-thumb--failed{--rb-exp-dot-bg: #9C4F4A}.rb-exp-thumb--diagnostic{--rb-exp-dot-bg: #8C6E2E}.rb-exp-thumb--most-effective{--rb-exp-dot-bg: var(--page-accent, var(--page-accent-default))}.rb-exp-thumb-image{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;flex-shrink:0}.rb-exp-thumb-image img{width:100%;height:100%;object-fit:contain;display:block}.rb-exp-thumb-image--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 12px;text-align:center;background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.04);border:1px dashed rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.22)}.rb-exp-thumb-image-eyebrow{font-family:var(--font-family-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--page-accent, var(--page-accent-default));font-weight:var(--weight-semibold)}.rb-exp-thumb-image-caption{font-family:var(--font-family-base);font-size:11px;color:var(--text-secondary-on-light);font-style:italic;line-height:1.3;max-width:24ch}.rb-exp-thumb-info{display:flex;flex-direction:column;gap:2px;padding:0 2px}.rb-exp-thumb-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rb-exp-thumb-name{font-family:var(--font-family-mono);font-size:13px;font-weight:var(--weight-semibold);color:var(--text-on-light);letter-spacing:-.005em;line-height:1}.rb-exp-thumb-badge{font-family:var(--font-family-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:var(--weight-semibold);color:var(--rb-exp-dot-bg);white-space:nowrap;flex-shrink:0;line-height:1}.rb-exp-thumb-tested{font-family:var(--font-family-base);font-size:12px;font-style:italic;color:var(--text-secondary-on-light);line-height:1.35;margin:4px 0 2px}.rb-exp-thumb-num{font-family:var(--font-family-base);font-size:clamp(15px,1.6vw,18px);font-weight:var(--weight-semibold);color:var(--text-on-light);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.005em;margin-top:4px}.rb-exp-thumb-label{font-family:var(--font-family-base);font-size:12px;color:var(--text-secondary-on-light);line-height:1.3}app-admin{display:block;min-height:100dvh;background:var(--bg-light-page);color:var(--text-on-light)}.admin-shell{max-width:1200px;margin:0 auto;padding:48px 5% 80px}@media(min-width:768px){.admin-shell{padding:64px 6% 96px}}@media(min-width:1024px){.admin-shell{padding:80px 5% 120px}}.admin-header{position:relative;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid rgba(0,0,0,.07)}.admin-eyebrow{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.32em;text-transform:uppercase;color:var(--text-secondary-on-light);margin:0 0 12px}.admin-title{font-family:var(--font-family-base);font-size:clamp(28px,4vw,40px);font-weight:var(--weight-semibold);letter-spacing:-.015em;line-height:var(--leading-tight);color:var(--text-on-light);margin:0 0 8px}.admin-subtitle{font-size:var(--text-body);line-height:var(--leading-normal);color:var(--text-secondary-on-light);max-width:540px;margin:0}.admin-logout{position:absolute;top:0;right:0}.admin-loading{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light);padding:48px 0;text-align:center}.admin-form-error{font-size:var(--text-body);color:var(--error-base);margin:12px 0 0}.admin-form{max-width:420px;margin:24px 0 0;display:flex;flex-direction:column;gap:16px}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-label{font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary-on-light)}.admin-input{width:100%;min-height:44px;padding:12px 14px;background:#00000006;border:1px solid rgba(0,0,0,.12);border-radius:8px;color:var(--text-on-light);font-size:var(--text-body);font-family:inherit;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}.admin-input:focus{outline:none;border-color:var(--page-accent, var(--page-accent-default));background:#0000000a;box-shadow:0 0 0 3px rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.18)}.admin-input--sm{min-height:36px;padding:8px 12px;font-size:var(--text-label)}.admin-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.admin-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;font-family:var(--font-family-mono);font-size:var(--text-label);letter-spacing:.18em;text-transform:uppercase;font-weight:var(--weight-medium);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .05s ease;border:1px solid transparent;background:transparent;color:var(--text-on-light)}.admin-btn:focus-visible{outline:2px solid var(--page-accent, var(--page-accent-default));outline-offset:3px}.admin-btn:disabled{cursor:progress;opacity:.5}.admin-btn--primary{background:var(--page-accent, var(--page-accent-default));color:var(--bg-light-page);border-color:var(--page-accent, var(--page-accent-default))}.admin-btn--primary:hover:not(:disabled){filter:brightness(.92)}.admin-btn--ghost{background:transparent;color:var(--text-on-light);border-color:#0000002e}.admin-btn--ghost:hover:not(:disabled){background:#0000000d}.admin-btn--danger{background:transparent;color:var(--error-base);border-color:#ef444466}.admin-btn--danger:hover:not(:disabled){background:#ef444414}.admin-btn--sm{min-height:36px;padding:6px 14px;font-size:var(--text-caption);letter-spacing:.16em}.admin-emergency{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 24px;margin-bottom:32px;border-radius:12px;background:#00000008;border:1px solid rgba(0,0,0,.08)}@media(min-width:768px){.admin-emergency{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}}.admin-emergency--on{background:#fbbf241f;border-color:#fbbf2466}.admin-emergency-text{flex:1}.admin-emergency-label{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light);margin:0 0 6px}.admin-emergency-desc{font-size:var(--text-body);color:var(--text-on-light);margin:0;line-height:var(--leading-normal)}.admin-table{display:flex;flex-direction:column;gap:16px}.admin-table-head{display:none}@media(min-width:1024px){.admin-table{gap:0}.admin-table-head,.admin-row{display:grid;grid-template-columns:2fr 1.2fr 1.4fr 1fr 1fr 2fr;gap:16px;align-items:start}.admin-table-head{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.12)}.admin-table-head>span{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary-on-light)}.admin-row{padding:20px 16px;border-bottom:1px solid rgba(0,0,0,.07)}}.admin-row{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:12px;background:#00000006;border:1px solid rgba(0,0,0,.08)}@media(min-width:1024px){.admin-row{background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0}}.admin-cell{min-width:0}.admin-row-title{font-size:var(--text-body-lg);font-weight:var(--weight-semibold);margin:0 0 4px;color:var(--text-on-light)}.admin-row-meta{font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.06em;color:var(--text-secondary-on-light);margin:0}.admin-row-hint{font-size:var(--text-caption);color:var(--warning-base);margin:8px 0 0}.admin-row-hint code{font-family:var(--font-family-mono);background:#0000000d;padding:1px 6px;border-radius:4px}.admin-status{display:inline-flex;align-items:center;font-family:var(--font-family-mono);font-size:var(--text-caption);letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;white-space:nowrap}.admin-status--locked{background:rgba(var(--page-accent-rgb, var(--page-accent-rgb-default)),.12);color:var(--page-accent, var(--page-accent-default))}.admin-status--off{background:#0000000f;color:var(--text-secondary-on-light)}.admin-status--warning{background:#fbbf2429;color:#92510a}.admin-pw{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:#0000000a;border:1px solid rgba(0,0,0,.1);cursor:pointer;font-family:var(--font-family-mono);font-size:var(--text-caption);color:var(--text-on-light);transition:background-color .2s ease,border-color .2s ease}.admin-pw:hover{background:#00000014}.admin-pw:focus-visible{outline:2px solid var(--page-accent, var(--page-accent-default));outline-offset:2px}.admin-pw-mask,.admin-pw-value{letter-spacing:.1em}.admin-pw-copy{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary-on-light)}.admin-pw-empty{font-family:var(--font-family-mono);color:var(--text-secondary-on-light)}.admin-cell--actions{display:flex;flex-direction:column;gap:12px}.admin-row-form,.admin-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-row-form .admin-input,.admin-row-form .admin-select,.admin-row-actions .admin-select{flex:1 1 auto;min-width:140px}
