:root{--bg:#d8d4cc;--bg-elevated:#e4e0d8;--bg-card:#f0ece4;--bg-bright:#f7f4ee;--border:#1c19161f;--border-strong:#1c191638;--text:#3a3632;--text-muted:#5c5750;--heading:#141210;--accent:#0f766e;--accent-dim:#0f766e1f;--accent-glow:#0f766e47;--warning:#b45309;--shadow:#14110e24;--shadow-deep:#14110e38;--radius:14px;--radius-lg:18px;--font-sans:"Outfit", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--max:640px;--topbar-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-sans);color:var(--text);background-color:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--heading);color:var(--bg-bright);z-index:1000;border-radius:10px;padding:10px 16px;font-weight:600;text-decoration:none;transition:transform .2s;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.shell{flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:clip}.shell__glow{pointer-events:none;z-index:0;background:radial-gradient(55% 65% at 50% 0,#fffcf58c,#0f766e0f 42%,#0000 70%);height:55vh;position:fixed;inset:-20% -10% auto}.main{z-index:1;padding-top:var(--topbar-h);flex:1;position:relative}.main__inner{width:min(100% - 32px, var(--max));padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));margin:0 auto}.main__sections{flex-direction:column;gap:96px;padding-top:12px;display:flex}.topbar{z-index:40;height:var(--topbar-h);border-bottom:1px solid #0000;transition:background .25s,border-color .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;position:fixed;top:0;left:0;right:0}.topbar--scrolled{background:color-mix(in srgb, var(--bg-bright) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--border-strong)}.topbar__inner{width:min(100% - 32px, var(--max));justify-content:space-between;align-items:center;gap:16px;height:100%;margin:0 auto;display:flex}.brand{color:var(--heading);letter-spacing:-.02em;align-items:center;gap:12px;font-weight:600;text-decoration:none;display:inline-flex}.brand__avatar-wrap{border:1px solid var(--border-strong);width:40px;height:40px;box-shadow:0 1px 0 #ffffff73 inset, 0 4px 14px var(--shadow);border-radius:12px;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.brand__avatar{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.brand__name{font-size:1rem}.nav-dock{z-index:45;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg-bright) 94%, transparent);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-strong);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;max-width:min(100% - 20px,860px);padding:7px 8px 7px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:inset 0 1px #ffffffd1,0 18px 46px #14110e24}.nav-dock__list{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.nav-dock__link{letter-spacing:-.01em;color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:8px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .18s,background .18s}.nav-dock__link:hover{color:var(--heading);background:#14110e12}.nav-dock__cta{letter-spacing:-.01em;color:#f7f4ee;background:var(--accent);box-shadow:0 1px 0 #fff3 inset, 0 8px 22px var(--accent-glow);border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:9px 16px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:box-shadow .2s,transform .15s}.nav-dock__cta:hover{box-shadow:0 1px 0 #ffffff38 inset, 0 12px 28px var(--accent-glow)}.nav-dock__cta:active{transform:scale(.97)}@media (width<=520px){.nav-dock{border-radius:20px;gap:4px;max-width:calc(100% - 12px);padding:6px 6px 6px 8px}.nav-dock__link{padding:7px 8px;font-size:.6875rem}.nav-dock__cta{padding:8px 12px;font-size:.75rem}}@media (width<=640px){.nav-dock{display:none}}.btn{letter-spacing:-.01em;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn--solid{background:var(--accent);color:#f7f4ee;box-shadow:0 1px 0 #fff3 inset, 0 0 0 0 var(--accent-glow)}.btn--solid:hover{box-shadow:0 1px 0 #ffffff38 inset, 0 12px 32px var(--accent-glow)}.btn--outline{border-color:var(--border-strong);color:var(--heading);background:0 0}.btn--outline:hover{border-color:var(--accent);background:var(--accent-dim)}.hero{justify-content:center;padding:28px 0 40px;display:flex}.hero__wrap{width:100%}.profile-card{background:var(--bg-bright);border:1px solid var(--border-strong);box-shadow:0 1px 0 #ffffffd9 inset, 0 22px 50px var(--shadow), 0 6px 16px var(--shadow-deep);border-radius:22px;position:relative;overflow:visible}.profile-card__banner-slot{padding:12px 12px 0}.profile-card__banner{height:clamp(156px,36vw,220px);box-shadow:0 1px 0 #ffffff80 inset, 0 10px 28px var(--shadow), 0 3px 10px var(--shadow-deep);border-radius:16px;position:relative;overflow:hidden}.profile-card__banner-bg{filter:grayscale()contrast(1.08)brightness(1.02);background:radial-gradient(90% 80% at 20% 100%,#ffffff73,#0000 55%),radial-gradient(70% 60% at 85% 15%,#fff3,#0000 45%),linear-gradient(145deg,#c5c3be 0%,#9c9a95 38%,#b8b6b1 72%,#a3a19c 100%);position:absolute;inset:0}.profile-card__banner-img{object-fit:cover;object-position:center 42%;width:100%;height:100%;position:absolute;inset:0}.profile-card__overlap{z-index:2;flex-direction:row;align-items:flex-end;gap:14px;margin-top:-96px;padding:0 18px 6px;display:flex;position:relative}.profile-card__lower{padding:8px 18px 20px;display:block}.profile-card__avatar-wrap{z-index:2;flex-shrink:0;width:188px;height:188px;margin-top:0;position:relative}.profile-card__avatar-stack{place-items:center;width:100%;height:100%;display:grid;position:relative}.profile-card__avatar-rainbow{background:conic-gradient(#7c3aed,#06b6d4,#f472b6,#7c3aed);border-radius:50%;grid-area:1/1;width:100%;height:100%;animation:3.2s linear infinite profile-rainbow-orbit;box-shadow:0 12px 28px #14110e38,0 4px 12px #14110e24}.profile-card__avatar{z-index:1;object-fit:cover;border:2px solid var(--bg-bright);background:var(--bg-elevated);border-radius:50%;grid-area:1/1;width:calc(100% - 7px);height:calc(100% - 7px);display:block;position:relative;box-shadow:0 2px 12px #14110e2e}@keyframes profile-rainbow-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.profile-card__avatar-rainbow{animation:none}}.profile-card__aside{flex:1;min-width:0;padding-top:4px}.profile-card__name{letter-spacing:-.03em;color:var(--heading);margin:0 0 4px;font-size:clamp(1.25rem,1rem + 1.2vw,1.45rem);font-weight:700;line-height:1.15}.profile-card__role{color:var(--text);margin:0 0 8px;font-size:.875rem;font-weight:600;line-height:1.4}.profile-card__chips{flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.profile-chip{letter-spacing:-.02em;color:var(--heading);background:linear-gradient(#ebe8e2,#e0ddd6);border:1px solid #14110e14;border-radius:999px;padding:5px 10px;font-size:.6875rem;font-weight:600;display:inline-block;box-shadow:1px 1px 3px #14110e0f,-1px -1px 2px #ffffffa6}.profile-card__meta{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.45}.profile-card__meta--overlap{text-align:right;flex:1;align-self:flex-end;min-width:0;margin:0 0 6px}.profile-card__meta-sep{opacity:.75}.profile-card__social{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.profile-card__social>li{position:relative}.profile-card__social-btn{background:linear-gradient(#ebe8e2,#e0ddd6);border:1px solid #14110e1a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .12s;display:inline-flex;position:relative;box-shadow:1px 1px 4px #14110e12,-1px -1px 2px #ffffffa6}.profile-card__social-btn:hover,.profile-card__social-btn:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, var(--border-strong));box-shadow:1px 1px 5px #14110e1a,-1px -1px 2px #ffffffbf}.profile-card__social-btn:active{transform:scale(.96)}.profile-card__social-icon{object-fit:contain;pointer-events:none;width:26px;height:26px;display:block}.profile-card__social-tooltip{letter-spacing:-.01em;white-space:nowrap;color:var(--heading);background:var(--bg-bright);border:1px solid var(--border-strong);box-shadow:0 8px 24px var(--shadow);opacity:0;visibility:hidden;pointer-events:none;z-index:30;border-radius:8px;padding:6px 10px;font-size:.75rem;font-weight:600;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.profile-card__social-btn:hover .profile-card__social-tooltip,.profile-card__social-btn:focus-visible .profile-card__social-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.hero__below{box-sizing:border-box;border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:18px;max-width:34rem;margin-top:28px;margin-left:auto;margin-right:auto;padding:28px 16px 16px;display:flex}.hero__tagline-mini{color:var(--text);text-align:center;margin:0;font-size:.9375rem;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero__actions--compact{justify-content:center}@media (width<=640px){.topbar{display:none}.main{padding-top:env(safe-area-inset-top,0px)}.section{scroll-margin-top:12px}.main__inner{width:100%;max-width:none;min-height:calc(100dvh - env(safe-area-inset-top,0px));padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;margin:0;display:flex}.main__inner>.hero{flex-shrink:0}.main__sections{box-sizing:border-box;flex-direction:column;flex:1;gap:72px;min-height:0;padding-left:16px;padding-right:16px;display:flex}.contact-section-reveal{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.contact-section-reveal .section--contact{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex}.contact-section-reveal .section--contact>.section__label{flex-shrink:0}.contact-section-reveal .section--contact>.section__row--contact-split{flex-direction:column;flex:1;min-height:0;display:flex}.contact-section-reveal .section__row--contact-split>.section__title,.contact-section-reveal .section__row--contact-split>.contact-card--work{flex-shrink:0}.contact-section-reveal .hero__wrap--contact-touch,.contact-section-reveal .profile-card--contact-touch{flex-direction:column;flex:1;min-height:0;display:flex}.contact-section-reveal .profile-card--contact-touch .profile-card__banner-slot,.contact-section-reveal .profile-card--contact-touch .profile-card__overlap{flex-shrink:0}.contact-section-reveal .profile-card--contact-touch .profile-card__lower,.contact-section-reveal .profile-card--contact-touch .profile-card__aside{flex-direction:column;flex:1;min-height:0;display:flex}.contact-section-reveal .profile-card__contact-footnote{margin-top:auto;margin-bottom:0}.hero{padding:0 0 28px}.profile-card:not(.profile-card--contact-touch){border:none;border-bottom:1px solid var(--border-strong);min-height:50dvh;box-shadow:0 14px 36px var(--shadow);border-radius:0 0 22px 22px;flex-direction:column;display:flex;overflow:hidden}.profile-card:not(.profile-card--contact-touch) .profile-card__banner-slot{flex-direction:column;flex:auto;min-height:0;padding:12px 12px 0;display:flex}.profile-card:not(.profile-card--contact-touch) .profile-card__banner{height:auto;min-height:26dvh;box-shadow:0 1px 0 #ffffff80 inset, 0 10px 28px var(--shadow), 0 3px 10px var(--shadow-deep);border-radius:16px;flex:auto}.profile-card:not(.profile-card--contact-touch) .profile-card__overlap{align-items:flex-end;gap:10px;margin-top:-78px;padding:0 16px 4px}.profile-card:not(.profile-card--contact-touch) .profile-card__avatar-wrap{width:152px;height:152px}.profile-card:not(.profile-card--contact-touch) .profile-card__meta--overlap{text-align:right;text-wrap:balance;font-size:.6875rem;line-height:1.4}.profile-card:not(.profile-card--contact-touch) .profile-card__lower{padding:6px 16px 20px}.profile-card:not(.profile-card--contact-touch) .profile-card__aside{width:100%;padding-top:0}.profile-card:not(.profile-card--contact-touch) .profile-card__avatar{width:calc(100% - 7px);height:calc(100% - 7px)}}.section{scroll-margin-top:calc(var(--topbar-h) + 16px);flex-direction:column;gap:10px;display:flex}.section__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:500}.section__row{flex-direction:column;align-items:stretch;gap:18px;display:flex}.section__title{border-bottom:1px solid var(--border);letter-spacing:-.03em;color:var(--heading);margin:0;padding-bottom:12px;font-size:clamp(1.5rem,1.1rem + 1.2vw,1.85rem);font-weight:700;line-height:1.15}.section__body{max-width:65ch}.prose p{margin:0 0 1rem}.prose p:last-child{margin-bottom:0}.timeline{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.job-card{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 1px 0 #ffffff80 inset, 0 6px 18px var(--shadow);padding:20px 18px;transition:border-color .2s,box-shadow .2s}.job-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong));box-shadow:0 18px 44px var(--shadow)}.job-card__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.job-card__title{color:var(--heading);letter-spacing:-.02em;margin:0 0 4px;font-size:1.05rem;font-weight:600}.job-card__company{color:var(--accent);margin:0;font-size:.875rem;font-weight:500}.job-card__period{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;margin:0;font-size:.75rem}.job-card__summary{color:var(--text);margin:0 0 12px;font-size:.9375rem}.job-card__list{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding-left:1.1rem;font-size:.9rem;display:flex}.job-card__list li::marker{color:var(--accent)}.skill-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=900px){.skill-board{grid-template-columns:1fr}}.skill-board__card{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:100%;box-shadow:0 1px 0 #ffffff8c inset, 0 6px 16px var(--shadow);padding:18px 16px;transition:border-color .2s}.skill-board__card:hover{border-color:var(--border-strong)}.skill-board__title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 14px;font-size:.8125rem;font-weight:600}.chip-row{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip-row--tight{margin-top:4px}.chip{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--heading);border:1px solid var(--border);background:#14110e0f;border-radius:999px;padding:6px 11px;font-size:.6875rem;font-weight:500;display:inline-block}.chip--ghost{color:var(--text);background:0 0}.card-more{font:inherit;letter-spacing:.05em;text-transform:uppercase;color:var(--heading);background:var(--bg-elevated);border:2px solid var(--border-strong);cursor:pointer;border-radius:999px;flex-shrink:0;padding:9px 18px;font-size:.8125rem;font-weight:700;transition:color .2s,border-color .2s,background .2s,box-shadow .2s;animation:2.4s ease-in-out infinite card-more-heartbeat;box-shadow:inset 0 1px #ffffffbf,0 6px 18px #14110e1a}.card-more:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 42%, var(--border-strong));background:color-mix(in srgb, var(--bg-elevated) 88%, var(--accent-dim));box-shadow:0 1px 0 #ffffffd9 inset, 0 10px 26px #14110e1f, 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent);animation-play-state:paused}.card-more:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent), 0 6px 18px #14110e1a;outline:none;animation-play-state:paused}@keyframes card-more-heartbeat{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffffbf,0 6px 18px #14110e1a}12%{box-shadow:0 1px 0 #ffffffd9 inset, 0 8px 22px #14110e1f, 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);transform:scale(1.045)}24%{transform:scale(1);box-shadow:inset 0 1px #ffffffbf,0 6px 18px #14110e1a}36%{box-shadow:0 1px 0 #ffffffe0 inset, 0 10px 28px #14110e24, 0 0 0 5px color-mix(in srgb, var(--accent) 24%, transparent);transform:scale(1.06)}52%{transform:scale(1);box-shadow:inset 0 1px #ffffffbf,0 6px 18px #14110e1a}}@media (prefers-reduced-motion:reduce){.card-more{animation:none}}.venture-stack{flex-direction:column;gap:16px;display:flex}.venture-card{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 1px 0 #ffffff80 inset, 0 6px 18px var(--shadow);transition:border-color .2s,box-shadow .2s;overflow:visible}.venture-card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong));box-shadow:0 18px 44px var(--shadow)}.venture-card--expandable{cursor:pointer}.venture-card__inner{padding:18px 18px 16px}.venture-card__figure{width:100%;min-width:0;margin:0 0 14px;display:block}.venture-card__img{border-radius:calc(var(--radius) - 2px);width:100%;height:auto;display:block}.venture-card__title{letter-spacing:-.02em;color:var(--heading);margin:0 0 10px;font-size:1.05rem;font-weight:700;line-height:1.25}.venture-card__summary{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.venture-card__summary--open{-webkit-line-clamp:unset;display:block;overflow:visible}@supports not (-webkit-line-clamp:3){.venture-card__summary:not(.venture-card__summary--open){max-height:4.6rem;overflow:hidden}}.venture-card__details{margin:0 0 14px}.venture-card__details p{color:var(--text);margin:0 0 .85rem;font-size:.9rem;line-height:1.55}.venture-card__details p:last-child{margin-bottom:0}.venture-card__footer{justify-content:flex-end;padding-top:2px;display:flex}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.project-grid>li{min-width:0}.project-tile{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:0;height:100%;box-shadow:0 1px 0 #ffffff8c inset, 0 6px 18px var(--shadow);flex-direction:column;gap:10px;padding:20px 18px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.project-tile--expandable{cursor:pointer}.project-tile__media{background:0 0;width:100%;min-width:0;margin:0 0 10px;padding:0;display:block}.project-tile__img{border-radius:calc(var(--radius) - 2px);width:100%;height:auto;display:block}.project-tile__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.project-tile__details{margin:0 0 4px}.project-tile__details p{color:var(--text);margin:0 0 .85rem;font-size:.9rem;line-height:1.55}.project-tile__details p:last-of-type{margin-bottom:0}.project-tile__actions{flex-wrap:wrap;gap:10px;margin-top:14px;padding-top:12px;display:flex}.project-tile__client{color:var(--text-muted);margin:6px 0 0;font-size:.8125rem;line-height:1.35}.project-tile:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border-strong));box-shadow:0 14px 36px var(--shadow);transform:translateY(-2px)}.project-tile__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-tile__title{letter-spacing:-.02em;color:var(--heading);margin:0;font-size:1.05rem;font-weight:600}.project-tile__links{flex-shrink:0;gap:12px;display:flex}.link-arrow{color:var(--accent);border-bottom:1px solid #0000;font-size:.8125rem;font-weight:600;text-decoration:none;transition:border-color .2s}.link-arrow:hover{border-bottom-color:var(--accent)}.project-tile__desc{min-width:0;color:var(--text);flex:1;margin:0;font-size:.9rem;line-height:1.5}.project-tile__desc--summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@supports not (-webkit-line-clamp:4){.project-tile__desc--summary{max-height:6.75rem;display:block;overflow:hidden}}.testimonial-card{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:min(100%,44rem);box-shadow:0 1px 0 #ffffff8c inset, 0 10px 28px var(--shadow);margin:0 auto;padding:22px 20px 20px}.testimonial-card__project{margin-bottom:14px}.testimonial-card__eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:.6875rem;font-weight:600;display:block}.testimonial-card__project-name{letter-spacing:-.03em;color:var(--heading);margin:0;font-size:1.35rem;font-weight:700;line-height:1.15}.testimonial-card__prose{max-width:65ch;margin-bottom:18px}.testimonial-card__prose p{color:var(--text);margin:0 0 .85rem;font-size:.9375rem;line-height:1.55}.testimonial-card__prose p:last-child{margin-bottom:0}.testimonial-card__figure{width:100%;margin:0;padding:0}.c-video{border-radius:calc(var(--radius-lg) - 6px);border:1px solid var(--border);background:#0c0a09;outline:none;width:100%;position:relative;overflow:hidden}.c-video:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent)}.c-video__media{cursor:pointer;width:100%;height:auto;max-height:min(70vh,520px);display:block}.c-video__fallback{color:var(--accent);margin:12px 14px;font-size:.875rem;font-weight:600;display:inline-block}.c-video__chrome{z-index:2;pointer-events:none;position:absolute;inset:0}.c-video__play-hero{cursor:pointer;pointer-events:auto;border-radius:inherit;background:0 0;border:none;place-items:center;margin:0;padding:0;display:grid;position:absolute;inset:0}.c-video__play-hero-scrim{border-radius:inherit;pointer-events:none;background:linear-gradient(195deg,#0c0a0933 0%,#0c0a099e 100%);position:absolute;inset:0}.c-video__play-hero-ring{z-index:1;color:#fff;background:linear-gradient(150deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #134e4a));border-radius:50%;place-items:center;width:78px;height:78px;transition:transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:0 14px 44px #0000006b,inset 0 0 0 1px #ffffff29}.c-video__play-hero:hover .c-video__play-hero-ring{transform:scale(1.06)}.c-video__play-hero:active .c-video__play-hero-ring{transform:scale(.98)}.c-video__play-hero:focus-visible{outline:none}.c-video__play-hero:focus-visible .c-video__play-hero-ring{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent), 0 14px 44px #0000006b, 0 0 0 1px #ffffff29 inset}.c-video__buffer{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.c-video__buffer-dot{border:3px solid #ffffff38;border-top-color:#fffffff2;border-radius:50%;width:42px;height:42px;animation:.75s linear infinite c-video-spin}@keyframes c-video-spin{to{transform:rotate(360deg)}}.c-video__dock{pointer-events:auto;-webkit-backdrop-filter:blur(16px);background:#12100ec7;border:1px solid #ffffff1a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;display:flex;position:absolute;bottom:8px;left:8px;right:8px;box-shadow:0 14px 40px #00000061}.c-video__btn{cursor:pointer;color:#f8fafc;background:#ffffff1a;border:none;place-items:center;margin:0;padding:0;transition:background .15s,color .15s,transform .12s;display:grid}.c-video__btn:hover{background:#ffffff2e}.c-video__btn:active{transform:scale(.96)}.c-video__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.c-video__btn--round{border-radius:50%;flex-shrink:0;width:40px;height:40px}.c-video__track-wrap{flex:120px;min-width:0}.c-video__range{appearance:none;cursor:pointer;background:0 0;width:100%;height:10px;margin:0}.c-video__range::-webkit-slider-runnable-track{background:#ffffff2e;border-radius:999px;height:5px}.c-video__range::-webkit-slider-thumb{appearance:none;width:14px;height:14px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);background:#fff;border-radius:50%;margin-top:-4.5px}.c-video__range:focus-visible{outline:none}.c-video__range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--accent), 0 2px 8px #00000059}.c-video__range::-moz-range-track{background:#ffffff2e;border-radius:999px;height:5px}.c-video__range::-moz-range-thumb{width:14px;height:14px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent);background:#fff;border:none;border-radius:50%}.c-video__times{font-family:var(--font-mono);letter-spacing:.02em;color:#f8fafceb;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:.75rem;font-weight:500;display:flex}.c-video__times-sep{opacity:.45}.c-video__icon{display:block}.c-video:fullscreen{background:#050403;border:none;border-radius:0;flex-direction:column;justify-content:center;width:100%;min-height:100dvh;display:flex}.c-video:fullscreen .c-video__media{object-fit:contain;flex:1;width:100%;max-width:100%;height:auto;min-height:0;max-height:none}.c-video:fullscreen .c-video__dock{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));position:fixed}@media (width<=520px){.c-video__dock{gap:6px;padding:8px 10px;bottom:6px;left:6px;right:6px}.c-video__times{order:10;justify-content:flex-end;width:100%}}.testimonial-card__caption-keys{color:var(--text-muted);opacity:.92;margin-top:8px;font-size:.75rem;line-height:1.4;display:block}.section--contact{background:0 0;padding-bottom:8px}.contact-card{background:linear-gradient(165deg, #0f766e1a, #f7f4eef2 52%), var(--bg-bright);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:36rem;box-shadow:0 1px 0 #fffc inset, 0 16px 40px var(--shadow);padding:26px 22px}.contact-card--wide{max-width:none}.contact-stack{width:100%}.contact-card__prose p{margin:0 0 1rem}.contact-card__prose p:last-child{margin-bottom:0}.contact-card__sub{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:20px 0 8px;font-size:.8125rem;font-weight:700}.contact-card__sub:first-of-type{margin-top:4px}.contact-card__list{color:var(--text);flex-direction:column;gap:6px;margin:0 0 4px;padding-left:1.15rem;font-size:.9rem;line-height:1.5;display:flex}.contact-card__list li::marker{color:var(--accent)}.contact-card__list--muted{color:var(--text-muted)}.contact-card__list--muted li::marker{color:var(--text-muted)}.contact-card__rule{border:none;border-top:1px solid var(--border);margin:22px 0}.contact-card__response{color:var(--text-muted);margin:16px 0 0;font-size:.8125rem;line-height:1.45}.contact-card__hint{color:var(--text-muted);margin:0 0 16px;font-size:.8125rem;line-height:1.45}.contact-card__email{color:var(--heading);word-break:break-word;margin-bottom:20px;font-size:1.2rem;font-weight:600;text-decoration:none;display:inline-block}.contact-card__email:hover{color:var(--accent)}.section__row--contact-split{gap:0}.hero__wrap--contact-touch{width:100%}.profile-card--contact-touch .profile-card__banner-slot{padding:12px 12px 0}.profile-card--contact-touch .profile-card__banner{height:clamp(132px,32vw,188px);box-shadow:0 1px 0 #ffffff80 inset, 0 10px 28px var(--shadow), 0 3px 10px var(--shadow-deep);border-radius:16px;overflow:hidden}.profile-card--contact-touch .profile-card__overlap{gap:10px;margin-top:-70px;padding:0 14px 2px}.profile-card--contact-touch .profile-card__avatar-wrap{width:132px;height:132px}.profile-card--contact-touch .profile-card__lower{padding:4px 14px 14px}.profile-card--contact-touch .profile-card__meta--overlap{font-size:.75rem;line-height:1.35}.profile-card__name--contact-touch{margin-bottom:2px;font-size:clamp(1.05rem,.95rem + .6vw,1.25rem)}.profile-card__role--contact-lede{color:var(--text-muted);margin:0 0 6px;font-size:.8125rem;font-weight:500;line-height:1.45}.profile-card__connect-rows{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.profile-card__connect-row{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--heading);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s;display:flex}.profile-card__connect-row:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border-strong));background:color-mix(in srgb, var(--bg-elevated) 88%, var(--accent-dim));box-shadow:0 6px 18px var(--shadow)}.profile-card__connect-row-icon{background:var(--bg-bright);border:1px solid var(--border);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.profile-card__connect-row-icon img{object-fit:contain;width:22px;height:22px}.profile-card__connect-row-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.profile-card__connect-row-label{letter-spacing:-.02em;color:var(--text-muted);font-size:.8125rem;font-weight:700}.profile-card__connect-row-detail{color:var(--heading);word-break:break-word;font-size:.875rem;font-weight:600}@media (width>=680px){.profile-card__connect-row-text{flex-flow:wrap;align-items:baseline;gap:2px 12px}.profile-card__connect-row-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex:0 0 8.5rem;font-size:.75rem;font-weight:700}.profile-card__connect-row-detail{letter-spacing:-.015em;flex:auto;font-size:.9375rem;font-weight:700}}.profile-card__contact-footnote{color:var(--text-muted);margin:10px 0 0;font-size:.75rem;line-height:1.4}.profile-card__social-icon--call{opacity:.92;filter:contrast(1.15)}@media (width<=640px){.section__row--contact-split .contact-card--work{width:100vw;max-width:none;min-height:0;box-shadow:0 1px 0 #fffc inset, 0 20px 50px var(--shadow);border-bottom:none;border-left:none;border-right:none;border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-top:28px;padding-bottom:28px}.section__row--contact-split .hero__wrap--contact-touch{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.section__row--contact-split .profile-card--contact-touch{border:none;border-bottom:1px solid var(--border-strong);box-shadow:none;border-radius:0}.section__row--contact-split .profile-card--contact-touch .profile-card__banner-slot{padding:12px 12px 0}.section__row--contact-split .profile-card--contact-touch .profile-card__banner{box-shadow:0 1px 0 #ffffff80 inset, 0 10px 28px var(--shadow), 0 3px 10px var(--shadow-deep);border-radius:16px}.section__row--contact-split .profile-card--contact-touch .profile-card__overlap{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.section__row--contact-split .profile-card--contact-touch .profile-card__lower{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.hello-fab{display:none}@media (width<=640px){.hello-fab{z-index:48;right:max(14px, env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));min-height:48px;font:inherit;letter-spacing:.02em;color:#f7f4ee;background:var(--accent);cursor:pointer;opacity:1;visibility:visible;border:none;border-radius:999px;place-items:center;padding:12px 20px;font-size:.875rem;font-weight:700;transition:opacity .28s,transform .28s,visibility .28s,box-shadow .2s;display:grid;position:fixed;transform:translateY(0);box-shadow:inset 0 1px #ffffff38,0 14px 38px #0f766e6b}.hello-fab.hello-fab--at-bottom{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}.hello-fab:hover{box-shadow:inset 0 1px #ffffff40,0 18px 44px #0f766e80}.hello-fab:active:not(.hello-fab--at-bottom){transform:scale(.97)}.hello-fab:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent), 0 14px 38px #0f766e6b;outline:none}}.connect-sheet{z-index:220;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0a097a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=480px){.connect-sheet{align-items:center;padding:24px}}.connect-sheet__dialog{background:var(--bg-bright);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:min(100%,22rem);max-height:min(88dvh,520px);padding:18px 18px 20px;overflow:auto;box-shadow:0 24px 64px #14110e38}.connect-sheet__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.connect-sheet__title{letter-spacing:-.02em;color:var(--heading);margin:0;font-size:1.2rem;font-weight:700}.connect-sheet__close{font:inherit;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:.8125rem;font-weight:600}.connect-sheet__close:hover{color:var(--heading);border-color:var(--border-strong)}.connect-sheet__lede{color:var(--text-muted);margin:0 0 14px;font-size:.875rem;line-height:1.45}.connect-sheet__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.connect-sheet__row{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--heading);align-items:center;gap:12px;padding:12px 12px 12px 14px;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .18s,background .18s;display:flex}.connect-sheet__row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border-strong));background:color-mix(in srgb, var(--bg-elevated) 85%, var(--accent-dim))}.connect-sheet__row-icon{background:var(--bg-bright);border:1px solid var(--border);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.connect-sheet__row-icon img{object-fit:contain;width:26px;height:26px}.connect-sheet__row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.connect-sheet__row-label{font-size:.875rem;font-weight:700}.connect-sheet__row-meta{color:var(--text-muted);word-break:break-word;font-size:.75rem;font-weight:500}.connect-sheet__row-arrow{color:var(--accent);flex-shrink:0;font-size:1rem}.inline-code{font-family:var(--font-mono);border:1px solid var(--border);color:var(--heading);background:#14110e0f;border-radius:8px;padding:2px 8px;font-size:.85em}
