:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e5edf7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#e5edf7;background:radial-gradient(circle at top,#577fff2e,#0000 36%),radial-gradient(circle at 100% 100%,#ff5c7a24,#0000 26%),linear-gradient(#07111f 0%,#0a1729 42%,#08101c 100%);min-width:320px;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}*{margin:0;padding:0}* .app-shell{min-height:100vh;position:relative;overflow:hidden}* .app-shell__content{z-index:1;width:min(1180px,100% - 2rem);margin:0 auto;padding:1.25rem 0 4rem;position:relative}* .app-shell__accent{filter:blur(18px);opacity:.55;pointer-events:none;border-radius:999px;position:absolute}* .app-shell__accent--one{background:#296fff2e;width:18rem;height:18rem;top:8rem;left:-6rem}* .app-shell__accent--two{background:#fc2f6824;width:22rem;height:22rem;bottom:10rem;right:-5rem}* .app-section-divider{background:linear-gradient(90deg,#0000,#ffffff29,#0000);height:1px;margin:2rem 0}* .pf-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08111fb8;border:1px solid #ffffff14;border-radius:1.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;display:flex;box-shadow:0 24px 60px #00000038}* .pf-header-brand{flex-direction:column;gap:.25rem;display:flex}* .pf-header-logo span:first-child{color:#f8f5ea;letter-spacing:.02em;font-size:1.85rem;font-weight:700}* .pf-header-logo span:last-child{color:#fc2f68;letter-spacing:.02em;font-size:1.85rem;font-weight:700}* .pf-header-tagline{color:#e5edf7b8;margin:0;font-size:.92rem}* .pf-header-nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}* .pf-header-nav-bar{align-items:center;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}* .pf-header-icon{color:#e5edf7;letter-spacing:.08em;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:.82rem;font-weight:700;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}* .pf-header-icon svg{width:1.1rem;height:1.1rem}* .pf-header-icon:hover,* .pf-header-icon:focus-visible{background:#fc2f681f;border-color:#fc2f6899;outline:none;transform:translateY(-2px)}* .pf-contact-link{color:#f9ebc4;letter-spacing:.01em;background:linear-gradient(135deg,#fc2f6829,#fc2f680d);border:1px solid #fc2f688c;border-radius:999px;justify-content:center;align-items:center;padding:.9rem 1.1rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}* .pf-contact-link:hover,* .pf-contact-link:focus-visible{background:linear-gradient(135deg,#fc2f6842,#fc2f681a);border-color:#fc2f68cc;outline:none;transform:translateY(-2px)}@media (width<=720px){* .pf-header{flex-direction:column;align-items:flex-start}* .pf-header-nav{justify-content:space-between;width:100%}}* .pf-presentation-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:1.5rem;margin-top:1.5rem;display:grid}* .pf-presentation{opacity:0;background:linear-gradient(160deg,#0c1629eb,#08101cc7);border:1px solid #ffffff14;border-radius:1.75rem;padding:2rem;transition:opacity .72s ease-out,transform .72s ease-out;transform:translateY(16px);box-shadow:0 24px 70px #0000003d}* .pf-presentation-kicker{color:#e5edf7bd;text-transform:uppercase;letter-spacing:.16em;margin:0 0 .85rem;font-size:.78rem;font-weight:700}* .pf-presentation-title{letter-spacing:-.04em;color:#f8f5ea;text-wrap:balance;opacity:0;margin:0;font-size:clamp(2.7rem,6vw,4.8rem);line-height:.95;transition:opacity .72s ease-out 80ms,transform .72s ease-out 80ms;transform:translateY(14px)}* .pf-presentation-dev{color:#fc2f68;letter-spacing:.08em;text-transform:uppercase;opacity:0;margin:1rem 0 0;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;transition:opacity .72s ease-out .15s,transform .72s ease-out .15s;transform:translateY(10px)}* .pf-presentation-pill-list{flex-wrap:wrap;gap:.7rem;margin-top:1.1rem;display:flex}* .pf-presentation-pill{--grid-template-columns:auto 1fr;color:#f9ebc4;letter-spacing:.01em;opacity:0;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;column-gap:.42rem;padding:.55rem .8rem;font-size:.88rem;font-weight:600;transition:opacity .78s ease-out,transform .78s ease-out,border-color .18s,background .18s,color .18s;display:inline-flex;position:relative;overflow:hidden;transform:translateY(10px)}* .pf-presentation-pill__icon{background:#e5edf7b3;border-radius:999px;flex:none;width:.55rem;height:.55rem;transition:background .18s,box-shadow .18s,transform .18s;box-shadow:0 0 #fc2f6800}* .pf-presentation-pill__label,* .pf-presentation-pill__hover-label{transition:opacity .32s,transform .32s;display:inline-block}* .pf-presentation-pill__hover-label{opacity:0;color:#fc2f68;white-space:nowrap;pointer-events:none;grid-area:1/2;justify-self:start;transform:translateY(4px)}* .pf-presentation-pill:hover,* .pf-presentation-pill:focus-visible{color:#fc2f68;background:#fc2f6814;border-color:#fc2f68a6;outline:none;transform:translateY(-2px)}* .pf-presentation-pill:hover .pf-presentation-pill__icon,* .pf-presentation-pill:focus-visible .pf-presentation-pill__icon{background:#fc2f68;transform:scale(1.05);box-shadow:0 0 0 5px #fc2f681f}* .pf-presentation-pill:hover .pf-presentation-pill__label,* .pf-presentation-pill:focus-visible .pf-presentation-pill__label{opacity:0;transform:translateY(-6px)}* .pf-presentation-pill:hover .pf-presentation-pill__hover-label,* .pf-presentation-pill:focus-visible .pf-presentation-pill__hover-label{opacity:1;transform:translateY(0)}* .pf-presentation-description{opacity:0;background:linear-gradient(#fc2f681f,#fc2f680a);border:1px solid #fc2f682e;border-radius:1.75rem;place-items:center;gap:1rem;padding:1rem;transition:opacity .76s ease-out .12s,transform .76s ease-out .12s;display:grid;transform:translateY(12px);box-shadow:0 24px 70px #0000002e}* .pf-presentation-copy{color:#e5edf7e6;text-wrap:balance;margin:0;font-size:1.05rem;font-weight:500;line-height:1.75}* .pf-presentation-photo{aspect-ratio:1;object-fit:cover;object-position:center top;background:#ffffff0a;border:1px solid #ffffff14;border-radius:1.25rem;width:min(220px,100%)}* .pf-presentation-bottom{color:#e5edf7e6;opacity:0;background:linear-gradient(135deg,#fc2f6814,#ffffff09);border:1px solid #fc2f682e;border-radius:1.2rem;grid-column:1/-1;margin:0;padding:1.05rem 1.2rem;line-height:1.75;transition:opacity .76s ease-out .18s,transform .76s ease-out .18s;transform:translateY(12px)}* .pf-presentation--visible,* .pf-presentation--visible .pf-presentation-title,* .pf-presentation--visible .pf-presentation-dev,* .pf-presentation--visible .pf-presentation-pill,* .pf-presentation-description--visible{opacity:1;transform:translateY(0)}* .pf-presentation--visible .pf-presentation-pill:first-child{transition-delay:.18s}* .pf-presentation--visible .pf-presentation-pill:nth-child(2){transition-delay:.24s}* .pf-presentation--visible .pf-presentation-pill:nth-child(3){transition-delay:.3s}* .pf-presentation--visible .pf-presentation-pill:nth-child(4){transition-delay:.36s}* .pf-presentation--visible .pf-presentation-title{transition-delay:80ms}* .pf-presentation--visible .pf-presentation-dev{transition-delay:.15s}* .pf-presentation-bottom--visible{opacity:1;transform:translateY(0)}@media (width<=900px){* .pf-presentation-content{grid-template-columns:1fr}}@media (width<=640px){* .pf-presentation,* .pf-presentation-description{padding:1.4rem}* .pf-presentation-dev{letter-spacing:.05em}}* .pf-projects{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}* .pf-projects-title{color:#f8f5ea;margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}* .pf-projects-heading{margin-bottom:.25rem}* .pf-projects-subtitle{color:#e5edf7b8;margin:0}* .pf-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}* .pf-project-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0c1629eb,#08101cc7);border:1px solid #ffffff14;border-radius:1.75rem;gap:1rem;padding:1.3rem;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #00000038}* .pf-project-card:hover,* .pf-project-card:focus-within{border-color:#fc2f6847;transform:translateY(-4px);box-shadow:0 30px 90px #00000047}* .pf-project-card--featured{background:linear-gradient(#121f37f5,#0a1220d1);border-color:#fc2f683d}* .pf-project-card__header{align-items:center;gap:.9rem;display:flex}* .pf-project-card__title{color:#f8f5ea;margin:0;font-size:1.25rem}* .pf-project-card__eyebrow{color:#fc2f68;text-transform:uppercase;letter-spacing:.16em;margin:0;font-size:.76rem;font-weight:700}* .pf-project-card__glyph{color:#f9ebc4;background:linear-gradient(135deg,#fc2f682e,#296fff24);border:1px solid #ffffff14;border-radius:1rem;flex:none;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}* .pf-project-card__glyph svg{width:1.55rem;height:1.55rem}* .pf-project-card__summary-block{background:linear-gradient(#ffffff0f,#ffffff06);border:1px solid #ffffff0f;border-radius:1.15rem;gap:.6rem;padding:1rem;display:grid}* .pf-project-card__summary,* .pf-project-card__outcome{color:#e5edf7db;margin:0;line-height:1.7}* .pf-project-card__outcome{white-space:pre-line}* .pf-project-card__summary{color:#f9ebc4;font-size:1rem;font-weight:600}* .pf-project-card__stack{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}* .pf-project-card__tech{color:#e5edf7;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.84rem;font-weight:600;display:inline-flex}* .pf-project-card__tech svg{color:#f9ebc4;flex:none;width:.95rem;height:.95rem}@media (width<=1080px){* .pf-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){* .pf-projects-grid{grid-template-columns:1fr}* .pf-project-card{padding:1.1rem}* .pf-project-card__header{align-items:flex-start}}
