@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/PlayfairDisplay-VariableFont_wght.ttf) format("truetype")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf) format("truetype")}:root{color:#f7f8ff;background:#020307;font-family:Playfair Display,Georgia,serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-height:100%;background:#020307;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:#020307}a{color:inherit;text-decoration-color:#f7f8ff59;text-underline-offset:.18em}a:hover{text-decoration-color:#f7f8ffe6}#flow-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100vw;height:100vh;background:radial-gradient(circle at 86% 47%,#e9f5ff 0,#83a1ff 20%,transparent 46%),linear-gradient(100deg,#010204,#060918 48%,#121a3a)}.no-webgl #flow-canvas{filter:blur(16px) saturate(1.2)}.site-shell{position:relative;z-index:1;min-height:100vh;color:#f6f7fb}.site-shell:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";pointer-events:none;background:linear-gradient(180deg,rgb(0 0 0 / .42) 0%,transparent 31%,rgb(0 0 0 / .7) 100%)}.topbar{position:fixed;top:0;left:0;z-index:3;display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px clamp(18px,4vw,64px) 22px clamp(10px,3vw,56px);color:#f7f8ffc7;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}:root{--brand-compact-width: 126px;--brand-expanded-width: 372px;--brand-mobile-expanded-width: 320px;--brand-height: 44px;--brand-font-family: "Playfair Display", Georgia, serif;--brand-font-size: 24px;--brand-font-weight: 700;--brand-letter-spacing: .0005em;--brand-slide-duration: .42s;--brand-fade-duration: .33s;--brand-bg-compact: rgb(42 48 56 / .24);--brand-bg-expanded: rgb(42 48 56 / .36);--brand-border-compact: rgb(255 255 255 / .22);--brand-border-expanded: rgb(255 255 255 / .38);--brand-text-color: rgb(247 248 255 / .9);--brand-hidden-blur: 4px;--brand-easing: cubic-bezier(.76, 0, .24, 1)}.brand{display:block;width:var(--brand-compact-width);height:var(--brand-height);position:relative;overflow:hidden;border:1px solid var(--brand-border-compact);border-radius:999px;background:var(--brand-bg-compact);text-decoration:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-origin:left center;transition:width var(--brand-slide-duration) var(--brand-easing),border-color .25s ease,background .25s ease}.brand:hover,.brand:focus-visible,.brand.is-expanded,.brand.is-at-top{width:min(var(--brand-expanded-width),calc(100vw - 36px));border-color:var(--brand-border-expanded);background:var(--brand-bg-expanded)}.brand:focus-visible{outline:2px solid rgb(255 255 255 / .62);outline-offset:5px}.brand-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:var(--brand-expanded-width)}.brand-letter{position:absolute;top:50%;left:var(--large-x);color:var(--brand-text-color);font-family:var(--brand-font-family);font-size:var(--brand-font-size);font-weight:var(--brand-font-weight);line-height:1;letter-spacing:var(--brand-letter-spacing);opacity:1;transform:translate(calc(var(--compact-x) - var(--large-x)),-50%);transition:transform var(--brand-slide-duration) var(--brand-easing),opacity var(--brand-fade-duration) ease,filter var(--brand-fade-duration) ease;filter:blur(0);will-change:transform,opacity,filter}.brand-letter.vanish{opacity:0;filter:blur(var(--brand-hidden-blur))}.brand:hover .brand-letter,.brand:focus-visible .brand-letter,.brand.is-expanded .brand-letter,.brand.is-at-top .brand-letter{transform:translateY(-50%);opacity:1;filter:blur(0)}@media(max-width:640px){.brand:hover,.brand:focus-visible,.brand.is-expanded,.brand.is-at-top{width:min(var(--brand-mobile-expanded-width),calc(100vw - 36px))}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-links{display:flex;gap:clamp(16px,3vw,34px)}.nav-links a{text-decoration:none}.hero{display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding:12vh clamp(18px,4vw,64px) 22vh}h1{max-width:19ch;margin:0;color:#f6f8ffd1;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.4rem,6.8vw,7.8rem);font-weight:500;letter-spacing:.12em;line-height:1.08;text-transform:uppercase;text-shadow:0 0 18px rgb(115 135 255 / .14),0 0 40px rgb(115 135 255 / .08),0 4px 16px rgb(0 0 0 / .2),0 10px 28px rgb(0 0 0 / .16),0 18px 42px rgb(0 0 0 / .12)}.intro{max-width:34rem;margin:34px 0 0 clamp(4px,22vw,340px);color:#f7f8ffc7;font-size:clamp(1.25rem,2.2vw,2.3rem);font-style:italic;line-height:1.18}.project-strip{--project-title-size: clamp(1.35rem, 2.5vw, 2.2rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(100% - 36px,1180px);margin:-12vh auto 8vh;border:1px solid rgb(255 255 255 / .15);background:#ffffff1f;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.project-strip article{min-height:154px;padding:22px;background:#02030794;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.project-strip article>span{display:block;margin-bottom:40px;color:#f7f8ff6b;font-size:.72rem}.project-strip .project-thumb{display:block;width:fit-content;margin:-12px 0 14px;border-radius:16px;line-height:0;text-decoration:none}.project-strip .project-thumb img{display:block;width:56px;height:56px;object-fit:contain}.project-strip .project-thumb:hover img,.project-strip .project-thumb:focus-visible img{filter:brightness(1.08)}.project-strip .project-thumb:focus-visible{outline:2px solid rgb(255 255 255 / .55);outline-offset:4px}.project-strip h2{margin:0 0 8px;color:#f7f8ffdb;font-family:Playfair Display,Georgia,serif;font-size:var(--project-title-size);font-weight:700;line-height:1}.project-strip p{max-width:18rem;margin:0;color:#f7f8ff9e;font-size:.9rem;line-height:1.45}.project-strip .project-shelflife{display:block}.project-strip .project-shelflife>span{margin-bottom:40px}.project-strip .project-shelflife-title{display:flex;align-items:flex-start;font-size:var(--project-title-size);gap:14px;min-width:0;margin-bottom:8px}.project-strip .project-shelflife-title .project-thumb{margin:-.4em 0 0}.project-strip .project-shelflife-title .project-thumb img{width:1.8em;height:1.8em}.project-strip .project-shelflife-title h2{margin:0;font-size:1em}.project-strip .project-shelflife p{max-width:none}.project-strip .project-experience p{display:-webkit-box;max-width:none;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-strip .project-experience.is-expanded p{display:block}.expand-toggle{display:inline-flex;align-items:center;margin-top:12px;padding:0;border:0;background:transparent;color:#f7f8ffd1;font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.expand-toggle:hover,.expand-toggle:focus-visible{color:#f7f8ff}.expand-toggle:focus-visible{outline:2px solid rgb(255 255 255 / .45);outline-offset:4px}.project-strip .cta-shell{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:0}.project-strip .project-shelflife .cta-shell{margin-top:1.1rem}.project-strip .cta{--button-text: #0b1220;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;justify-content:start;gap:.58rem;width:10.7rem;min-height:3.1rem;padding:0 .95rem 0 .84rem;border:0;border-radius:999px;background:linear-gradient(180deg,#fff,#f1f2f4);color:var(--button-text);font-family:inherit;text-decoration:none;cursor:pointer;box-shadow:0 16px 34px #00000057,0 0 0 1px #fff3,inset 0 1px #fffffff2;transition:box-shadow .36s ease,transform .18s ease}.project-strip .cta:hover,.project-strip .cta:focus-visible{box-shadow:0 16px 34px #00000057,0 0 24px #b16cff3d,0 0 42px #5694ff24,0 0 0 1px #ffffff3d,inset 0 1px #fffffff2;transform:translateY(-1px)}.project-strip .cta:focus-visible{outline:2px solid rgba(255,255,255,.36);outline-offset:.35rem}.project-strip .cta-badge{display:inline-flex;align-items:center;justify-content:center;width:1.95rem;color:var(--button-text);font-size:1.9rem;line-height:1;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI Symbol,system-ui,sans-serif;text-decoration:none;transform:translateY(-.01em)}.project-strip .cta-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1;text-align:left;text-decoration:none}.project-strip .cta-kicker{margin-bottom:.14rem;color:var(--button-text);font-size:.62rem;font-weight:700;letter-spacing:.015em;text-decoration:none}.project-strip .cta-store{color:var(--button-text);font-size:1.08rem;font-weight:800;letter-spacing:-.015em;text-decoration:none}.project-timeline{width:min(100% - 36px,1180px);margin:0 auto 9vh;padding-top:clamp(18px,4vh,42px);font-family:Inter,ui-sans-serif,system-ui,sans-serif}.project-timeline>h2{margin:0 0 clamp(34px,6vw,64px);color:#f7f8ffad;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.4rem,6vw,5.2rem);font-weight:600;line-height:.95}.timeline-list{max-width:860px}.timeline-item{--timeline-dot-size: 11px;--timeline-line-gap: 12px;--timeline-line-x: 4px;position:relative;padding:0 0 clamp(48px,7vw,82px) 34px}.timeline-item:before{position:absolute;top:.78em;left:calc(var(--timeline-line-x) - var(--timeline-dot-size) / 2);z-index:1;width:var(--timeline-dot-size);height:var(--timeline-dot-size);border:1px solid rgb(247 248 255 / .34);border-radius:999px;content:"";background:#f7f8ff29;box-shadow:0 0 18px #879dff29}.timeline-item:after{position:absolute;top:calc(.78em + var(--timeline-dot-size) + var(--timeline-line-gap));bottom:calc(-.78em + var(--timeline-line-gap));left:var(--timeline-line-x);width:1px;content:"";background:linear-gradient(180deg,#f7f8ff47,#f7f8ff14)}.timeline-item:last-child{padding-bottom:0}.timeline-item:last-child:after{display:none}.timeline-content{min-width:0}.timeline-content h3{margin:0 0 8px;color:#f7f8ffd6;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.55rem,3vw,2.55rem);font-weight:650;line-height:1.02}.project-meta{max-width:100%;margin:0 0 12px;color:#f7f8ff75;font-size:clamp(.54rem,1.2vw,.72rem);letter-spacing:.08em;line-height:1.45;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.project-description{display:-webkit-box;max-width:44rem;margin:0;overflow:hidden;color:#f7f8ff9e;font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-entry.is-expanded .project-description{display:block}.project-points{display:none;max-width:44rem;margin:16px 0 0;padding-left:1.1rem;color:#f7f8ff99;font-size:clamp(.9rem,1.35vw,1rem);line-height:1.5}.project-entry.is-expanded .project-points{display:block}.project-points li+li{margin-top:.48rem}.project-video{display:none;max-width:720px;margin-top:18px;padding:8px;border:1px solid rgb(255 255 255 / .16);border-radius:16px;background:linear-gradient(180deg,#ffffff14,#ffffff05),#02030761;box-shadow:inset 0 1px #ffffff1a,0 22px 48px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-entry.is-expanded .project-video{display:block}.project-video video{display:block;width:100%;border-radius:10px;background:#020307}@media(max-width:800px){.topbar{align-items:center;flex-wrap:nowrap;gap:16px;padding:16px 18px 16px 12px}.brand:hover,.brand:focus-visible,.brand.is-expanded,.brand.is-at-top{width:var(--brand-compact-width)}.nav-links{flex:0 1 auto;justify-content:flex-end;gap:18px;font-size:.66rem}.brand:hover .brand-letter,.brand:focus-visible .brand-letter,.brand.is-expanded .brand-letter,.brand.is-at-top .brand-letter,.brand .brand-letter{transform:translate(calc(var(--compact-x) - var(--large-x)),-50%)}.brand:hover .brand-letter.vanish,.brand:focus-visible .brand-letter.vanish,.brand.is-expanded .brand-letter.vanish,.brand.is-at-top .brand-letter.vanish,.brand .brand-letter.vanish{opacity:0;filter:blur(var(--brand-hidden-blur))}.brand:hover .brand-letter.keep,.brand:focus-visible .brand-letter.keep,.brand.is-expanded .brand-letter.keep,.brand.is-at-top .brand-letter.keep,.brand .brand-letter.keep{opacity:1;filter:blur(0)}.hero{padding:15vh 18px 28vh}h1{max-width:12ch;font-size:clamp(2rem,12vw,4.8rem);letter-spacing:.09em}.intro{max-width:22rem;margin-left:0;font-size:clamp(1.1rem,6vw,1.55rem)}.project-strip{grid-template-columns:1fr;margin-top:-20vh}.project-strip .project-shelflife{display:block;padding-bottom:34px}.project-strip .project-shelflife-title{margin-bottom:8px}.project-strip .project-shelflife .cta-shell{margin-top:1.1rem;margin-bottom:.25rem}.project-strip .cta:hover,.project-strip .cta:focus-visible{transform:none}.project-timeline{margin-top:2vh}.timeline-item{--timeline-line-x: 4px;padding-left:24px}.timeline-item:after{left:4px}}
