.ripple-canvas[data-astro-cid-6qxdfr2x]{display:block;width:100%;height:100%}.hero[data-astro-cid-bbe6dxrz]{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:140px 0 80px;position:relative}.hero-content[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;height:100%}.hero-headline[data-astro-cid-bbe6dxrz]{font-family:var(--font-sans);font-weight:300;font-size:clamp(40px,5.4vw,84px);line-height:1.08;letter-spacing:-.02em;color:var(--prl-text);animation:headline-in 1.4s .2s cubic-bezier(.22,.61,.36,1) both}.hero-headline[data-astro-cid-bbe6dxrz] .name[data-astro-cid-bbe6dxrz]{font-family:var(--font-display);font-weight:500;color:var(--prl-text);display:block;font-size:clamp(48px,6.4vw,100px);margin-bottom:24px;letter-spacing:-.025em}.hero-headline[data-astro-cid-bbe6dxrz] .name[data-astro-cid-bbe6dxrz] .soft[data-astro-cid-bbe6dxrz]{font-weight:300;color:var(--prl-muted)}.hero-headline[data-astro-cid-bbe6dxrz] .line[data-astro-cid-bbe6dxrz]{display:block;max-width:880px}.hero-sub[data-astro-cid-bbe6dxrz]{margin-top:40px;font-family:var(--font-sans);font-size:clamp(15px,1.3vw,18px);line-height:1.65;color:var(--prl-muted);font-weight:300;max-width:580px;animation:fade-up 1s .5s cubic-bezier(.22,.61,.36,1) both}.hero-status[data-astro-cid-bbe6dxrz]{margin-top:auto;padding-top:64px;display:flex;gap:64px;flex-wrap:wrap;animation:fade-up 1s .7s cubic-bezier(.22,.61,.36,1) both}.hero-status-item[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;gap:6px;transition:opacity .2s ease}.hero-status-item[data-astro-cid-bbe6dxrz]:hover{opacity:.7}.hero-status-label[data-astro-cid-bbe6dxrz]{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--prl-muted)}.hero-status-label[data-astro-cid-bbe6dxrz]:before{content:". ";color:var(--prl-faint)}.hero-status-name[data-astro-cid-bbe6dxrz]{font-family:var(--font-sans);font-size:18px;font-weight:500;color:var(--prl-text);letter-spacing:-.01em}.ambient-grid[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;z-index:0;background-image:radial-gradient(circle,var(--prl-faint) 1.2px,transparent 1.7px);background-size:72px 72px;opacity:.55;mask-image:radial-gradient(ellipse 60% 75% at 25% 50%,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 75% at 25% 50%,black 30%,transparent 75%);pointer-events:none}.hero-ripple[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;z-index:0;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,transparent 32%,black 58%,black 92%,transparent 100%),linear-gradient(to bottom,black 0%,black 45%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 32%,black 58%,black 92%,transparent 100%),linear-gradient(to bottom,black 0%,black 45%,transparent 100%);-webkit-mask-composite:source-in;opacity:0;animation:ripple-wake 1.5s .2s cubic-bezier(.22,.61,.36,1) forwards}@keyframes ripple-wake{0%{opacity:0}to{opacity:1}}.hero-grain[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.65'/></svg>");background-size:220px 220px;mix-blend-mode:overlay;mask-image:linear-gradient(to bottom,black 0%,black 45%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 45%,transparent 100%);opacity:0;animation:grain-wake 1.5s .2s cubic-bezier(.22,.61,.36,1) forwards}@keyframes grain-wake{0%{opacity:0}to{opacity:.3}}.hero-gradient[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(135deg,#1a1d3a,#0a0b0d,#20253c);mask-image:linear-gradient(to right,transparent 0%,transparent 32%,black 58%,black 92%,transparent 100%),linear-gradient(to bottom,black 0%,black 45%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 32%,black 58%,black 92%,transparent 100%),linear-gradient(to bottom,black 0%,black 45%,transparent 100%);-webkit-mask-composite:source-in;opacity:0;animation:gradient-wake 1.5s .2s cubic-bezier(.22,.61,.36,1) forwards}@keyframes gradient-wake{0%{opacity:0}to{opacity:1}}.hero-content[data-astro-cid-bbe6dxrz]{position:relative;z-index:1}@media(max-width:900px){.hero-headline[data-astro-cid-bbe6dxrz]{font-size:clamp(36px,8vw,56px)}.hero-headline[data-astro-cid-bbe6dxrz] .name[data-astro-cid-bbe6dxrz]{font-size:clamp(40px,9vw,64px)}.hero-status[data-astro-cid-bbe6dxrz]{gap:32px}.hero-ripple[data-astro-cid-bbe6dxrz]{mask-image:linear-gradient(to bottom,black 0%,black 12%,transparent 32%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 12%,transparent 32%,transparent 100%)}.ambient-grid[data-astro-cid-bbe6dxrz]{mask-image:radial-gradient(ellipse at 50% 55%,black 35%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 50% 55%,black 35%,transparent 80%)}.hero-gradient[data-astro-cid-bbe6dxrz]{mask-image:linear-gradient(to bottom,black 0%,black 12%,transparent 32%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 12%,transparent 32%,transparent 100%)}}.thesis[data-astro-cid-mzrlxtwr]{padding:160px 0;border-top:1px solid var(--prl-rule)}.thesis-grid[data-astro-cid-mzrlxtwr]{display:grid;grid-template-columns:repeat(12,1fr);gap:32px;align-items:start}.thesis-label[data-astro-cid-mzrlxtwr]{grid-column:1 / 4;padding-top:12px}.thesis-body[data-astro-cid-mzrlxtwr]{grid-column:5 / 12;font-family:var(--font-sans);font-size:clamp(20px,2vw,28px);line-height:1.4;letter-spacing:-.012em;color:var(--prl-text);font-weight:300}.thesis-body[data-astro-cid-mzrlxtwr] p[data-astro-cid-mzrlxtwr]+p[data-astro-cid-mzrlxtwr]{margin-top:1.2em}.thesis-body[data-astro-cid-mzrlxtwr] strong[data-astro-cid-mzrlxtwr]{font-weight:500;color:var(--prl-text)}@media(max-width:900px){.thesis[data-astro-cid-mzrlxtwr]{padding:96px 0}.thesis-label[data-astro-cid-mzrlxtwr],.thesis-body[data-astro-cid-mzrlxtwr]{grid-column:1 / -1}.thesis-label[data-astro-cid-mzrlxtwr]{margin-bottom:24px}}.products[data-astro-cid-qnwxz4mj]{padding:160px 0;border-top:1px solid var(--prl-rule);border-bottom:1px solid var(--prl-rule)}.products-header[data-astro-cid-qnwxz4mj]{display:flex;flex-direction:column;gap:20px;margin-bottom:80px;max-width:760px}.products-title[data-astro-cid-qnwxz4mj]{font-family:var(--font-sans);font-weight:300;font-size:clamp(28px,3.2vw,44px);line-height:1.15;letter-spacing:-.02em;color:var(--prl-text)}.products-list[data-astro-cid-qnwxz4mj]{list-style:none}.products-item[data-astro-cid-qnwxz4mj]{border-top:1px solid var(--prl-rule)}.products-item[data-astro-cid-qnwxz4mj]:last-child{border-bottom:1px solid var(--prl-rule)}.products-link[data-astro-cid-qnwxz4mj]{display:grid;grid-template-columns:160px 1fr 24px;gap:32px;align-items:baseline;padding:40px 0;transition:padding-left .2s ease}.products-link[data-astro-cid-qnwxz4mj]:hover{padding-left:12px}.products-status[data-astro-cid-qnwxz4mj]{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--prl-muted);padding-top:14px;align-self:start}.products-status[data-astro-cid-qnwxz4mj]:before{content:". ";color:var(--prl-faint)}.products-content[data-astro-cid-qnwxz4mj]{display:flex;flex-direction:column;gap:6px}.products-name[data-astro-cid-qnwxz4mj]{font-family:var(--font-sans);font-size:clamp(24px,2.4vw,32px);font-weight:500;color:var(--prl-text);letter-spacing:-.02em;line-height:1.2}.products-tagline[data-astro-cid-qnwxz4mj]{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--prl-text);font-weight:300;max-width:640px}.products-meta[data-astro-cid-qnwxz4mj]{margin-top:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--prl-muted)}.products-arrow[data-astro-cid-qnwxz4mj]{font-family:var(--font-mono);color:var(--prl-muted);font-size:18px;align-self:center;transition:color .2s ease,transform .2s ease}.products-link[data-astro-cid-qnwxz4mj]:hover .products-arrow[data-astro-cid-qnwxz4mj]{color:var(--prl-text);transform:translate(4px)}@media(max-width:700px){.products[data-astro-cid-qnwxz4mj]{padding:96px 0}.products-link[data-astro-cid-qnwxz4mj]{grid-template-columns:1fr;gap:12px}.products-link[data-astro-cid-qnwxz4mj] .products-arrow[data-astro-cid-qnwxz4mj]{display:none}.products-status[data-astro-cid-qnwxz4mj]{padding-top:0}}.writing[data-astro-cid-6prlzabz]{padding:160px 0;border-bottom:1px solid var(--prl-rule)}.writing-header[data-astro-cid-6prlzabz]{display:flex;flex-direction:column;gap:20px;margin-bottom:64px;max-width:760px}.writing-title[data-astro-cid-6prlzabz]{font-family:var(--font-sans);font-weight:300;font-size:clamp(28px,3.2vw,44px);line-height:1.15;letter-spacing:-.02em;color:var(--prl-text)}.writing-intro[data-astro-cid-6prlzabz]{font-family:var(--font-sans);font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:var(--prl-muted);font-weight:300;max-width:600px}.writing-list[data-astro-cid-6prlzabz]{list-style:none}.writing-item[data-astro-cid-6prlzabz]{border-top:1px solid var(--prl-rule)}.writing-item[data-astro-cid-6prlzabz]:last-child{border-bottom:1px solid var(--prl-rule)}.writing-link[data-astro-cid-6prlzabz]{display:grid;grid-template-columns:140px 1fr 24px;gap:32px;align-items:baseline;padding:28px 0;transition:padding-left .2s ease}.writing-link[data-astro-cid-6prlzabz]:hover{padding-left:8px}.writing-date[data-astro-cid-6prlzabz]{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--prl-muted);padding-top:6px}.writing-content[data-astro-cid-6prlzabz]{display:flex;flex-direction:column;gap:6px}.writing-byline[data-astro-cid-6prlzabz]{display:flex;align-items:center;gap:10px;padding-bottom:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--prl-muted);flex-wrap:wrap}.writing-byline-tag[data-astro-cid-6prlzabz]{color:var(--prl-muted)}.writing-byline-sep[data-astro-cid-6prlzabz]{color:var(--prl-faint)}.writing-item-title[data-astro-cid-6prlzabz]{font-family:var(--font-sans);font-weight:500;font-size:clamp(20px,1.8vw,26px);line-height:1.25;letter-spacing:-.015em;color:var(--prl-text)}.writing-item-description[data-astro-cid-6prlzabz]{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--prl-muted);font-weight:300;max-width:640px}.writing-arrow[data-astro-cid-6prlzabz]{font-family:var(--font-mono);color:var(--prl-muted);font-size:18px;align-self:center;transition:color .2s ease,transform .2s ease}.writing-link[data-astro-cid-6prlzabz]:hover .writing-arrow[data-astro-cid-6prlzabz]{color:var(--prl-text);transform:translate(4px)}.writing-all[data-astro-cid-6prlzabz]{display:inline-flex;align-items:center;gap:10px;margin-top:56px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--prl-muted);padding:10px 0;border-bottom:1px solid var(--prl-rule);transition:color .2s ease,border-color .2s ease,gap .2s ease}.writing-all[data-astro-cid-6prlzabz]:hover{color:var(--prl-text);border-color:var(--prl-text);gap:14px}.writing-empty[data-astro-cid-6prlzabz]{font-family:var(--font-sans);font-size:18px;color:var(--prl-muted);padding:24px 0}@media(max-width:700px){.writing[data-astro-cid-6prlzabz]{padding:96px 0}.writing-link[data-astro-cid-6prlzabz]{grid-template-columns:1fr;gap:8px}.writing-link[data-astro-cid-6prlzabz] .writing-arrow[data-astro-cid-6prlzabz]{display:none}}.about[data-astro-cid-v2cbyr3p]{padding:160px 0;border-bottom:1px solid var(--prl-rule)}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:repeat(12,1fr);gap:32px;align-items:start}.about-label[data-astro-cid-v2cbyr3p]{grid-column:1 / 4;padding-top:12px}.about-body[data-astro-cid-v2cbyr3p]{grid-column:5 / 12;font-family:var(--font-sans);font-size:clamp(17px,1.4vw,20px);line-height:1.7;color:var(--prl-text);font-weight:300}.about-body[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{margin-bottom:1.4em}.about-body[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]:last-child{margin-bottom:0}.about-body[data-astro-cid-v2cbyr3p] strong[data-astro-cid-v2cbyr3p]{font-weight:500;color:var(--prl-text)}.about-body[data-astro-cid-v2cbyr3p] .secondary[data-astro-cid-v2cbyr3p]{color:var(--prl-muted)}@media(max-width:900px){.about[data-astro-cid-v2cbyr3p]{padding:96px 0}.about-label[data-astro-cid-v2cbyr3p],.about-body[data-astro-cid-v2cbyr3p]{grid-column:1 / -1}.about-label[data-astro-cid-v2cbyr3p]{margin-bottom:24px}}
