.canvas-page{position:relative;min-height:100vh;min-height:100dvh;min-height:100lvh;width:100%;overflow:visible;background:#fbfbe3;color:#1c1c1a}.canvas-page:before{content:"";z-index:1;pointer-events:none;height:constant(safe-area-inset-top);height:env(safe-area-inset-top,0)}.canvas-bg,.canvas-page:before{position:fixed;top:0;left:0;right:0;background:#fbfbe3}.canvas-bg{bottom:0;z-index:0;overflow:hidden}.canvas-bg-media,.canvas-bg-video{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;visibility:hidden;pointer-events:none;z-index:0;will-change:opacity,visibility;backface-visibility:hidden;-webkit-backface-visibility:hidden}.canvas-bg-media .canvas-bg-image,.canvas-bg-still,.canvas-bg-video{filter:saturate(.88) contrast(1.02)}.canvas-bg-video{object-fit:cover;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.canvas-bg-video::-webkit-media-controls,.canvas-bg-video::-webkit-media-controls-enclosure,.canvas-bg-video::-webkit-media-controls-panel,.canvas-bg-video::-webkit-media-controls-play-button,.canvas-bg-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0;pointer-events:none}.canvas-bg-image{object-fit:cover;object-position:center center}.canvas-bg-media.is-active{z-index:1;will-change:auto}.canvas-bg-media.is-active,.canvas-page--bg-burning .canvas-bg-incoming,.canvas-page--bg-burning .canvas-bg-outgoing{opacity:1;visibility:visible}.canvas-page--bg-burning .canvas-bg-incoming{z-index:1}.canvas-page--bg-burning .canvas-bg-outgoing{z-index:2;will-change:clip-path}.canvas-ascii-burn{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;display:block;opacity:0;will-change:opacity}.canvas-ascii-burn.is-active{opacity:1}.canvas-bg-toggle{display:inline-flex;position:absolute;right:.75rem;bottom:.5rem;z-index:3;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(255,255,255,.18);color:rgba(28,28,26,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.canvas-bg-toggle:focus-visible,.canvas-bg-toggle:hover{background:rgba(255,255,255,.32);border-color:rgba(255,255,255,.65);color:#1c1c1a;outline:none}.canvas-bg-toggle:disabled{cursor:default;opacity:.7}.canvas-layout{position:relative;z-index:2;display:grid;grid-template-columns:1fr;min-height:100vh;min-height:100dvh;width:100%;max-width:78rem;margin:0 auto;padding:1.25rem 1.25rem 2.5rem;gap:1.5rem;align-items:flex-start;justify-items:start}@media (min-width:900px){.canvas-layout{grid-template-columns:minmax(18rem,26rem) 1fr;padding:1.75rem 2.25rem 3rem;gap:2rem;align-items:start}}.canvas-copy{position:relative;width:15rem;max-width:24rem;padding:.85rem 1rem 1.85rem;border-radius:.95rem;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 40px rgba(28,28,26,.1),inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(28,28,26,.04);backdrop-filter:blur(20px) saturate(165%);-webkit-backdrop-filter:blur(20px) saturate(165%);transition:background .28s ease,color .28s ease}@media (hover:hover) and (pointer:fine){.canvas-copy:hover{background:rgba(236,235,227,.94)}.canvas-copy:hover .canvas-lede{color:rgba(28,28,26,.9)}.canvas-copy:hover .canvas-link-meta{color:rgba(28,28,26,.78)}}.canvas-brand-row{display:flex;align-items:center;gap:.55rem;margin:0 0 .4rem}.canvas-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:2.85rem;height:2.85rem;flex-shrink:0;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.4);overflow:hidden}.canvas-brand-icon-img{width:2.35rem;height:2.35rem;object-fit:cover;border-radius:999px}.canvas-brand{font-family:var(--font-brand),"Instrument Serif",Georgia,serif;font-size:clamp(1.25rem,3vw,1.55rem);font-weight:400;letter-spacing:-.02em;margin:0;color:#5f7a5e;line-height:1.15}.canvas-lede{font-size:.92rem;line-height:1.45;color:rgba(28,28,26,.78);margin:0 0 .25rem;transition:color .28s ease}.canvas-lede-mobile{display:none}.canvas-lede-building{margin:0}.canvas-copy-intro{display:flex;align-items:flex-start;gap:.65rem}.canvas-copy-intro-text{flex:1;min-width:0}.canvas-mobile-toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-top:.1rem;border:1px solid rgba(28,28,26,.1);border-radius:999px;background:rgba(255,255,255,.55);color:rgba(28,28,26,.72);cursor:pointer;transition:background .2s ease,transform .25s ease}.canvas-mobile-toggle:focus-visible,.canvas-mobile-toggle:hover{background:rgba(255,255,255,.85);color:#1c1c1a;outline:none}.canvas-mobile-toggle-icon{transition:transform .25s ease}.canvas-copy--menu-open .canvas-mobile-toggle-icon{transform:rotate(180deg)}.canvas-copy-menu{overflow:hidden}.canvas-copy-menu-inner{padding-top:.85rem}@media (min-width:900px){.canvas-lede-building{margin:0 0 .95rem}.canvas-block--projects{min-height:22rem}.canvas-copy-menu-inner{padding-top:0}}.canvas-inline{color:#5f7a5e;border-bottom:1px solid rgba(95,122,94,.35)}.canvas-inline.is-active,.canvas-inline:focus-visible,.canvas-inline:hover{border-bottom-color:#5f7a5e;outline:none}.canvas-inline--caruki{display:inline-flex;align-items:center;gap:.28em;border-bottom:none}.canvas-inline--caruki .canvas-inline-text{border-bottom:1px solid rgba(95,122,94,.35)}.canvas-inline--caruki.is-active .canvas-inline-text,.canvas-inline--caruki:focus-visible .canvas-inline-text,.canvas-inline--caruki:hover .canvas-inline-text{border-bottom-color:#5f7a5e}.canvas-lede-caruki-mark{width:1.05em;height:1.05em;display:block;flex-shrink:0;border-radius:.22em;box-shadow:0 1px 2px rgba(28,28,26,.2),inset 0 1px 0 rgba(255,255,255,.28)}.canvas-block{margin-bottom:.95rem}.canvas-block:last-child{margin-bottom:0}.canvas-block--projects{touch-action:pan-y}.canvas-label-row{display:flex;align-items:center;justify-content:flex-start;gap:.4rem;margin:0 0 .65rem}.canvas-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(28,28,26,.72);font-weight:600;margin:0 0 .65rem}.canvas-label-row .canvas-label{margin:0}.canvas-projects-next{display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;border-radius:999px;border:1px solid rgba(28,28,26,.12);background:#ecebe3;color:rgba(28,28,26,.7);cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease,transform .25s ease}.canvas-projects-next:focus-visible,.canvas-projects-next:hover{background:#e4e3da;color:#1c1c1a;outline:none}.canvas-projects-next.is-flipped{transform:rotate(180deg)}.canvas-preview-frame--plain{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:1.1rem 1.15rem;aspect-ratio:16/10;background:linear-gradient(160deg,rgba(255,255,255,.72),rgba(236,235,227,.9))}.canvas-preview-plain-title{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.03em;color:#1c1c1a}.canvas-preview-plain-meta{margin:.35rem 0 0;font-size:.85rem;color:rgba(28,28,26,.62)}.canvas-certs{width:min(100%,26rem);text-align:left;padding:1rem 1.05rem 1.05rem;border-radius:.95rem;background:rgba(255,255,255,.72);border:1px solid rgba(28,28,26,.08);box-shadow:0 18px 50px rgba(28,28,26,.1),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(10px)}.canvas-certs-heading{margin:0 0 .9rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(28,28,26,.58)}.canvas-certs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.canvas-cert-item{display:grid;grid-template-columns:1.35rem 1fr;gap:.75rem;align-items:flex-start}.canvas-cert-logo{margin-top:.15rem;flex-shrink:0}.canvas-cert-copy{min-width:0}.canvas-cert-title{margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;color:#1c1c1a}.canvas-cert-issuer{margin:.28rem 0 0;font-size:.84rem;color:rgba(28,28,26,.72)}.canvas-cert-id,.canvas-cert-meta{margin:.18rem 0 0;font-size:.78rem;color:rgba(28,28,26,.5)}.canvas-cert-item--soon .canvas-cert-title{color:rgba(28,28,26,.88)}.canvas-cert-soon{margin:.35rem 0 0;font-size:.76rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#5f7a5e}.canvas-projects-swap{overflow:hidden}.canvas-mobile-preview-spacer{width:2rem;height:2rem}.canvas-mobile-preview-body .canvas-certs{width:100%;margin:0;box-shadow:none}.canvas-mobile-preview-body .canvas-volunteer.canvas-certs{max-height:min(62vh,36rem)}.canvas-volunteer-category{margin:.55rem 0 0;font-size:.8rem;font-weight:550;color:rgba(28,28,26,.62)}.canvas-volunteer-duties{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.canvas-volunteer-duties li{position:relative;padding-left:.85rem;font-size:.86rem;line-height:1.4;color:rgba(28,28,26,.72)}.canvas-volunteer-duties li:before{content:"•";position:absolute;left:0;color:rgba(28,28,26,.45)}.canvas-list{list-style:none;padding:0}.canvas-link,.canvas-list{margin:0;display:flex;flex-direction:column;gap:.15rem}.canvas-link{align-items:flex-start;width:100%;text-align:left;padding:.6rem .85rem;border-radius:.7rem;border:none;background:transparent;cursor:pointer;color:inherit;text-decoration:none;transition:background .2s ease}.canvas-link.is-active,.canvas-link:focus-visible,.canvas-link:hover{background:rgba(255,255,255,.45);outline:none;text-decoration:none}.canvas-link-title{font-size:1.02rem;font-weight:550;letter-spacing:-.02em;color:#1c1c1a}.canvas-link-title,.canvas-link.is-active .canvas-link-title,.canvas-link:hover .canvas-link-title{text-decoration:none;border-bottom:none}.canvas-link-meta{font-size:.84rem;color:rgba(28,28,26,.72);font-weight:450;transition:color .28s ease}.canvas-preview-slot{display:none;position:relative;min-height:16rem;align-items:center;justify-content:center;pointer-events:none;width:100%}.canvas-preview-slot:has(.canvas-preview){pointer-events:auto}@media (min-width:900px){.canvas-preview-slot{display:flex;align-self:start;padding-top:.5rem;justify-content:flex-start;position:relative;min-height:18rem}.canvas-preview{position:absolute;top:.5rem;left:0;width:min(100%,50vw);max-width:42rem}}@media (max-width:899px){.canvas-preview-slot{display:none!important}}.canvas-preview{width:min(100%,42rem)}.canvas-preview--volunteer{position:relative;align-self:flex-start}.canvas-preview-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(255,255,255,.82);color:rgba(28,28,26,.72);box-shadow:0 6px 18px rgba(28,28,26,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.canvas-preview-close:focus-visible,.canvas-preview-close:hover{background:rgba(255,255,255,.95);color:#1c1c1a;border-color:rgba(255,255,255,.75);outline:none}.canvas-preview-close--in-header{flex-shrink:0;position:static;box-shadow:none}.canvas-preview:has(.canvas-preview-frame--resume){width:fit-content;max-width:100%}.canvas-preview-frame{position:relative;width:100%;aspect-ratio:16/10;border-radius:.9rem;overflow:hidden;background:rgba(255,255,255,.35);border:1px solid rgba(28,28,26,.08);box-shadow:0 18px 50px rgba(28,28,26,.12),inset 0 1px 0 rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.canvas-preview-frame--swipeable{touch-action:pan-y;user-select:none;-webkit-user-select:none}.canvas-preview-gallery-count{position:absolute;right:.55rem;bottom:.55rem;z-index:2;padding:.2rem .42rem;border-radius:999px;font-size:.62rem;font-weight:650;letter-spacing:.04em;color:rgba(255,252,245,.95);background:rgba(28,28,26,.62);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.canvas-preview-image{object-fit:cover;object-position:top center}.canvas-preview-gallery{display:flex;flex-direction:column;gap:.5rem;width:100%}.canvas-preview-thumbs{display:flex;gap:.4rem}.canvas-preview-thumb{position:relative;flex:1 1 0;min-width:0;aspect-ratio:16/10;padding:0;border-radius:.45rem;overflow:hidden;border:1px solid rgba(28,28,26,.1);background:rgba(255,255,255,.4);cursor:pointer;opacity:.72;transition:opacity .2s ease,border-color .2s ease,box-shadow .2s ease}.canvas-preview-thumb:focus-visible,.canvas-preview-thumb:hover{opacity:1;outline:none;border-color:rgba(28,28,26,.22)}.canvas-preview-thumb.is-active{opacity:1;border-color:rgba(95,122,94,.7);box-shadow:0 0 0 1px rgba(95,122,94,.35)}.canvas-preview-thumb-img{object-fit:cover;object-position:top center}.canvas-preview-frame--contain{background:#141414}.canvas-preview-image--contain,.canvas-preview-thumb-img--contain{object-fit:contain;object-position:center;padding:.85rem}.canvas-preview-thumb--contain{background:#141414}.canvas-preview-stack{margin-top:.55rem;padding:.7rem .85rem .75rem;border-radius:.95rem;background:rgba(236,235,227,.94);border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 40px rgba(28,28,26,.1),inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(28,28,26,.04);backdrop-filter:blur(20px) saturate(165%);-webkit-backdrop-filter:blur(20px) saturate(165%)}.canvas-preview-stack-label{margin:0 0 .4rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(28,28,26,.48);font-weight:550}.canvas-preview-stack-list{display:flex;flex-wrap:wrap;gap:.38rem .7rem;list-style:none;margin:0;padding:0}.canvas-preview-stack-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:rgba(28,28,26,.82);font-weight:500}.canvas-preview-image-label{position:absolute;left:.55rem;bottom:.55rem;z-index:2;padding:.22rem .48rem;border-radius:.35rem;font-size:.62rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;color:rgba(255,252,245,.95);background:rgba(28,28,26,.72);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px rgba(28,28,26,.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none}.canvas-preview-image-label--logo,.canvas-preview-image-label--progress,.canvas-preview-image-label--waitlist{text-transform:none;letter-spacing:.02em}.canvas-preview-stack-icon{width:.9rem;height:.9rem;object-fit:contain;flex-shrink:0}.canvas-preview-caption{margin:.65rem 0 0;font-size:.8rem;color:rgba(28,28,26,.7);text-align:center;font-weight:500}.canvas-preview-frame--resume{width:auto;height:min(78vh,720px);max-width:min(100%,28rem);aspect-ratio:946/1227}.canvas-preview-image--resume{object-fit:cover;object-position:top center;background:#fff}.canvas-preview-actions{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-top:.15rem}.canvas-preview-download{font-size:.82rem;font-weight:550;color:#5f7a5e;border-bottom:1px solid rgba(95,122,94,.35)}.canvas-preview-download:hover{border-bottom-color:#5f7a5e}.canvas-mobile-preview-scrim{position:fixed;inset:0;z-index:35;border:none;padding:0;background:rgba(28,28,26,.2);backdrop-filter:blur(2px);cursor:pointer}.canvas-mobile-preview-drawer{position:fixed;left:.85rem;right:.85rem;bottom:calc(.5rem + env(safe-area-inset-bottom, 0px));z-index:36;max-height:min(74vh,680px);padding:.75rem .85rem 1rem;border-radius:1.15rem;background:rgba(236,235,227,.96);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid rgba(28,28,26,.1);box-shadow:0 24px 60px rgba(28,28,26,.2),0 8px 24px rgba(28,28,26,.08)}.canvas-mobile-preview-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}.canvas-mobile-preview-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(28,28,26,.1);border-radius:999px;background:rgba(255,255,255,.78);color:rgba(28,28,26,.72);cursor:pointer;text-decoration:none;transition:background .2s ease,color .2s ease}.canvas-mobile-preview-action:focus-visible,.canvas-mobile-preview-action:hover{background:rgba(255,255,255,.95);color:#1c1c1a;outline:none}.canvas-mobile-preview-body{overflow-y:auto;max-height:min(68vh,620px);-webkit-overflow-scrolling:touch;text-align:center}.canvas-mobile-preview-body .canvas-preview{width:100%}.canvas-mobile-preview-body .canvas-preview-frame--mobile{max-height:min(48vh,420px)}.canvas-mobile-preview-body .canvas-preview-frame--resume.canvas-preview-frame--mobile{width:auto;height:min(52vh,520px);max-width:100%;margin-inline:auto}@media (min-width:900px){.canvas-mobile-preview-drawer,.canvas-mobile-preview-scrim{display:none}}.canvas-panel-scrim{position:fixed;inset:0;z-index:40;border:none;padding:0;background:rgba(28,28,26,.12);backdrop-filter:blur(2px);cursor:pointer}.canvas-panel{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(100vw,26rem);background:rgba(236,235,227,.72);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);border-left:1px solid rgba(255,255,255,.45);box-shadow:-16px 0 48px rgba(28,28,26,.1);display:flex;flex-direction:column;overflow:hidden}@media (min-width:900px){.canvas-panel-scrim{background:rgba(28,28,26,.08)}.canvas-panel.canvas-panel--coffee{top:1.35rem;right:1.35rem;bottom:1.35rem;width:min(calc(100vw - 2.7rem),28rem);padding:.7rem;gap:.7rem;border-radius:1.35rem;border:1px solid rgba(255,255,255,.55);background:rgba(236,235,227,.42);backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);box-shadow:0 24px 64px rgba(28,28,26,.14),0 8px 24px rgba(28,28,26,.06),inset 0 1px 0 rgba(255,255,255,.55);overflow:hidden}.canvas-panel--coffee>.canvas-panel-close{top:1.15rem;right:1.15rem}.canvas-panel-coffee-body{display:flex;flex-direction:column;gap:.7rem;flex:1;min-height:0}.canvas-panel--coffee .canvas-panel-map-sticky{position:relative;flex-shrink:0;border:1px solid rgba(255,255,255,.5);border-radius:1.05rem;background:rgba(255,255,255,.28);box-shadow:0 10px 28px rgba(28,28,26,.08),inset 0 1px 0 rgba(255,255,255,.45);overflow:hidden}.canvas-panel--coffee .canvas-panel-map-sticky .canvas-panel-map-inner,.canvas-panel--coffee .canvas-panel-map-sticky .map-container{border-radius:1.05rem!important;overflow:hidden}.canvas-panel--coffee .canvas-panel-scroll{flex:1;min-height:0;margin:0;padding:.85rem .9rem 1rem;border-radius:1.05rem;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.38);backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);box-shadow:0 10px 28px rgba(28,28,26,.07),inset 0 1px 0 rgba(255,255,255,.5)}.canvas-panel--coffee .canvas-coffee-item{background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.55);border-radius:.85rem;box-shadow:0 2px 10px rgba(28,28,26,.04)}.canvas-panel--coffee .canvas-coffee-item.is-active,.canvas-panel--coffee .canvas-coffee-item:hover{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.75)}}@media (max-width:899px){.canvas-panel{width:100%;top:auto;height:min(78vh,640px);border-left:none;border-top:1px solid rgba(28,28,26,.08);border-radius:1.1rem 1.1rem 0 0;box-shadow:0 -12px 40px rgba(28,28,26,.12)}.canvas-panel-coffee-body{display:flex;flex-direction:column;flex:1;min-height:0}}.canvas-panel-head{display:flex;justify-content:flex-end;padding:.85rem 1rem .75rem;flex-shrink:0}.canvas-panel-close{position:absolute;top:.75rem;right:.75rem;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid rgba(28,28,26,.1);background:rgba(255,255,255,.82);color:rgba(28,28,26,.72);border-radius:999px;box-shadow:0 4px 14px rgba(28,28,26,.1);cursor:pointer;transition:background .2s ease,color .2s ease}.canvas-panel-close:hover{background:rgba(255,255,255,.95);color:#1c1c1a}@media (max-width:899px){.canvas-panel--coffee>.canvas-panel-close{top:.85rem;right:.85rem}}.canvas-panel-body{padding:.5rem 1.25rem 1.75rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.canvas-panel-title{font-size:clamp(1.35rem,3vw,1.7rem);font-weight:600;letter-spacing:-.03em;margin:0 0 .85rem;line-height:1.2}.canvas-panel-lede{font-size:.95rem;line-height:1.6;color:rgba(28,28,26,.68);margin:0 0 1.25rem}.canvas-panel--coffee{padding:0}.canvas-panel-map-sticky{position:relative;flex-shrink:0;z-index:2;border-bottom:1px solid rgba(28,28,26,.08);background:rgba(236,235,227,.98)}.canvas-panel-map-sticky .canvas-panel-map-inner,.canvas-panel-map-sticky .map-container{position:relative!important;top:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;width:100%}.canvas-panel-map-photo{position:absolute;top:.65rem;left:.65rem;z-index:4;width:7.5rem;height:7.5rem;border-radius:.75rem;overflow:hidden;border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 28px rgba(28,28,26,.22),inset 0 1px 0 rgba(255,255,255,.45);background:rgba(28,28,26,.12);transition:width .28s ease,height .28s ease,border-radius .28s ease}.canvas-panel-map-photo.is-expanded{width:min(calc(100% - 1.3rem),18.5rem);height:min(calc(100% - 1.3rem),16rem);border-radius:.9rem}.canvas-panel-map-photo-img{object-fit:cover;object-position:center}.canvas-panel-map-photo-expand{position:absolute;right:.35rem;bottom:.35rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(28,28,26,.62);color:rgba(255,252,245,.95);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s ease,border-color .2s ease}.canvas-panel-map-photo-expand:focus-visible,.canvas-panel-map-photo-expand:hover{background:rgba(28,28,26,.82);border-color:rgba(255,255,255,.65);outline:none}.canvas-panel-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.75rem 1.25rem 1.5rem}.canvas-panel-scroll-label{margin-bottom:.65rem}.canvas-social-row{display:flex;align-items:center;gap:.2rem;margin:.1rem -.65rem 0;padding:.1rem .35rem 0}.canvas-icon-link{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:.55rem;color:#1c1c1a;transition:background .2s ease}.canvas-icon-link.is-active,.canvas-icon-link:focus-visible,.canvas-icon-link:hover{background:rgba(255,255,255,.45);outline:none}.canvas-github-preview{width:min(100%,42rem);filter:drop-shadow(0 18px 40px rgba(28,28,26,.12))}.canvas-github-preview [data-slot=github-activity]{width:100%!important;max-width:100%;background:rgba(255,255,255,.92);border:1px solid rgba(28,28,26,.08);box-shadow:0 8px 32px rgba(28,28,26,.06),inset 0 1px 0 rgba(255,255,255,.65)}.canvas-social-card{position:relative;display:flex;flex-direction:column;width:min(100%,22rem);border-radius:1.1rem;overflow:hidden;color:#1c1c1a;text-decoration:none;background:rgba(255,255,255,.92);border:1px solid rgba(28,28,26,.08);box-shadow:0 18px 50px rgba(28,28,26,.12),inset 0 1px 0 rgba(255,255,255,.65);backdrop-filter:blur(10px);transform:translateY(0) rotate(0deg);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease}.canvas-social-card:focus-visible,.canvas-social-card:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 26px 60px rgba(28,28,26,.18),inset 0 1px 0 rgba(255,255,255,.65);outline:none}.canvas-social-card-shot{position:relative;display:block;width:100%;aspect-ratio:1200/826;background:#fff}.canvas-social-card-shot-img{object-fit:cover;object-position:top center}.canvas-social-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1.05rem;border-top:1px solid rgba(28,28,26,.08);font-size:.78rem}.canvas-social-card-handle{color:rgba(28,28,26,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-social-card-cta{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0;font-weight:600;color:#1c1c1a}.canvas-social-card:hover .canvas-social-card-cta svg{transform:translate(1px,-1px)}.canvas-social-card-cta svg{transition:transform .2s ease}.canvas-volunteer-list>li+li{margin-top:.15rem}.canvas-volunteer.canvas-certs{padding:0;width:min(100%,36rem);display:flex;flex-direction:column;max-height:min(78vh,46rem);overflow:hidden}.canvas-volunteer-top{flex-shrink:0;padding:.95rem 1rem .75rem;border-bottom:1px solid rgba(28,28,26,.1);background:rgba(255,255,255,.55)}.canvas-volunteer-top-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.canvas-volunteer-main-heading{margin:0;padding:0;font-size:.92rem;font-weight:650;letter-spacing:-.02em;line-height:1.2;color:#1c1c1a;text-transform:none;border-bottom:none}.canvas-volunteer-jump{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.canvas-volunteer-jump-link{display:inline-flex;align-items:center;padding:.28rem .62rem;border:1px solid rgba(28,28,26,.1);border-radius:999px;background:rgba(255,255,255,.65);font-size:.72rem;font-weight:600;letter-spacing:-.01em;color:rgba(28,28,26,.78);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.canvas-volunteer-jump-link:focus-visible,.canvas-volunteer-jump-link:hover{background:rgba(255,255,255,.95);border-color:rgba(28,28,26,.18);color:#1c1c1a;outline:none}.canvas-volunteer-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.85rem 1rem 1.05rem}.canvas-volunteer-entry{scroll-margin-top:.35rem}.canvas-volunteer-section-head{margin:0 0 .85rem;padding:1.05rem 0 0;border-top:2px solid rgba(28,28,26,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}.canvas-volunteer-section-head--first{margin:0 0 .65rem;padding:0;border-top:none;box-shadow:none}.canvas-volunteer-section-head--first .canvas-volunteer-section-title{margin-top:0}.canvas-volunteer-section-title{margin:.65rem 0 0;font-size:.72rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:rgba(28,28,26,.58)}.canvas-volunteer-links-block{margin-top:.85rem}.canvas-volunteer-links-label{margin:0 0 .45rem;font-size:.68rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:rgba(28,28,26,.52)}.canvas-volunteer-photo{position:relative;width:100%;margin:0 0 .55rem;border-radius:.7rem;overflow:hidden;background:rgba(28,28,26,.04);border:1px solid rgba(28,28,26,.08)}.canvas-volunteer-heading{display:flex;align-items:flex-start;gap:.8rem;margin:0 0 .2rem}.canvas-volunteer-heading-text{min-width:0;flex:1}.canvas-volunteer-heading-text .canvas-volunteer-category{margin-top:.3rem}.canvas-volunteer-photo--portrait{flex-shrink:0;width:5.25rem;height:6.55rem;margin:0;border-radius:.5rem}.canvas-volunteer-body--beside>.canvas-volunteer-credit{margin-top:.35rem}.canvas-volunteer-photo--article{height:13.5rem;max-height:min(32vh,13.5rem)}.canvas-volunteer-photo-img{object-fit:cover}.canvas-volunteer-photo--article .canvas-volunteer-photo-img{object-fit:contain;background:#f4f1ea}.canvas-volunteer-credit{margin:0 0 .65rem;font-size:.68rem;line-height:1.35;color:rgba(28,28,26,.45)}.canvas-volunteer-micro{margin:.55rem 0 0;font-size:.8rem;font-weight:550;line-height:1.42;letter-spacing:-.01em;color:rgba(28,28,26,.78)}.canvas-volunteer-body--beside .canvas-volunteer-micro{margin-top:.65rem}.canvas-volunteer-desc{margin:.5rem 0 0;font-size:.79rem;line-height:1.48;color:rgba(28,28,26,.68)}.canvas-volunteer-media-block{margin:.75rem 0 0}.canvas-volunteer-media{position:relative;width:100%;aspect-ratio:1024/523;border-radius:.6rem;overflow:hidden;border:1px solid rgba(28,28,26,.08);background:#fff}.canvas-volunteer-media-img{object-fit:contain}.canvas-volunteer-media-caption{margin:.3rem 0 0;font-size:.72rem;color:rgba(28,28,26,.5)}.canvas-volunteer-links{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:0;padding:0;list-style:none}.canvas-volunteer-links a{display:inline-flex;align-items:center;gap:.15rem;font-size:.78rem;font-weight:600;color:#1c1c1a;text-decoration:none;border-bottom:1px solid rgba(28,28,26,.2)}.canvas-volunteer-links a:hover{border-bottom-color:#1c1c1a}.canvas-coffee-thumb{flex-shrink:0;width:3.4rem;height:3.4rem;border-radius:.55rem;overflow:hidden;background:rgba(28,28,26,.06);border:1px solid rgba(28,28,26,.08)}.canvas-coffee-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.canvas-coffee-copy{min-width:0;flex:1}.canvas-coffee-item.is-featured{background:rgba(255,246,224,.62);border-color:rgba(196,146,30,.38)}.canvas-coffee-item.is-featured.is-active,.canvas-coffee-item.is-featured:hover{background:rgba(255,246,224,.86);border-color:rgba(196,146,30,.55)}.canvas-panel-map-skeleton{display:flex;align-items:center;justify-content:center;height:220px;font-size:.85rem;color:rgba(28,28,26,.5)}.canvas-panel-media{border-radius:.75rem;overflow:hidden;border:1px solid rgba(28,28,26,.08);margin-bottom:1rem;background:rgba(255,255,255,.4)}.canvas-panel-image{width:100%;height:auto;display:block}.canvas-panel-cta,.canvas-panel-more{display:inline-flex;align-items:center;margin-top:.5rem;font-size:.9rem;font-weight:500;color:#5f7a5e;border-bottom:1px solid rgba(95,122,94,.35)}.canvas-panel-cta:hover,.canvas-panel-more:hover{border-bottom-color:#5f7a5e}.canvas-coffee-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.85rem}.canvas-coffee-item{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.7rem .85rem;border-radius:.75rem;background:rgba(255,255,255,.45);border:1px solid rgba(28,28,26,.07);cursor:pointer;color:inherit;transition:background .2s ease,border-color .2s ease}.canvas-coffee-item.is-active,.canvas-coffee-item:hover{background:rgba(255,255,255,.75);border-color:rgba(95,122,94,.35)}.canvas-coffee-top{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.canvas-coffee-top h3{display:inline-flex;align-items:center;gap:.35rem;font-size:.98rem;font-weight:600;letter-spacing:-.02em;margin:0}.canvas-coffee-star{color:#d4a017;font-size:.95em;line-height:1;text-shadow:0 0 1px rgba(180,120,0,.35)}.canvas-coffee-loc{font-size:.75rem;color:rgba(28,28,26,.45);margin:.15rem 0 0}.canvas-coffee-badge{margin:.28rem 0 0;font-size:.68rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#b8860b}.canvas-coffee-excerpt{display:none}.mapboxgl-marker svg path:nth-of-type(2){stroke:rgba(28,28,26,.22);stroke-width:1px}@media (max-width:899px){.canvas-lede-desktop{display:none}.canvas-lede-mobile{display:inline}.canvas-page{background:transparent;min-height:100lvh}.canvas-bg{pointer-events:none;background:transparent}.canvas-bg-media{position:fixed;top:0;left:0;right:0;bottom:calc(-1 * constant(safe-area-inset-bottom));bottom:calc(-1 * env(safe-area-inset-bottom, 0px));width:100%;height:auto;min-height:100vh;min-height:100dvh;min-height:100lvh;min-height:-webkit-fill-available;overflow:hidden}.canvas-page--bg-burning .canvas-bg-still-media,.canvas-page--bg-burning .canvas-bg-video{position:fixed}.canvas-ascii-burn{position:fixed;inset:0;z-index:1}.canvas-bg-image{object-fit:cover}.canvas-page--bg-still .canvas-bg-still{object-position:76% center}.canvas-bg-video{object-fit:cover;object-position:65% 55%;width:100%;height:100%;transform:scale(1.12);transform-origin:50% 100%}.canvas-layout{align-items:flex-start;padding:max(1rem,env(safe-area-inset-top,0px)) max(1.25rem,env(safe-area-inset-right,0px)) max(2rem,calc(.75rem + env(safe-area-inset-bottom, 0px))) max(1.25rem,env(safe-area-inset-left,0px))}.canvas-brand-icon{width:3.55rem;height:3.55rem}.canvas-brand-icon-img{width:3.05rem;height:3.05rem}.canvas-copy-intro{cursor:pointer;-webkit-tap-highlight-color:transparent}.canvas-copy{width:min(100%,19.5rem);max-width:none;padding:.8rem .8rem 1.75rem;border-radius:.95rem;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 36px rgba(28,28,26,.1),inset 0 1px 0 rgba(255,255,255,.6);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.canvas-mobile-toggle{display:inline-flex}.canvas-copy-menu{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .32s ease,opacity .28s ease}.canvas-copy-menu.is-open{grid-template-rows:1fr;opacity:1}.canvas-copy-menu-inner{min-height:0;overflow:hidden}.canvas-copy--menu-open{padding-bottom:.85rem}}@media (prefers-reduced-motion:reduce){.canvas-copy-menu,.canvas-link,.canvas-mobile-preview-drawer,.canvas-mobile-toggle-icon,.canvas-panel,.canvas-preview,.canvas-projects-next,.canvas-social-card{transition:none!important}}