html{scroll-behavior:smooth}:root{--navy:#2c3e50;--slate:#34495e;--muted:#7f8c8d;--line:#bdc3c7;--paper:#ecf0f1;--paper-hi:#f4f7f7;--ink:var(--navy);--ink-secondary:var(--slate);--ink-tertiary:var(--muted);--rule:var(--line);--rule-faint:#bdc3c773;--bg:var(--paper);--t-display:clamp(2.15rem,1.15rem + 5.2vw,5.75rem);--t-h2:clamp(1.55rem,1.1rem + 2.2vw,2.75rem);--t-h3:clamp(1.25rem,1rem + 1.2vw,1.85rem);--t-lead:clamp(1rem,.94rem + .35vw,1.185rem);--t-body:1rem;--t-small:.875rem;--t-label:.688rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-10:8rem;--s-11:11rem;--section-y:clamp(3.75rem,2.5rem + 6vw,9.5rem);--container-max:105rem;--container:min(100%,var(--container-max));--gutter:clamp(1.125rem,.65rem + 2.6vw,4.25rem);--nav-h:68px;--hair:1px solid var(--rule);--hair-faint:1px solid var(--rule-faint);--radius:2px;--shadow-xs:0 1px 2px #2c3e5017;--shadow-sm:0 4px 12px #2c3e501a,0 1px 2px #2c3e5012;--shadow-md:0 12px 28px #2c3e5029,0 3px 8px #2c3e5014;--shadow-dark-xs:0 2px 6px #00000047;--shadow-dark-sm:0 8px 20px #00000052;--ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.45,0,.15,1);--d-fast:.22s;--d-base:.52s;--d-slow:.9s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#ecf0f1;--ink-secondary:#bdc3c7;--ink-tertiary:#93a3a4;--rule:#3b4a58;--rule-faint:#3b4a588c;--bg:#151e27;--paper-hi:#1e2a35}}.bp *,.bp :before,.bp :after{box-sizing:border-box}.bp{-webkit-text-size-adjust:100%;background:var(--bg);color:var(--ink);font-family:var(--font-plex-sans),system-ui,-apple-system,sans-serif;font-size:var(--t-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;position:relative;overflow-x:hidden}.bp.is-locked,.bp.pm-open{overflow:hidden}.bp h1,.bp h2,.bp h3,.bp h4,.bp p,.bp figure,.bp blockquote,.bp ul,.bp ol,.bp dl,.bp dd{margin:0}.bp ul,.bp ol{padding:0;list-style:none}.bp img{max-width:100%;height:auto;display:block}.bp button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.bp a{color:inherit;text-decoration:none}.bp h1,.bp h2,.bp h3,.bp .ps-display,.bp .ach-card-title,.bp .xp-role{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.bp :focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--radius)}.bp .on-dark :focus-visible{outline-color:var(--paper)}.bp ::selection{background:var(--ink);color:var(--bg)}.bp .skip{left:var(--s-4);z-index:200;background:var(--navy);color:var(--paper);padding:var(--s-3)var(--s-5);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;transition:top var(--d-fast)var(--ease);position:absolute;top:-100px}.bp .skip:focus{top:var(--s-4)}.bp .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bp .blueprint-grid{z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--rule)1px,transparent 1px),linear-gradient(to bottom,var(--rule)1px,transparent 1px);opacity:.28;background-size:88px 88px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 80% at 50% 30%,#000 20%,#0000 78%);mask-image:radial-gradient(120% 80% at 50% 30%,#000 20%,#0000 78%)}.bp .dimension{align-items:center;gap:var(--s-4);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-tertiary);display:flex}.bp .dimension:before,.bp .dimension:after{content:"";background:var(--rule);flex:1;height:1px}.bp .dimension.is-left:before{display:none}.bp .container{z-index:2;width:100%;max-width:var(--container);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto;position:relative}.bp .band{z-index:2;position:relative}.bp .band+.band{border-top:var(--hair-faint)}.bp .band>.container{padding-top:var(--section-y);padding-bottom:var(--section-y)}.bp .band-dark{background:var(--navy);color:var(--paper);--rule:#ecf0f138;--rule-faint:#ecf0f124;--ink:var(--paper);--ink-secondary:#ecf0f1d1;--ink-tertiary:#ecf0f18c}.bp .band-dark,.bp .band-dark p{color:var(--ink-secondary)}.bp .band-dark h2,.bp .band-dark h3{color:var(--paper)}.bp .sec-head{gap:var(--s-6);padding-bottom:var(--s-8);margin-bottom:var(--s-8);border-bottom:var(--hair);grid-template-columns:148px minmax(0,1fr);align-items:start;display:grid}.bp .sec-ref{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-tertiary);padding-top:.55rem}.bp .sec-title{font-size:var(--t-h2);letter-spacing:-.022em;max-width:22ch;color:var(--ink);font-weight:500;line-height:1.18}@media (max-width:760px){.bp .sec-head{gap:var(--s-4);padding-bottom:var(--s-6);margin-bottom:var(--s-7);grid-template-columns:1fr}.bp .sec-ref{padding-top:0}}.bp .label{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-tertiary);font-weight:400}.bp .lead{font-size:var(--t-lead);color:var(--ink-secondary);max-width:62ch;line-height:1.62}.bp .nav{z-index:60;height:var(--nav-h);transition:background var(--d-base)var(--ease),border-color var(--d-base)var(--ease),backdrop-filter var(--d-base)var(--ease);background:0 0;border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.bp .nav.is-scrolled{-webkit-backdrop-filter:blur(14px)saturate(1.3);border-bottom-color:var(--rule);background:#ecf0f1d1}@media (prefers-color-scheme:dark){.bp .nav.is-scrolled{background:#151e27d1}}.bp .nav-inner{width:100%;max-width:var(--container);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:var(--s-4);min-width:0;margin:0 auto;display:flex}.bp .mark{letter-spacing:-.01em;color:var(--ink);flex-shrink:1;align-items:center;gap:.55rem;min-width:0;font-size:.95rem;font-weight:600;display:flex}.bp .mark-icon{color:var(--ink);flex-shrink:0}.bp .mark .mono{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;color:var(--ink-tertiary);white-space:nowrap;font-weight:400}.bp .nav-links{align-items:center;gap:var(--s-6);display:flex}.bp .nav-links a{font-size:var(--t-small);color:var(--ink-secondary);transition:color var(--d-fast)var(--ease);padding-bottom:2px;position:relative}.bp .nav-links a:after{content:"";transform-origin:100%;width:100%;height:1px;transition:transform var(--d-base)var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.bp .nav-links a:hover{color:var(--ink)}.bp .nav-links a:hover:after{transform-origin:0;transform:scaleX(1)}.bp .nav-ext{align-items:center;gap:var(--s-5);display:flex}.bp .nav-ext a,.bp .nav-ext button{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-tertiary);transition:color var(--d-fast)var(--ease);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4em;padding:0;display:inline-flex}.bp .nav-ext a:hover,.bp .nav-ext button:hover{color:var(--ink)}.bp .nav-toggle{align-items:center;gap:var(--s-3);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-secondary);padding:var(--s-2)0;flex-shrink:0;min-height:2.75rem;display:none}.bp .nav-toggle svg{width:18px;height:18px;transition:transform var(--d-base)var(--ease)}.bp .nav-toggle:hover svg{transform:rotate(-8deg)}@media (max-width:960px){.bp .nav-links,.bp .nav-ext{display:none}.bp .nav-toggle{display:flex}}@media (max-width:420px){.bp .mark .mono{display:none}}.bp .menu{z-index:55;background:var(--navy);color:var(--paper);padding:var(--nav-h)var(--gutter)var(--s-8);clip-path:inset(0 0 100%);visibility:hidden;transition:clip-path var(--d-slow)var(--ease),visibility 0s linear var(--d-slow);flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.bp .menu.is-open{clip-path:inset(0);visibility:visible;transition:clip-path var(--d-slow)var(--ease),visibility 0s}.bp .menu ul{gap:var(--s-2);flex-direction:column;display:flex}.bp .menu li{overflow:hidden}.bp .menu li a{padding:var(--s-3)0;letter-spacing:-.03em;transition:transform var(--d-slow)var(--ease);font-size:clamp(2rem,9vw,3.25rem);font-weight:500;line-height:1.1;display:block;transform:translateY(110%)}.bp .menu.is-open li a{transform:translateY(0)}.bp .menu.is-open li:first-child a{transition-delay:90ms}.bp .menu.is-open li:nth-child(2) a{transition-delay:.15s}.bp .menu.is-open li:nth-child(3) a{transition-delay:.21s}.bp .menu.is-open li:nth-child(4) a{transition-delay:.27s}.bp .menu.is-open li:nth-child(5) a{transition-delay:.33s}.bp .menu-foot{margin-top:var(--s-8);padding-top:var(--s-5);gap:var(--s-5);opacity:0;transition:opacity var(--d-base)var(--ease).34s;border-top:1px solid #ecf0f138;flex-wrap:wrap;display:flex}.bp .menu.is-open .menu-foot{opacity:1}.bp .menu-foot a,.bp .menu-foot button{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:#ecf0f1ad;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4em;padding:0;display:inline-flex}.bp .menu-foot a:hover,.bp .menu-foot button:hover{color:var(--paper)}.bp .btn{justify-content:center;align-items:center;gap:var(--s-3);min-height:2.75rem;font-size:var(--t-small);letter-spacing:.005em;border:1px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:background var(--d-base)var(--ease),color var(--d-base)var(--ease),border-color var(--d-base)var(--ease),box-shadow var(--d-base)var(--ease),transform var(--d-base)var(--ease);padding:.8rem 1.4rem;font-weight:500;display:inline-flex}.bp .btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.bp .btn:active{box-shadow:var(--shadow-xs);transition-duration:var(--d-fast);transform:translateY(0)}.bp .arw,.bp .ext-icon{vertical-align:-.15em;flex-shrink:0;width:1em;height:1em;display:inline-flex}.bp .btn .arw{transition:transform var(--d-base)var(--ease)}.bp .btn:hover .arw{transform:translate(4px)}.bp .btn-solid{background:var(--navy);color:var(--paper)}.bp .btn-solid:hover{background:var(--slate);border-color:var(--slate)}.bp .btn-ghost{color:var(--ink);border-color:var(--rule);box-shadow:none}.bp .btn-ghost:hover{border-color:var(--navy);box-shadow:var(--shadow-sm);background:#2c3e500a}.bp .band-dark .btn-solid{background:var(--paper);color:var(--navy);border-color:var(--paper);box-shadow:var(--shadow-dark-xs)}.bp .band-dark .btn-solid:hover{color:var(--paper);box-shadow:var(--shadow-dark-sm);background:0 0}.bp .band-dark .btn-ghost{color:var(--paper);box-shadow:none;border-color:#ecf0f166}.bp .band-dark .btn-ghost:hover{border-color:var(--paper);box-shadow:var(--shadow-dark-sm);background:#ecf0f10f}.bp .ilink{align-items:center;gap:var(--s-2);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-secondary);border-bottom:1px solid var(--rule);transition:color var(--d-fast)var(--ease),border-color var(--d-fast)var(--ease);padding-bottom:3px;display:inline-flex}.bp .ilink .arw{transition:transform var(--d-base)var(--ease)}.bp .ilink:hover{color:var(--ink);border-bottom-color:currentColor}.bp .ilink:hover .arw{transform:translate(3px)}.bp .hero{z-index:2;padding-top:calc(var(--nav-h) + clamp(3.5rem,9vw,7.5rem));padding-bottom:clamp(1.5rem,3vw,3rem);position:relative}.bp .hero-illustration{top:calc(var(--nav-h) + clamp(3.5rem,9vw,7.5rem));right:calc((100% - min(100%,var(--container-max)))/2 + var(--gutter) + clamp(.5rem,2vw,2.5rem));pointer-events:none;z-index:1;width:clamp(240px,24vw,380px);position:absolute;overflow:hidden}.bp .hero-illustration svg{width:100%;height:auto;display:block;overflow:hidden}@media (max-width:1024px){.bp .hero-illustration{display:none}}.bp .hero-eyebrow{align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);display:flex}.bp .hero-eyebrow:after{content:"";background:var(--rule);flex:1;max-width:240px;height:1px}.bp .hero h1{font-size:var(--t-display);letter-spacing:-.038em;max-width:16ch;color:var(--ink);font-weight:500;line-height:1.14}.bp .hero h1 .ln>span{display:block}.bp .hero-body{margin-top:var(--s-8);padding-top:var(--s-7);border-top:var(--hair-faint)}.bp .hero-body-grid{grid-template-columns:minmax(0,max-content) minmax(0,30rem);align-items:start;gap:clamp(4.5rem,14vw,18rem);max-width:fit-content;margin:0 auto;display:grid}.bp .hero-actions{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.bp .hero-side{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .hero-side .lead{max-width:none}.bp .hero-ext{gap:var(--s-5);flex-wrap:wrap;display:flex}.bp .hero-dim{margin-top:var(--s-9)}@media (max-width:860px){.bp .hero-body-grid{gap:var(--s-6);grid-template-columns:1fr;max-width:none;margin:0}.bp .hero-dim{margin-top:var(--s-7)}}@media (max-width:480px){.bp .hero-actions{flex-direction:column;align-items:stretch}.bp .hero-actions .btn{width:100%}.bp .hero h1{max-width:none}}.bp #work>.container{padding-top:clamp(2.5rem,5vw,5rem)}.bp .work-band>.container:first-child{padding-bottom:clamp(2.5rem,5vw,4.5rem)}.bp .work-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.7fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);width:100%;max-width:none;display:grid}.bp .work-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .work-intro-lead{letter-spacing:-.03em;color:var(--ink);max-width:28ch;margin:0;font-size:clamp(1.85rem,3.8vw,3.15rem);font-weight:500;line-height:1.15}.bp .work-intro-aside{gap:var(--s-4);border-left:var(--hair-faint);flex-direction:column;min-width:0;padding-bottom:.2rem;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .work-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary);margin:0;font-weight:500}.bp .work-intro-support{max-width:28ch;color:var(--ink-secondary);font-size:var(--t-body);margin:0;line-height:1.55}.bp .work-intro-count{margin:var(--s-2)0 0;color:var(--ink-tertiary)}@media (max-width:960px){.bp .work-intro{gap:var(--s-6);grid-template-columns:1fr;align-items:start}.bp .work-intro-lead{max-width:none;font-size:clamp(1.65rem,6.5vw,2.35rem)}.bp .work-intro-aside{border-left:0;border-top:var(--hair-faint);padding-left:0;padding-top:var(--s-5)}.bp .work-intro-support{max-width:40ch}}.bp .section-more{padding:var(--s-7)0 var(--s-4);justify-content:center;display:flex}.bp .work-list{flex-direction:column;display:flex}.bp .work-item{border-top:var(--hair-faint);padding:clamp(3.25rem,8vw,7.5rem) 0}.bp .work-item.is-wide{background:0 0}.bp .project-showcase{align-items:start;gap:clamp(1.5rem,3vw,2.5rem);display:grid}.bp .ps-head{min-width:0}.bp .ps-details{gap:var(--s-6);flex-direction:column;min-width:0;display:flex}.bp .ps-num{margin:0 0 var(--s-3);color:var(--ink-tertiary);align-items:center;gap:.45rem;display:flex}.bp .ps-num-sep{opacity:.45}.bp .ps-category{margin:0 0 var(--s-3);color:var(--ink-tertiary)}.bp .ps-display{letter-spacing:-.035em;color:var(--ink);text-transform:none;max-width:22ch;margin:0;font-size:clamp(1.85rem,3.6vw,3.15rem);font-weight:500;line-height:1.12}.bp .ps-display-line{display:inline}.bp .ps-copy-block{gap:var(--s-3);flex-direction:column;max-width:58ch;display:flex}.bp .ps-tagline{font-size:var(--t-lead);color:var(--ink);letter-spacing:-.015em;margin:0;line-height:1.4}.bp .ps-copy{color:var(--ink-secondary);margin:0;line-height:1.65}.bp .ps-foot{justify-content:space-between;align-items:flex-end;gap:var(--s-5)var(--s-6);padding-top:var(--s-5);border-top:var(--hair-faint);flex-wrap:wrap;display:flex}.bp .ps-meta{gap:var(--s-3);flex-direction:column;flex:16rem;min-width:0;max-width:min(36rem,100%);margin:0;display:flex}.bp .ps-meta-row{gap:var(--s-3);grid-template-columns:4.5rem minmax(0,1fr);align-items:start;display:grid}.bp .ps-meta-row dd,.bp .ps-meta-value{font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-secondary);overflow-wrap:break-word;min-width:0;margin:0;line-height:1.55}.bp .ps-stack{min-width:0;font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-secondary);flex-wrap:wrap;align-items:baseline;gap:.2rem 0;margin:0;font-weight:400;line-height:1.55;display:flex}.bp .ps-tech{white-space:nowrap;align-items:baseline;max-width:100%;display:inline-flex}.bp .ps-tech:not(:last-child):after{content:"·";opacity:.45;margin:0 .45rem}.bp .ps-links{align-items:center;gap:var(--s-4)var(--s-5);flex-wrap:wrap;flex:0 auto;margin:0;display:flex}.bp .ps-cta .arw{width:.95em;height:.95em}.bp .ps-media{min-width:0;position:relative}.bp .ps-media-frame{aspect-ratio:16/10;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);width:100%;box-shadow:var(--shadow-xs);transform-origin:50%;will-change:transform;color:inherit;text-align:left;cursor:pointer;text-decoration:none;display:block;position:relative;overflow:hidden}.bp .ps-media-frame:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.bp .ps-media-frame img{object-fit:cover}.bp .ps-placeholder{justify-content:flex-end;gap:var(--s-3);padding:var(--s-6);background:linear-gradient(to right,var(--rule-faint)1px,transparent 1px)0 0/44px 44px,linear-gradient(to bottom,var(--rule-faint)1px,transparent 1px)0 0/44px 44px,var(--paper-hi);flex-direction:column;display:flex;position:absolute;inset:0}.bp .ps-placeholder-label{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .ps-placeholder-name{letter-spacing:-.02em;color:var(--ink);max-width:18ch;font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.15}.bp .ps-cue{right:var(--s-4);bottom:var(--s-4);border:var(--hair);border-radius:var(--radius);background:color-mix(in srgb,var(--bg)88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;pointer-events:none;align-items:center;gap:.35rem;padding:.45rem .7rem;display:inline-flex;position:absolute;transform:translateY(8px)}.bp .ps-cue .arw{width:.9em;height:.9em}.bp .project-showcase[data-variant="0"],.bp .project-showcase[data-variant="3"]{grid-template-columns:1fr;grid-template-areas:"media""head""details"}.bp .project-showcase[data-variant="0"] .ps-media,.bp .project-showcase[data-variant="3"] .ps-media{grid-area:media}.bp .project-showcase[data-variant="0"] .ps-head,.bp .project-showcase[data-variant="3"] .ps-head{grid-area:head}.bp .project-showcase[data-variant="0"] .ps-details,.bp .project-showcase[data-variant="3"] .ps-details{grid-area:details}.bp .project-showcase[data-variant="0"] .ps-media-frame{aspect-ratio:21/10}.bp .project-showcase[data-variant="3"] .ps-media-frame{aspect-ratio:16/10;box-shadow:var(--shadow-md)}.bp .project-showcase[data-variant="1"],.bp .project-showcase[data-variant="4"]{column-gap:clamp(1.75rem,4vw,3.25rem);row-gap:var(--s-5);grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);grid-template-areas:"head media""details media";align-items:start}.bp .project-showcase[data-variant="1"] .ps-head,.bp .project-showcase[data-variant="4"] .ps-head{grid-area:head}.bp .project-showcase[data-variant="1"] .ps-details,.bp .project-showcase[data-variant="4"] .ps-details{grid-area:details}.bp .project-showcase[data-variant="1"] .ps-media,.bp .project-showcase[data-variant="4"] .ps-media{grid-area:media;align-self:stretch}.bp .project-showcase[data-variant="1"] .ps-media-frame,.bp .project-showcase[data-variant="4"] .ps-media-frame{aspect-ratio:4/3;height:100%;min-height:20rem}.bp .project-showcase[data-variant="1"] .ps-display,.bp .project-showcase[data-variant="4"] .ps-display{max-width:16ch}.bp .project-showcase[data-variant="2"],.bp .project-showcase[data-variant="5"]{column-gap:clamp(1.75rem,4vw,3.25rem);row-gap:var(--s-5);grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);grid-template-areas:"media head""media details";align-items:start}.bp .project-showcase[data-variant="2"] .ps-media,.bp .project-showcase[data-variant="5"] .ps-media{grid-area:media;align-self:stretch}.bp .project-showcase[data-variant="2"] .ps-head,.bp .project-showcase[data-variant="5"] .ps-head{grid-area:head}.bp .project-showcase[data-variant="2"] .ps-details,.bp .project-showcase[data-variant="5"] .ps-details{grid-area:details}.bp .project-showcase[data-variant="2"] .ps-media-frame,.bp .project-showcase[data-variant="5"] .ps-media-frame{aspect-ratio:4/3;height:100%;min-height:20rem}.bp .project-showcase[data-variant="2"] .ps-display,.bp .project-showcase[data-variant="5"] .ps-display{max-width:16ch}@media (max-width:960px){.bp .project-showcase[data-variant="0"],.bp .project-showcase[data-variant="1"],.bp .project-showcase[data-variant="2"],.bp .project-showcase[data-variant="3"],.bp .project-showcase[data-variant="4"],.bp .project-showcase[data-variant="5"]{grid-template-columns:1fr;grid-template-areas:"head""media""details";align-items:start;column-gap:0}.bp .ps-display{max-width:none;font-size:clamp(1.65rem,7vw,2.35rem)}.bp .ps-copy-block{max-width:none}.bp .ps-foot{flex-direction:column;align-items:flex-start}.bp .project-showcase[data-variant="1"] .ps-media-frame,.bp .project-showcase[data-variant="2"] .ps-media-frame,.bp .project-showcase[data-variant="4"] .ps-media-frame,.bp .project-showcase[data-variant="5"] .ps-media-frame{aspect-ratio:16/10;height:auto;min-height:0}}@media (prefers-reduced-motion:reduce){.bp .ps-cue{opacity:0!important}.bp .ps-media-frame,.bp .ps-display{transform:none!important}}.bp .plate{aspect-ratio:16/10;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);box-shadow:var(--shadow-xs);transition:transform var(--d-slow)var(--ease),border-color var(--d-slow)var(--ease),box-shadow var(--d-slow)var(--ease);transform-origin:50%;place-items:center;display:grid;position:relative;overflow:hidden}.bp .plate.is-empty{background:linear-gradient(to right,var(--rule-faint)1px,transparent 1px)0 0/44px 44px,linear-gradient(to bottom,var(--rule-faint)1px,transparent 1px)0 0/44px 44px,var(--paper-hi)}.bp .plate.is-empty:before,.bp .plate.is-empty:after{content:"";background:var(--rule);transition:opacity var(--d-slow)var(--ease);position:absolute}.bp .plate.is-empty:before{height:1px;top:50%;left:12%;right:12%}.bp .plate.is-empty:after{width:1px;top:12%;bottom:12%;left:50%}.bp .plate img{object-fit:cover;width:100%;height:100%}.bp .plate span{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-tertiary);background:var(--paper-hi);padding:.4rem .7rem;position:relative}.bp .meta-rows{gap:var(--s-3);padding-top:var(--s-2);flex-direction:column;display:flex}.bp .meta-row{gap:var(--s-4);grid-template-columns:92px minmax(0,1fr);align-items:baseline;display:grid}.bp .meta-row dd{font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-secondary);line-height:1.55}.bp .about-intro{grid-template-columns:minmax(0,1.6fr) minmax(16rem,.85fr);align-items:end;gap:clamp(1.75rem,4vw,4rem);width:100%;margin-bottom:clamp(2.5rem,5vw,4.25rem);display:grid}.bp .about-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .about-intro-lead{letter-spacing:-.03em;color:var(--ink);max-width:min(42ch,100%);margin:0;font-size:clamp(1.85rem,3.8vw,3.15rem);font-weight:500;line-height:1.2}.bp .about-intro-aside{gap:var(--s-4);border-left:var(--hair-faint);flex-direction:column;min-width:0;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .about-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary);margin:0}.bp .about-intro-support{max-width:38ch;color:var(--ink-secondary);font-size:var(--t-body);margin:0;line-height:1.6}.bp .about-layout{grid-template-columns:minmax(14rem,.72fr) minmax(0,1.4fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);width:100%;display:grid}.bp .about-media-col{gap:var(--s-6);flex-direction:column;align-items:flex-start;min-width:0;display:flex}.bp .about-media{transform-origin:50%;will-change:transform;width:min(100%,22rem);position:relative;transform:rotate(-5.5deg)}.bp .about-media-frame{aspect-ratio:497/502;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.bp .about-media-caption{margin:var(--s-4)0 0;color:var(--ink-tertiary);max-width:32ch;transform:rotate(5.5deg)}.bp .about-quote{padding:var(--s-5)0 0;border-top:var(--hair-faint);width:min(100%,24rem);margin:0;position:relative}.bp .about-quote-mark{font-family:var(--font-plex-mono),monospace;color:var(--ink);opacity:.2;margin-bottom:var(--s-3);font-size:clamp(2.5rem,5vw,3.5rem);line-height:.7;display:block}.bp .about-quote p{letter-spacing:-.022em;color:var(--ink);max-width:min(34ch,100%);margin:0;font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:500;line-height:1.3}.bp .about-copy{gap:var(--s-5);flex-direction:column;width:100%;min-width:0;max-width:none;padding-top:.35rem;display:flex}.bp .about-copy-label{color:var(--ink-tertiary)}.bp .about-prose{gap:var(--s-5);flex-direction:column;display:flex}.bp .about-prose p{color:var(--ink-secondary);max-width:68ch;line-height:1.7;font-size:var(--t-body);margin:0}.bp .about-prose p:first-child{font-size:var(--t-lead);color:var(--ink);letter-spacing:-.012em;max-width:62ch;line-height:1.55}.bp .about-facts{border-top:var(--hair);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(2.5rem,5vw,4rem);display:grid}.bp .about-fact{gap:var(--s-3);padding:var(--s-6)var(--s-5)0 0;border-right:var(--hair-faint);flex-direction:column;display:flex}.bp .about-fact:last-child{border-right:0;padding-right:0}.bp .about-fact:not(:first-child){padding-left:var(--s-5)}.bp .about-fact dt{color:var(--ink-tertiary)}.bp .about-fact dd{letter-spacing:-.015em;color:var(--ink);max-width:28ch;margin:0;font-size:clamp(1rem,1.5vw,1.15rem);font-weight:500;line-height:1.4}@media (max-width:960px){.bp .about-intro,.bp .about-layout{gap:var(--s-6);grid-template-columns:1fr;place-items:start stretch;width:100%}.bp .about-intro-lead{max-width:none;font-size:clamp(1.65rem,6.5vw,2.35rem)}.bp .about-intro-support{max-width:none}.bp .about-intro-aside{border-left:0;border-top:var(--hair-faint);padding-left:0;padding-top:var(--s-5)}.bp .about-media-col{align-items:flex-start}.bp .about-media{width:min(100%,18rem);transform:rotate(-4deg)}.bp .about-media-caption{transform:rotate(4deg)}.bp .about-quote{width:100%}.bp .about-quote p{max-width:min(40ch,100%)}.bp .about-copy{justify-self:stretch;max-width:none}.bp .about-prose p,.bp .about-prose p:first-child{max-width:none}.bp .about-facts{grid-template-columns:1fr}.bp .about-fact,.bp .about-fact:not(:first-child){border-right:0;border-bottom:var(--hair-faint);padding:var(--s-5)0}.bp .about-fact:last-child{border-bottom:0}.bp .about-fact dd{max-width:none}}@media (prefers-reduced-motion:reduce){.bp .about-media{transform:rotate(-3deg)!important}}.bp .portrait{aspect-ratio:497/502;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);width:min(340px,85%);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.bp .statement{letter-spacing:-.026em;color:var(--ink);max-width:18ch;font-size:clamp(1.5rem,3.1vw,2.25rem);font-weight:400;line-height:1.24}.bp .prose{gap:var(--s-5);flex-direction:column;display:flex}.bp .prose p{color:var(--ink-secondary);max-width:58ch}.bp .split{grid-template-columns:minmax(0,380px) minmax(0,620px);gap:clamp(2rem,6vw,5.5rem);max-width:fit-content;margin:0 auto;display:grid}@media (max-width:960px){.bp .split{gap:var(--s-7);grid-template-columns:1fr;max-width:none;margin:0}}.bp .about-col{gap:var(--s-6);flex-direction:column;display:flex}.bp .facts{gap:var(--s-6);margin-top:var(--s-9);padding-top:var(--s-6);border-top:var(--hair);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bp .facts div{gap:var(--s-2);flex-direction:column;display:flex}.bp .facts strong{font-weight:500;font-size:var(--t-small);color:var(--ink)}@media (max-width:700px){.bp .facts{gap:var(--s-5);grid-template-columns:1fr}}.bp .stack-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.7fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);width:100%;margin-bottom:clamp(2rem,4vw,3.25rem);display:grid}.bp .stack-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .stack-intro-lead{letter-spacing:-.03em;color:var(--paper);max-width:min(32ch,100%);margin:0;font-size:clamp(1.85rem,3.8vw,3.15rem);font-weight:500;line-height:1.2}.bp .stack-intro-aside{gap:var(--s-4);border-left:1px solid var(--rule-faint);flex-direction:column;min-width:0;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .stack-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary);margin:0}.bp .stack-intro-support{max-width:28ch;color:var(--ink-secondary);font-size:var(--t-body);margin:0;line-height:1.55}.bp .stack-intro-count{margin:var(--s-2)0 0;color:var(--ink-tertiary)}.bp .stack-marquee{border-top:1px solid var(--rule-faint);border-bottom:1px solid var(--rule-faint);margin:0 calc(var(--gutter)*-1);padding:var(--s-4)0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.bp .stack-marquee-track{gap:0;width:max-content;animation:48s linear infinite stack-marquee;display:flex}.bp .stack-marquee-item{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-tertiary);white-space:nowrap;padding:0 .85rem}.bp .stack-marquee-sep{opacity:.45;margin-left:.85rem}@keyframes stack-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.bp .stack-inventory{border-top:1px solid var(--rule);flex-direction:column;margin-top:clamp(2.5rem,5vw,4rem);display:flex}.bp .stack-layer{border-bottom:1px solid var(--rule-faint);grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.75rem,3.5vw,2.75rem) 0;display:grid}.bp .stack-layer-meta{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.bp .stack-layer-index{color:var(--ink-tertiary)}.bp .stack-layer-heading{align-items:baseline;gap:var(--s-4);flex-wrap:wrap;display:flex}.bp .stack-layer-title{letter-spacing:-.02em;color:var(--paper);margin:0;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500}.bp .stack-layer-code{color:var(--ink-tertiary);border:1px solid var(--rule-faint);padding:.2rem .45rem}.bp .stack-layer-note{margin:var(--s-2)0 0;max-width:28ch;color:var(--ink-secondary);font-size:var(--t-small);line-height:1.55}.bp .stack-layer-tools{flex-wrap:wrap;place-content:start flex-start;gap:.65rem .75rem;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.bp .stack-chip{border:1px solid var(--rule);letter-spacing:-.02em;max-width:100%;color:var(--paper);white-space:nowrap;cursor:default;background:#ecf0f108;flex:0 auto;align-items:center;padding:.7rem 1rem .75rem;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.15;display:inline-flex;position:relative;overflow:hidden}.bp .stack-chip-mark{background:var(--paper);transform-origin:0;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (max-width:960px){.bp .stack-intro{gap:var(--s-6);grid-template-columns:1fr;align-items:start}.bp .stack-intro-lead{max-width:none;font-size:clamp(1.65rem,6.5vw,2.35rem)}.bp .stack-intro-aside{border-left:0;border-top:1px solid var(--rule-faint);padding-left:0;padding-top:var(--s-5)}.bp .stack-marquee{margin-left:calc(var(--gutter)*-1);margin-right:calc(var(--gutter)*-1)}.bp .stack-layer{gap:var(--s-5);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.bp .stack-marquee-track{flex-wrap:wrap;justify-content:flex-start;row-gap:.35rem;width:auto;animation:none}.bp .stack-marquee{margin:0;-webkit-mask-image:none;mask-image:none}}.bp .stack{border-top:var(--hair-faint);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.bp .stack-col{padding:var(--s-6)var(--s-5)var(--s-6)0;border-right:var(--hair-faint)}.bp .stack-col:last-child{border-right:0}.bp .stack-col:not(:first-child){padding-left:var(--s-5)}.bp .stack-col h3{margin-bottom:var(--s-5)}.bp .stack-col li{font-size:var(--t-small);color:var(--ink-secondary);padding:var(--s-2)0;border-bottom:var(--hair-faint)}.bp .stack-col li:last-child{border-bottom:0}@media (max-width:880px){.bp .stack{grid-template-columns:repeat(2,minmax(0,1fr))}.bp .stack-col:nth-child(2n){border-right:0}.bp .stack-col:nth-child(-n+2){border-bottom:var(--hair-faint)}}@media (max-width:520px){.bp .stack{grid-template-columns:1fr}.bp .stack-col{border-right:0;border-bottom:var(--hair-faint);padding-left:0!important}.bp .stack-col:last-child{border-bottom:0}}.bp .xp-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.7fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);width:100%;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.bp .xp-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .xp-intro-lead{letter-spacing:-.03em;color:var(--ink);max-width:min(32ch,100%);margin:0;font-size:clamp(1.85rem,3.8vw,3.15rem);font-weight:500;line-height:1.2}.bp .xp-intro-aside{gap:var(--s-4);border-left:var(--hair-faint);flex-direction:column;min-width:0;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .xp-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary);margin:0}.bp .xp-intro-support{max-width:28ch;color:var(--ink-secondary);font-size:var(--t-body);margin:0;line-height:1.55}.bp .xp-intro-count{margin:var(--s-2)0 0;color:var(--ink-tertiary)}.bp .xp-list{border-top:var(--hair);flex-direction:column;display:flex}.bp .xp-chapter{border-bottom:var(--hair-faint);grid-template-columns:minmax(7.5rem,.42fr) minmax(0,1.4fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(2.25rem,5vw,4rem) 0;display:grid}.bp .xp-chapter:last-child{border-bottom:0}.bp .xp-chapter-index{gap:var(--s-3);flex-direction:column;min-width:0;padding-top:.15rem;display:flex}.bp .xp-num{font-family:var(--font-plex-mono),monospace;letter-spacing:-.06em;color:var(--ink);opacity:.22;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500;line-height:.9;display:block}.bp .xp-chapter.is-current .xp-num{opacity:.55}.bp .xp-rule{background:var(--ink);transform-origin:0;width:100%;max-width:6.5rem;height:1px;display:block;transform:scaleX(.18)}.bp .xp-period{margin:var(--s-2)0 0;color:var(--ink-tertiary)}.bp .xp-live{margin-top:var(--s-1);border:var(--hair);color:var(--ink);background:color-mix(in srgb,var(--ink)4%,transparent);align-self:flex-start;padding:.25rem .5rem;display:inline-flex}.bp .xp-chapter-body{grid-template-columns:minmax(0,1fr) minmax(9.5rem,13.5rem);align-items:start;gap:clamp(1.25rem,3vw,2.5rem);min-width:0;display:grid}.bp .xp-chapter-copy{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.bp .xp-media{transform-origin:50%;will-change:transform;justify-self:end;width:100%;max-width:13.5rem;position:relative}.bp .xp-media.is-tilt-left{transform:rotate(-6.5deg)translate(.25rem,.35rem)}.bp .xp-media.is-tilt-right{transform:rotate(6.5deg)translate(-.15rem,.2rem)}.bp .xp-media-frame{aspect-ratio:4/5;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.bp .xp-media-placeholder{justify-content:flex-end;gap:var(--s-2);padding:var(--s-4);background:linear-gradient(to right,var(--rule-faint)1px,transparent 1px)0 0/28px 28px,linear-gradient(to bottom,var(--rule-faint)1px,transparent 1px)0 0/28px 28px,var(--paper-hi);flex-direction:column;display:flex;position:absolute;inset:0}.bp .xp-media-ph-label{color:var(--ink-tertiary)}.bp .xp-media-ph-name{font-size:var(--t-small);letter-spacing:-.01em;color:var(--ink);line-height:1.2}.bp .xp-media-ph-hint{color:var(--ink-tertiary);opacity:.7}.bp .xp-role{letter-spacing:-.035em;color:var(--ink);max-width:16ch;margin:0;font-size:clamp(1.55rem,3.2vw,2.55rem);font-weight:500;line-height:1.08}.bp .xp-org{font-size:var(--t-lead);color:var(--ink-secondary);margin:0}.bp .xp-org a{color:inherit;transition:color var(--d-fast)var(--ease),border-color var(--d-fast)var(--ease);border-bottom:1px solid #0000;align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.bp .xp-org a:hover{color:var(--ink);border-bottom-color:var(--rule)}.bp .xp-org .arw{width:.85em;height:.85em}.bp .xp-copy{max-width:48ch;color:var(--ink-secondary);margin:0;line-height:1.6}.bp .xp-tech{margin:var(--s-2)0 0;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.bp .xp-tech li span{border:var(--hair-faint);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-tertiary);padding:.4rem .65rem;display:inline-block}@media (max-width:960px){.bp .xp-intro{gap:var(--s-6);grid-template-columns:1fr;align-items:start}.bp .xp-intro-lead{max-width:none;font-size:clamp(1.65rem,6.5vw,2.35rem)}.bp .xp-intro-aside{border-left:0;border-top:var(--hair-faint);padding-left:0;padding-top:var(--s-5)}.bp .xp-chapter{gap:var(--s-5);grid-template-columns:1fr}.bp .xp-chapter-index{align-items:center;gap:var(--s-3)var(--s-4);flex-flow:wrap}.bp .xp-num{font-size:clamp(2rem,10vw,2.75rem)}.bp .xp-rule{display:none}.bp .xp-chapter-body{grid-template-columns:1fr}.bp .xp-media{max-width:11rem;margin-top:var(--s-2);justify-self:start}.bp .xp-role{max-width:none}}@media (prefers-reduced-motion:reduce){.bp .xp-num,.bp .xp-rule{transform:none!important}.bp .xp-media.is-tilt-left{transform:rotate(-4deg)!important}.bp .xp-media.is-tilt-right{transform:rotate(4deg)!important}}.bp .now-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.7fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);width:100%;margin-bottom:clamp(2.25rem,4.5vw,3.75rem);display:grid}.bp .now-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .now-intro-lead{letter-spacing:-.03em;color:var(--ink);max-width:min(32ch,100%);margin:0;font-size:clamp(1.85rem,3.8vw,3.15rem);font-weight:500;line-height:1.2}.bp .now-intro-aside{gap:var(--s-4);border-left:var(--hair-faint);flex-direction:column;min-width:0;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .now-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary);margin:0}.bp .now-intro-support{max-width:28ch;color:var(--ink-secondary);font-size:var(--t-body);margin:0;line-height:1.55}.bp .now-intro-count{margin:var(--s-2)0 0;color:var(--ink-tertiary)}.bp .now-board{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:clamp(.85rem,1.8vw,1.25rem);display:grid}.bp .now-card{gap:var(--s-4);border:var(--hair);background:color-mix(in srgb,var(--paper-hi)70%,transparent);flex-direction:column;min-height:100%;padding:clamp(1.35rem,2.4vw,1.85rem);display:flex;position:relative;overflow:hidden}.bp .now-card.is-featured{background:var(--navy);color:var(--paper);--ink:var(--paper);--ink-secondary:#ecf0f1d1;--ink-tertiary:#ecf0f18c;--rule:#ecf0f147;--rule-faint:#ecf0f129;border-color:#0000}.bp .now-card.is-empty{background:0 0;border-style:dashed}.bp .now-card-top{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.bp .now-card-code{color:var(--ink-tertiary)}.bp .now-card-status{color:var(--ink-tertiary);border:1px solid var(--rule-faint);padding:.2rem .45rem}.bp .now-card.is-featured .now-card-status{color:#ecf0f1c7;border-color:#ecf0f147}.bp .now-card-label{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(1.55rem,2.8vw,2.15rem);font-weight:500;line-height:1.05}.bp .now-card.is-featured .now-card-label{color:var(--paper)}.bp .now-card-rule{opacity:.55;transform-origin:0;background:currentColor;width:100%;max-width:4.5rem;height:1px;display:block;transform:scaleX(.2)}.bp .now-card-body{max-width:34ch;color:var(--ink-secondary);font-size:var(--t-lead);letter-spacing:-.012em;margin:auto 0 0;line-height:1.45}.bp .now-card.is-featured .now-card-body{color:#ecf0f1d6;max-width:28ch;font-size:clamp(1.05rem,1.5vw,1.25rem)}.bp .now-card-body.is-placeholder{color:var(--ink-tertiary);font-style:italic}@media (max-width:960px){.bp .now-intro{gap:var(--s-6);grid-template-columns:1fr;align-items:start}.bp .now-intro-lead{max-width:none;font-size:clamp(1.65rem,6.5vw,2.35rem)}.bp .now-intro-aside{border-left:0;border-top:var(--hair-faint);padding-left:0;padding-top:var(--s-5)}.bp .now-board{grid-template-columns:1fr}.bp .now-card.is-featured .now-card-body{max-width:40ch}}@media (min-width:641px) and (max-width:960px){.bp .now-board{grid-template-columns:repeat(2,minmax(0,1fr))}.bp .now-card.is-featured{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.bp .now-card,.bp .now-card-rule{transform:none!important}}.bp .ach-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.75fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);margin-bottom:clamp(2.25rem,4.5vw,3.75rem);display:grid}.bp .ach-intro-main{gap:var(--s-5);flex-direction:column;display:flex}.bp .ach-intro-lead{letter-spacing:-.03em;max-width:min(32ch,100%);font-size:clamp(1.65rem,3.2vw,2.35rem);font-weight:500;line-height:1.2}.bp .ach-intro-aside{gap:var(--s-4);flex-direction:column;padding-bottom:.2rem;display:flex}.bp .ach-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .ach-intro-support{color:var(--ink-secondary);max-width:34ch;line-height:1.55}.bp .ach-intro-count{color:var(--ink-tertiary)}.bp .ach-empty{color:var(--ink-secondary);max-width:42ch;padding:var(--s-6)0 var(--s-4);border-top:var(--hair-faint)}.bp .ach-page-top{padding-top:calc(var(--nav-h) + var(--s-7));padding-bottom:var(--s-4)}.bp .ach-band-page>.container{padding-top:var(--s-6)}.bp .ach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);display:grid}.bp .ach-card{border-top:var(--hair);padding-top:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .ach-card-media{margin-bottom:var(--s-5);perspective:800px;position:relative}.bp .ach-card-frame{aspect-ratio:4/3;border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);box-shadow:var(--shadow-xs);transform-origin:bottom;will-change:transform,clip-path;position:relative;overflow:hidden}.bp .ach-card-frame img{transform-origin:50%;will-change:transform}.bp .ach-card-placeholder{justify-content:center;align-items:center;gap:var(--s-2);color:var(--ink-tertiary);padding:var(--s-4);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.bp .ach-card-index{color:var(--ink-tertiary);margin-bottom:var(--s-3)}.bp .ach-card-title{letter-spacing:-.02em;margin-bottom:var(--s-3);will-change:transform;font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:500;line-height:1.25}.bp .ach-card-rule{background:var(--rule);width:100%;max-width:4.5rem;height:1px;margin:0 0 var(--s-4);transform-origin:0;display:block}.bp .ach-card-meta{font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-tertiary);margin-bottom:var(--s-4);flex-wrap:wrap;gap:.35rem;display:flex}.bp .ach-card-dot{opacity:.5}.bp .ach-card-copy{color:var(--ink-secondary);font-size:var(--t-small);margin-bottom:var(--s-4);max-width:36ch;line-height:1.55}.bp .ach-card-link{align-self:flex-start}@media (prefers-reduced-motion:reduce){.bp .ach-card,.bp .ach-card-frame,.bp .ach-card-frame img,.bp .ach-card-title,.bp .ach-card-rule{clip-path:none!important;opacity:1!important;transform:none!important}}@media (max-width:1100px){.bp .ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.bp .ach-intro{gap:var(--s-5);grid-template-columns:1fr}.bp .ach-intro-lead{max-width:none}}@media (max-width:600px){.bp .ach-grid{grid-template-columns:1fr}}.bp .contact-intro{grid-template-columns:minmax(0,1.55fr) minmax(14rem,.75fr);align-items:end;gap:clamp(2rem,6vw,5.5rem);width:100%;margin-bottom:clamp(2.25rem,4.5vw,3.75rem);display:grid}.bp .contact-intro-main{gap:var(--s-5);flex-direction:column;min-width:0;display:flex}.bp .contact-intro-lead{letter-spacing:-.035em;color:var(--paper);max-width:min(32ch,100%);margin:0;font-size:clamp(2.1rem,5vw,3.75rem);font-weight:500;line-height:1.12}.bp .contact-intro-aside{gap:var(--s-4);border-left:1px solid #ecf0f12e;flex-direction:column;min-width:0;padding-left:clamp(1.25rem,2.5vw,2rem);display:flex}.bp .contact-intro-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:#ecf0f18c;margin:0}.bp .contact-intro-support{color:#ecf0f1c7;max-width:min(42ch,100%);font-size:var(--t-body);margin:0;line-height:1.55}.bp .contact-stage{grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}.bp .contact-panel{gap:var(--s-6);background:#ecf0f109;border:1px solid #ecf0f133;flex-direction:column;padding:clamp(1.35rem,2.8vw,2rem);display:flex}.bp .contact-panel-head{justify-content:space-between;gap:var(--s-3);padding-bottom:var(--s-4);border-bottom:1px solid #ecf0f124;flex-wrap:wrap;display:flex}.bp .contact-panel-head .label{color:#ecf0f18c}.bp .contact-panel-meta{color:#ecf0f166}.bp .contact-rail{flex-direction:column;gap:clamp(1.25rem,2.5vw,1.75rem);display:flex}.bp .contact-rail-block{background:#0000001f;border:1px solid #ecf0f129;padding:clamp(1.15rem,2.2vw,1.5rem)}.bp .contact-rail-label{margin:0 0 var(--s-4);color:#ecf0f180}.bp .contact-mail{align-items:flex-start;gap:var(--s-3);width:100%;color:var(--paper);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.bp .contact-mail-addr{font-family:var(--font-plex-mono),monospace;letter-spacing:.02em;word-break:break-all;transition:border-color var(--d-fast)var(--ease);border-bottom:1px solid #ecf0f147;padding-bottom:.35rem;font-size:clamp(.8rem,1.3vw,.95rem);line-height:1.4}.bp .contact-mail:hover .contact-mail-addr,.bp .contact-mail.is-copied .contact-mail-addr{border-bottom-color:var(--paper)}.bp .contact-mail-action{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:#ecf0f18c;align-items:center;gap:.45rem;display:inline-flex}.bp .contact-mail.is-copied .contact-mail-action{color:var(--paper)}.bp .contact-channels{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bp .contact-channels li+li{border-top:1px solid #ecf0f11f}.bp .contact-channels a,.bp .contact-channels .contact-channel-btn{justify-content:space-between;align-items:center;gap:var(--s-4);color:#ecf0f1c7;width:100%;transition:color var(--d-fast)var(--ease);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:.85rem 0;text-decoration:none;display:flex}.bp .contact-channels a:hover,.bp .contact-channels .contact-channel-btn:hover{color:var(--paper)}.bp .contact-channel-main{font-size:var(--t-small);align-items:center;gap:.65rem;display:inline-flex}.bp .contact-channel-note{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:#ecf0f166;margin-left:.15rem}.bp .contact-channels .arw{width:.9em;height:.9em;transition:transform var(--d-base)var(--ease)}.bp .contact-channels a:hover .arw,.bp .contact-channels .contact-channel-btn:hover .arw{transform:translate(3px,-3px)}.bp .contact-form{gap:var(--s-5);flex-direction:column;display:flex}.bp .contact-form .field{gap:var(--s-2);flex-direction:column;display:flex}.bp .contact-form label{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:#ecf0f18c}.bp .contact-form input,.bp .contact-form textarea{font-family:inherit;font-size:var(--t-body);color:var(--paper);border-radius:var(--radius);padding:var(--s-3);resize:vertical;transition:border-color var(--d-fast)var(--ease),background var(--d-fast)var(--ease);background:#ecf0f10a;border:1px solid #ecf0f138}.bp .contact-form input::placeholder,.bp .contact-form textarea::placeholder{color:#ecf0f159}.bp .contact-form input:focus-visible,.bp .contact-form textarea:focus-visible{border-color:var(--paper);background:#ecf0f112;outline:none}.bp .contact-form input[aria-invalid=true],.bp .contact-form textarea[aria-invalid=true]{border-color:#e0736b}.bp .contact-form input:disabled,.bp .contact-form textarea:disabled{opacity:.5;cursor:not-allowed}.bp .contact-form .field-error{font-size:var(--t-small);color:#e0736b}.bp .contact-form .form-banner{font-size:var(--t-small);padding:var(--s-3)var(--s-4);border-radius:var(--radius);border:1px solid}.bp .contact-form .form-banner-error{color:#e0736b;background:#e0736b14;border-color:#e0736b66}.bp .contact-form .form-banner-success{color:var(--paper);background:#ecf0f10f;border-color:#ecf0f159}.bp .contact-form .btn{align-self:flex-start}.bp .contact-form .hp-field{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:960px){.bp .contact-intro{gap:var(--s-6);grid-template-columns:1fr;align-items:start}.bp .contact-intro-lead{max-width:none;font-size:clamp(1.85rem,7vw,2.75rem)}.bp .contact-intro-aside{padding-left:0;padding-top:var(--s-5);border-top:1px solid #ecf0f129;border-left:0}.bp .contact-intro-support{max-width:42ch}.bp .contact-stage{grid-template-columns:1fr}}@media (max-width:480px){.bp .contact-channel-note{display:none}.bp .contact-channels a{min-height:2.75rem}.bp .contact-form .btn{width:100%}}.bp .footer{z-index:2;border-top:var(--hair-faint);position:relative}.bp .footer .container{padding-top:var(--s-6);padding-bottom:var(--s-6);justify-content:space-between;align-items:center;gap:var(--s-4)var(--s-5);flex-wrap:wrap;display:flex}.bp .footer nav{gap:var(--s-4)var(--s-5);flex-wrap:wrap;display:flex}.bp .footer nav a,.bp .footer nav button{cursor:pointer;min-height:2.5rem;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:.4em;padding:0;display:inline-flex}.bp .footer a:hover,.bp .footer button:hover{color:var(--ink)}@media (max-width:640px){.bp .footer .container{flex-direction:column;align-items:flex-start}}.bp .cs-hero{padding-top:calc(var(--nav-h) + clamp(3rem,7vw,5.5rem));padding-bottom:var(--s-8)}.bp .cs-back{align-items:center;gap:var(--s-3);margin-bottom:var(--s-7);display:inline-flex}.bp .cs-back .arw{transition:transform var(--d-base)var(--ease)}.bp .cs-back:hover .arw{transform:translate(-4px)}.bp .cs-title{letter-spacing:-.036em;color:var(--ink);max-width:18ch;font-size:clamp(2.25rem,6vw,4.25rem);font-weight:500;line-height:1.04}.bp .cs-tagline{font-size:var(--t-lead);color:var(--ink-secondary);max-width:52ch;margin-top:var(--s-5)}.bp .cs-facts{gap:var(--s-5);margin-top:var(--s-8);padding-top:var(--s-5);border-top:var(--hair);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.bp .cs-facts div{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.bp .cs-facts strong,.bp .cs-fact-value{font-weight:400;font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink);overflow-wrap:break-word;line-height:1.5}.bp .cs-fact-stack .ps-stack{color:var(--ink)}@media (max-width:760px){.bp .cs-facts{gap:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.bp .cs-facts{grid-template-columns:1fr}}.bp .cs-plate{margin-bottom:var(--section-y)}.bp .cs-block{padding:var(--s-7)0;border-top:var(--hair-faint);grid-template-columns:200px minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);display:grid}.bp .cs-block h2{letter-spacing:.01em;color:var(--ink);padding-top:.15rem;font-size:1.0625rem;font-weight:500}.bp .cs-block .num{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;color:var(--ink-tertiary);margin-bottom:var(--s-2);font-weight:400;display:block}.bp .cs-block .body{gap:var(--s-4);flex-direction:column;display:flex}.bp .cs-block p{color:var(--ink-secondary);max-width:66ch}.bp .cs-block ul{gap:var(--s-3);flex-direction:column;max-width:66ch;display:flex}.bp .cs-block ul li{padding-left:var(--s-5);color:var(--ink-secondary);font-size:var(--t-small);position:relative}.bp .cs-block ul li:before{content:"";background:var(--muted);width:8px;height:1px;position:absolute;top:.68em;left:0}.bp .cs-block ul li strong{color:var(--ink);font-weight:500}@media (max-width:800px){.bp .cs-block{gap:var(--s-4);padding:var(--s-6)0;grid-template-columns:1fr}}.bp .cs-next{justify-content:space-between;align-items:center;gap:var(--s-5);padding:var(--s-7)0;border-top:var(--hair);flex-wrap:wrap;display:flex}.bp .pm-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:clamp(.4rem,1.2vw,1rem);overflow:auto}.bp .pm-dialog:not([open]){display:none}.bp .pm-dialog[open]{justify-content:center;align-items:center;display:flex}.bp .pm-dialog::backdrop{background:radial-gradient(ellipse 80% 60% at 50% 40%,#2c3e502e,transparent 70%),color-mix(in srgb,var(--bg)28%,#000000c7);-webkit-backdrop-filter:blur(6px)}.bp .pm-panel{--pm-inset:clamp(1.15rem,2.2vw,1.75rem);width:min(920px,100%);max-height:calc(100dvh - 1.25rem);padding:var(--pm-inset);padding-top:calc(var(--pm-inset) + .15rem);background:var(--bg);color:var(--ink);border:var(--hair);border-radius:var(--radius);box-shadow:var(--shadow-md);overscroll-behavior:contain;position:relative;overflow:auto}.bp .pm-mark{pointer-events:none;opacity:.55;width:14px;height:14px;position:absolute}.bp .pm-mark:before,.bp .pm-mark:after{content:"";background:var(--ink-tertiary);position:absolute}.bp .pm-mark:before{width:14px;height:1px;top:6px;left:0}.bp .pm-mark:after{width:1px;height:14px;top:0;left:6px}.bp .pm-mark-tl{top:10px;left:10px}.bp .pm-mark-tr{top:10px;right:10px}.bp .pm-mark-bl{bottom:10px;left:10px}.bp .pm-mark-br{bottom:10px;right:10px}.bp .pm-mast{justify-content:space-between;align-items:center;gap:var(--s-3)var(--s-5);padding-bottom:var(--s-4);border-bottom:var(--hair);flex-wrap:wrap;margin-bottom:clamp(1.25rem,3vw,2rem);display:flex}.bp .pm-mast-left,.bp .pm-mast-right{align-items:center;gap:var(--s-3)var(--s-4);flex-wrap:wrap;min-width:0;display:flex}.bp .pm-sheet{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .pm-sheet-id{font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-secondary);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:28ch;overflow:hidden}.bp .pm-mast-meta{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .pm-x{width:2.15rem;height:2.15rem;margin-left:var(--s-2);color:var(--ink-secondary);border:var(--hair);border-radius:var(--radius);transition:color var(--d-fast)var(--ease),border-color var(--d-fast)var(--ease),background var(--d-fast)var(--ease);justify-content:center;align-items:center;display:inline-flex}.bp .pm-x:hover{color:var(--ink);border-color:var(--ink);background:var(--paper-hi)}.bp .pm-x:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.bp .pm-title{letter-spacing:-.028em;color:var(--ink);-webkit-hyphens:none;hyphens:none;max-width:none;margin:0 0 clamp(1.15rem,2.2vw,1.65rem);font-size:clamp(1.65rem,1.05rem + 1.8vw,2.35rem);font-weight:500;line-height:1.2}.bp .pm-title-line{display:inline}.bp .pm-body{grid-template-columns:minmax(0,1.55fr) minmax(15rem,.78fr);align-items:start;gap:clamp(1.5rem,4vw,3.25rem);display:grid}.bp .pm-visual{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.bp .pm-frame{aspect-ratio:16/10;border:var(--hair);border-radius:var(--radius);background:linear-gradient(to right,var(--rule-faint)1px,transparent 1px)0 0/36px 36px,linear-gradient(to bottom,var(--rule-faint)1px,transparent 1px)0 0/36px 36px,var(--paper-hi);box-shadow:var(--shadow-xs);position:relative;overflow:hidden}.bp .pm-frame-media{position:absolute;inset:0}.bp .pm-frame img{object-fit:cover}.bp .pm-frame-fallback{justify-content:flex-end;gap:var(--s-2);padding:var(--s-5);flex-direction:column;display:flex;position:absolute;inset:0}.bp .pm-frame-fallback span{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .pm-frame-fallback strong{letter-spacing:-.02em;color:var(--ink);max-width:14ch;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:500;line-height:1.15}.bp .pm-gallery-bar{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.bp .pm-strip{gap:var(--s-3);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--rule)transparent;padding:.15rem .05rem .45rem;display:flex;overflow-x:auto}.bp .pm-strip::-webkit-scrollbar{height:4px}.bp .pm-strip::-webkit-scrollbar-thumb{background:var(--rule);border-radius:999px}.bp .pm-strip-item{align-items:stretch;gap:var(--s-2);text-align:left;min-width:0;color:var(--ink-tertiary);cursor:pointer;scroll-snap-align:start;background:0 0;border:0;flex:none;grid-template-columns:auto minmax(0,1fr);padding:0;display:grid}.bp .pm-strip-num{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.08em;padding-top:.15rem}.bp .pm-strip-thumb{border:var(--hair);border-radius:var(--radius);background:var(--paper-hi);width:clamp(4.85rem,12vw,6.25rem);height:clamp(3.15rem,7.5vw,4rem);transition:border-color var(--d-fast)var(--ease),transform var(--d-fast)var(--ease);position:relative;overflow:hidden}.bp .pm-strip-item:hover .pm-strip-thumb{border-color:var(--ink);transform:translateY(-1px)}.bp .pm-strip-item:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.bp .pm-lightbox{z-index:80;background:color-mix(in srgb,var(--bg)18%,#000000e0);-webkit-backdrop-filter:blur(10px);flex-direction:column;animation:.22s pm-backdrop;display:flex;position:fixed;inset:0}.bp .pm-lightbox-close{z-index:2;width:2.35rem;height:2.35rem;color:var(--paper);border-radius:var(--radius);background:color-mix(in srgb,var(--navy)72%,transparent);border:1px solid #ecf0f147;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.85rem;right:.85rem}.bp .pm-lightbox-close:hover{background:color-mix(in srgb,var(--navy)90%,transparent);border-color:#ecf0f18c}.bp .pm-lightbox-close:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.bp .pm-lightbox-stage{align-items:center;gap:var(--s-3);touch-action:pan-y;flex:1;grid-template-columns:auto minmax(0,1fr) auto;min-height:0;padding:3rem 1rem 1rem;display:grid}.bp .pm-lightbox-frame{width:100%;height:min(58vh,36rem);min-height:14rem;position:relative}.bp .pm-lightbox-frame img{object-fit:contain}.bp .pm-lightbox-fallback{color:var(--ink-tertiary);font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;place-items:center;margin:0;display:grid;position:absolute;inset:0}.bp .pm-lightbox-nav{width:2.6rem;height:2.6rem;color:var(--paper);border-radius:var(--radius);background:color-mix(in srgb,var(--navy)72%,transparent);transition:background var(--d-fast)var(--ease),border-color var(--d-fast)var(--ease);border:1px solid #ecf0f147;justify-content:center;align-items:center;display:inline-flex}.bp .pm-lightbox-nav:hover{background:color-mix(in srgb,var(--navy)90%,transparent);border-color:#ecf0f18c}.bp .pm-lightbox-nav:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.bp .pm-lightbox-foot{align-items:center;gap:var(--s-3);flex-direction:column;padding:0 1rem 1.15rem;display:flex}.bp .pm-lightbox-index{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.14em;color:#ecf0f1b8}.bp .pm-lightbox-strip{scrollbar-width:thin;scrollbar-color:#ecf0f159 transparent;gap:.45rem;max-width:100%;padding-bottom:.2rem;display:flex;overflow-x:auto}.bp .pm-lightbox-thumb{border-radius:var(--radius);opacity:.55;cursor:pointer;background:0 0;border:1px solid #ecf0f138;flex:none;width:3.5rem;height:2.35rem;padding:0;position:relative;overflow:hidden}.bp .pm-lightbox-thumb.is-active{opacity:1;border-color:var(--paper)}.bp .pm-lightbox-thumb:focus-visible{outline:2px solid var(--paper);outline-offset:2px}@media (max-width:860px){.bp .pm-lightbox-stage{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;padding:3.25rem .75rem .5rem}.bp .pm-lightbox-nav.is-prev{justify-self:start}.bp .pm-lightbox-nav.is-next{justify-self:end;margin-top:-.5rem}.bp .pm-lightbox-frame{order:-1;height:min(48vh,28rem)}}.bp .pm-aside{gap:var(--s-5);flex-direction:column;min-width:0;padding-top:.15rem;display:flex}.bp .pm-lede{letter-spacing:-.015em;color:var(--ink);max-width:28ch;margin:0;font-size:clamp(1.05rem,.95rem + .4vw,1.2rem);font-weight:500;line-height:1.35}.bp .pm-about{color:var(--ink-secondary);font-size:var(--t-small);max-width:38ch;margin:0;line-height:1.65}.bp .pm-facts{gap:var(--s-4);padding:var(--s-5)0 0;border-top:var(--hair-faint);flex-direction:column;margin:0;display:flex}.bp .pm-facts>div{gap:var(--s-3);grid-template-columns:4.25rem minmax(0,1fr);align-items:start;display:grid}.bp .pm-facts dt{font-family:var(--font-plex-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-tertiary)}.bp .pm-facts dd,.bp .pm-fact-value{font-family:var(--font-plex-mono),monospace;font-size:var(--t-small);color:var(--ink-secondary);overflow-wrap:break-word;min-width:0;margin:0;line-height:1.55}.bp .pm-facts-stack .ps-stack{width:100%}.bp .pm-actions{align-items:center;gap:var(--s-4)var(--s-5);padding-top:var(--s-5);border-top:var(--hair-faint);flex-wrap:wrap;margin-top:auto;display:flex}.bp .pm-action-disabled{opacity:.4;pointer-events:none;cursor:not-allowed;box-shadow:none}.bp .pm-dismiss{cursor:pointer;background:0 0;border:0;padding:0}@media (max-width:860px){.bp .pm-body{gap:var(--s-6);grid-template-columns:1fr}.bp .pm-title{font-size:clamp(1.5rem,5.5vw,2rem)}.bp .pm-lede,.bp .pm-about{max-width:none}.bp .pm-sheet-id{max-width:18ch}.bp .pm-mast-meta:nth-child(2){display:none}}@media (prefers-reduced-motion:no-preference){.bp .pm-dialog[open]::backdrop{animation:.32s pm-backdrop}}@keyframes pm-backdrop{0%{opacity:0}to{opacity:1}}.bp .r{opacity:0;transition:opacity var(--d-slow)var(--ease),transform var(--d-slow)var(--ease);will-change:opacity,transform;transform:translateY(24px)}.bp .r.is-in{opacity:1;will-change:auto;transform:none}.bp .r.r-gsap{will-change:opacity,transform;transition:none}.bp .r.r-gsap.is-in{will-change:auto}.bp .r-d1{transition-delay:60ms}.bp .r-d2{transition-delay:.12s}.bp .r-d3{transition-delay:.18s}.bp .r-d4{transition-delay:.24s}.bp .hero-load{opacity:0;transition:opacity .78s var(--ease),transform .78s var(--ease);transform:translateY(16px)}.bp.is-ready:not(.has-gsap-load) .hero-load{opacity:1;transform:none}.bp.is-ready:not(.has-gsap-load) .hero-eyebrow{transition-delay:.1s}.bp.is-ready:not(.has-gsap-load) .hero-body{transition-delay:.56s}.bp.is-ready:not(.has-gsap-load) .hero-dim{transition-delay:.68s}.bp .hero h1 .ln{display:block;overflow:hidden}.bp .hero h1 .ln>span{transition:transform .9s var(--ease);display:block;transform:translateY(105%)}.bp.is-ready:not(.has-gsap-load) .hero h1 .ln:first-child>span{transition-delay:.18s;transform:none}.bp.is-ready:not(.has-gsap-load) .hero h1 .ln:nth-child(2)>span{transition-delay:.26s;transform:none}.bp.is-ready:not(.has-gsap-load) .hero h1 .ln:nth-child(3)>span{transition-delay:.34s;transform:none}.bp .nav{opacity:0;transition:opacity .6s var(--ease)40ms,background var(--d-base)var(--ease),border-color var(--d-base)var(--ease)}.bp.is-ready:not(.has-gsap-load) .nav{opacity:1}.bp.has-gsap-load .hero-load,.bp.has-gsap-load .nav{transition:none}.bp.has-gsap-load .hero h1 .ln>span{transition:none;transform:none}.bp .page-transition{will-change:opacity,transform;min-height:40vh}.bp .hero-illustration{will-change:transform,opacity}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bp,.bp *,.bp :before,.bp :after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bp .r,.bp .hero-load{opacity:1!important;transform:none!important}.bp .hero h1 .ln>span{transform:none!important}.bp .nav{opacity:1!important}.bp .page-transition{opacity:1!important;transform:none!important}.bp .menu li a{transform:none!important}.bp .blueprint-grid{opacity:.18}}.bp .resume-page{padding-bottom:var(--s-8);background:#0c1218}.bp .resume-toolbar{padding-top:calc(var(--nav-h) + var(--s-5));padding-bottom:var(--s-4)}.bp .resume-toolbar-inner{justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.bp .resume-doc{--resume-ink:#ecf0f1;--resume-ink-2:#c5d0d8;--resume-ink-3:#8b9aab;--resume-rule:#ecf0f173;--resume-paper:#121a22;max-width:52rem;color:var(--resume-ink);background:var(--resume-paper);border:1px solid #ecf0f11f;margin-inline:auto;padding:clamp(1.35rem,3vw,2rem) clamp(1.25rem,3vw,2rem);font-size:1rem;line-height:1.45;box-shadow:0 18px 50px #00000059}.bp .resume-doc-header{text-align:center;border-bottom:0;margin-bottom:1rem;padding-bottom:0}.bp .resume-doc-name{letter-spacing:.04em;text-transform:uppercase;color:var(--resume-ink);margin:0 0 .3rem;font-size:clamp(1.5rem,2.5vw,1.85rem);font-weight:700;line-height:1.15}.bp .resume-doc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--resume-ink-2);margin:0 0 .65rem;font-size:.95rem;font-weight:600}.bp .resume-doc-contact-block{flex-direction:column;gap:.4rem;width:100%;display:flex}.bp .resume-doc-rule{background:var(--resume-rule);width:100%;height:1px;display:block}.bp .resume-doc-contact{font-family:var(--font-plex-mono),monospace;color:var(--resume-ink-2);margin:0;font-size:.8rem;line-height:1.45}.bp .resume-doc-contact a{color:inherit;text-underline-offset:2px;text-decoration:underline}.bp .resume-doc-sep{opacity:.55}.bp .resume-doc-section{margin-top:.95rem}.bp .resume-doc-section h2{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--resume-rule);color:var(--resume-ink);margin:0 0 .45rem;padding-bottom:.22rem;font-size:.85rem;font-weight:700}.bp .resume-doc-section>p{color:var(--resume-ink-2);margin:0 0 .5rem;font-size:.92rem;line-height:1.45}.bp .resume-doc-entry{margin-bottom:.55rem}.bp .resume-doc-line{color:var(--resume-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 .2rem;font-size:.92rem;display:flex}.bp .resume-doc-role{color:var(--resume-ink-2);font-weight:400}.bp .resume-doc-period{font-family:var(--font-plex-mono),monospace;white-space:nowrap;color:var(--resume-ink-3);font-size:.78rem}.bp .resume-doc-entry ul{margin:.12rem 0 0;padding-left:1.1rem}.bp .resume-doc-entry li{color:var(--resume-ink-2);margin-bottom:.2rem;font-size:.9rem;line-height:1.4}.bp .resume-doc-edu-line{color:var(--resume-ink-2);margin:0;font-size:.92rem;line-height:1.4;display:block}.bp .resume-doc a{color:var(--resume-ink)}.bp .resume-doc-compact{max-width:none;margin:0;box-shadow:0 12px 40px #00000059}.bp .resume-footnote{margin-top:var(--s-5);font-size:var(--t-small);color:#ecf0f173}.bp .resume-gate-dialog{width:min(720px,100vw - 1.5rem);max-width:none;max-height:calc(100dvh - 1.5rem);color:inherit;background:0 0;border:0;margin:auto;padding:0;overflow:auto}.bp .resume-gate-dialog:not([open]){display:none}.bp .resume-gate-dialog[open]{justify-content:center;align-items:center;display:flex}.bp .resume-gate-dialog::backdrop{background:color-mix(in srgb,var(--bg)30%,#000000b8);-webkit-backdrop-filter:blur(6px)}.bp .resume-gate-panel{width:100%;max-height:calc(100dvh - 1.5rem);color:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-md);background:#0c1218;border:1px solid #ecf0f124;padding:clamp(1.1rem,2.5vw,1.6rem);overflow:auto}.bp .resume-gate-head{justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5);align-items:flex-start;display:flex}.bp .resume-gate-head h2{letter-spacing:-.02em;color:var(--paper);margin:.2rem 0 .45rem;font-size:clamp(1.2rem,2.4vw,1.55rem)}.bp .resume-gate-lead{color:#ecf0f19e;font-size:var(--t-small);max-width:42ch;margin:0;line-height:1.45}.bp .resume-gate-x{width:2.4rem;height:2.4rem;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #ecf0f138;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bp .resume-gate-x:hover{background:#ecf0f10f}.bp .resume-gate-actions{margin-bottom:var(--s-5);flex-wrap:wrap;gap:.65rem;display:flex}.bp .resume-gate-actions .btn{align-items:center;gap:.45rem;display:inline-flex}.bp .resume-gate-paper-label{color:#ecf0f180;margin-bottom:.65rem}.bp .resume-gate-paper-wrap{border-radius:var(--radius);background:linear-gradient(#ecf0f10a,#0000 28%),#0a1016;border:1px solid #ecf0f11a;padding:clamp(.85rem,2vw,1.25rem)}@media print{@page{margin:0;size:auto}.bp .nav,.bp .menu,.bp .footer,.bp .no-print,.bp .blueprint-grid,.bp .resume-toolbar,.bp .resume-footnote,.bp .resume-gate-head,.bp .resume-gate-actions,.bp .resume-gate-paper-label{display:none!important}.bp .resume-page{background:#fff;padding:0}.bp .resume-doc{--resume-ink:#111;--resume-ink-2:#222;--resume-ink-3:#333;--resume-rule:#222;--resume-paper:#fff;max-width:none;box-shadow:none;color:#111;background:#fff;border:none;padding:.6in}.bp .resume-doc a{color:#111;text-decoration:none}body.is-resume-printing *{visibility:hidden!important}body.is-resume-printing .resume-print-root,body.is-resume-printing .resume-print-root *{visibility:visible!important}body.is-resume-printing .resume-print-root{background:#fff;width:100%;position:absolute;top:0;left:0}body.is-resume-printing .resume-gate-dialog,body.is-resume-printing .resume-gate-panel,body.is-resume-printing .resume-gate-paper-wrap{all:unset;display:block}body.is-resume-printing .resume-gate-dialog{position:static}}
