*{margin:0;padding:0;box-sizing:border-box}:root{--background-color: #fdfbfb;--primary-color: #fdfbfb;--secondary-color: #000;--accent-color: #db2c0e;--accent-color-light: #ff684e;--text-color: #333;transition:background-color .2s ease-in-out}html,body,#app{height:100%;background-color:#000}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;font-style:normal;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color)}html,#app{height:100%;width:100%;overflow:hidden;display:flex;flex-direction:column}.nav-link{font-size:1.2rem;font-weight:500;text-decoration:none;padding:.5rem 0;position:relative;transition:color .3s ease}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:0%;height:2px;transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-link:hover{color:#000}.vj-root{--vj-base-size: 130px;--vj-stick-size: 56px;--vj-base-color: rgba(255, 255, 255, .12);--vj-stick-color: rgba(255, 255, 255, .18);--vj-base-opacity: 1;--vj-stick-opacity: 1;--vj-border: 1px solid rgba(255, 255, 255, .18);--vj-blur: blur(6px)}.vj-base{width:var(--vj-base-size);height:var(--vj-base-size);border-radius:999px;background:var(--vj-base-color);opacity:var(--vj-base-opacity);border:var(--vj-border);backdrop-filter:var(--vj-blur);-webkit-backdrop-filter:var(--vj-blur);display:flex;align-items:center;justify-content:center;transform:translate(-9999px,-9999px);position:fixed;left:0;top:0;pointer-events:none}.vj-stick{width:var(--vj-stick-size);height:var(--vj-stick-size);border-radius:999px;background:var(--vj-stick-color);opacity:var(--vj-stick-opacity);border:var(--vj-border);backdrop-filter:var(--vj-blur);-webkit-backdrop-filter:var(--vj-blur);transform:translate(0);pointer-events:none}.eye-svg[data-v-f08bc37a]{display:block;width:100%;height:auto}.site-header[data-v-74542959]{padding:.5em 1.5rem;background-color:var(--green);color:var(--cream);display:grid;grid-template-columns:auto 1fr auto;align-items:center;box-shadow:0 2px 12px #0000000d;position:sticky;z-index:1000}.centered-links[data-v-74542959]{display:flex;justify-self:center;justify-content:center;align-items:center}.page-link[data-v-74542959]{font-size:1rem;color:var(--cream);text-decoration:none;letter-spacing:-.5px;transition:opacity .2s ease;cursor:pointer;text-align:center;user-select:none;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;touch-action:none;padding:0 8px}.page-link[data-v-74542959]:hover{opacity:.8}.page-link.current-page[data-v-74542959]{border-bottom:1px solid var(--cream)}.eye-wrapper[data-v-74542959]{display:none;width:56px;max-width:70px}@media screen and (min-width: 769px){.eye-wrapper[data-v-74542959]{display:block}}.logo[data-v-74542959]{font-size:1.25rem;font-weight:400;text-decoration:none;color:var(--cream);letter-spacing:-.5px;transition:opacity .2s ease;cursor:pointer;text-align:center;user-select:none;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;touch-action:none}.logo[data-v-74542959]:hover{opacity:.8}@media screen and (max-width: 768px){.site-header[data-v-74542959]{padding:.5rem}.logo[data-v-74542959]{font-size:1.2rem}.centered-links[data-v-74542959]{justify-self:end}.page-link[data-v-74542959]{font-size:.9rem;padding:0 6px}}.notification-container[data-v-f9f7fa65]{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:9999}.notification[data-v-f9f7fa65]{padding:12px 20px;border-radius:5px;color:#fff;max-width:300px;font-weight:600;box-shadow:0 4px 6px #0000001a;animation:fadein-f9f7fa65 .3s,fadeout-f9f7fa65 .3s 3.7s;transition:all .3s ease}.notification.success[data-v-f9f7fa65]{background-color:#4caf50}.notification.error[data-v-f9f7fa65]{background-color:#f44336}.notification.warning[data-v-f9f7fa65]{background-color:#ff9800}.notification.default[data-v-f9f7fa65]{background-color:#333}@keyframes fadein-f9f7fa65{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeout-f9f7fa65{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}html{--green: #203028;--cream: #f8d088}.main{height:100%;display:flex;flex-direction:column;background-color:var(--green);color:var(--cream)}.router-view{flex:1;position:relative;overflow:auto}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .4s ease,transform .4s ease}.fade-slide-enter-from{opacity:0;transform:translateY(20px)}.fade-slide-enter-to,.fade-slide-leave-from{opacity:1;transform:translateY(0)}.fade-slide-leave-to{opacity:0;transform:translateY(-20px)}.header-in-enter-active,.header-in-leave-active{transition:opacity .4s ease,transform .4s ease}.header-in-enter-from{opacity:0;transform:translateY(-50px)}.header-in-enter-to,.header-in-leave-from{opacity:1;transform:translateY(0)}.header-in-leave-to{opacity:0;transform:translateY(-50px)}.home-hero[data-v-5820a841]{--final-line-left: 78;--final-line-right: 8;--reveal-offset: 112;--line-left: 190%;--line-right: 120%;--title-line-left: 200%;--title-line-right: 200%;--kicker-line-left: 200%;--kicker-line-right: 200%;--pad-x: clamp(1.35rem, 6vw, 5rem);position:relative;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:var(--green);color:var(--cream)}.cream-field[data-v-5820a841]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--cream);clip-path:polygon(100% var(--line-right),100% 100%,0 100%,0 var(--line-left));will-change:clip-path}.about[data-v-5820a841]{position:absolute;top:max(1.35rem,env(safe-area-inset-top));right:var(--pad-x);z-index:4;color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:.36em;font-size:clamp(.72rem,2.4vw,.95rem);font-weight:700}.hero-copy[data-v-5820a841]{position:relative;z-index:2;padding:clamp(5.2rem,13vh,8rem) var(--pad-x) 0}.hero-title[data-v-5820a841]{position:relative;display:grid;width:max-content;max-width:none;margin:0;font-size:clamp(3.3rem,18vw,8.4rem);line-height:.82;font-weight:900;pointer-events:none}.title-copy[data-v-5820a841]{grid-area:1 / 1;display:block;will-change:clip-path}.title-copy--light[data-v-5820a841]{color:var(--cream);clip-path:polygon(0 0,100% 0,100% var(--title-line-right),0 var(--title-line-left))}.title-copy--dark[data-v-5820a841]{color:var(--green);clip-path:polygon(0 var(--title-line-left),100% var(--title-line-right),100% 100%,0 100%)}.title-line[data-v-5820a841]{display:block;white-space:nowrap}.kicker[data-v-5820a841]{display:grid;gap:.35rem;width:max-content;max-width:100%;margin:clamp(1.45rem,3.4vh,2.2rem) 0 0;font-size:clamp(1.15rem,5.4vw,1.65rem);line-height:1.2;letter-spacing:.12em;font-weight:600}.kicker-copy[data-v-5820a841]{grid-area:1 / 1;display:grid;gap:.35rem;will-change:clip-path}.kicker-copy span[data-v-5820a841]{white-space:nowrap}.kicker-copy--light[data-v-5820a841]{color:var(--cream);clip-path:polygon(0 0,100% 0,100% var(--kicker-line-right),0 var(--kicker-line-left))}.kicker-copy--dark[data-v-5820a841]{color:var(--green);clip-path:polygon(0 var(--kicker-line-left),100% var(--kicker-line-right),100% 100%,0 100%)}.work-link[data-v-5820a841]{position:absolute;left:50%;bottom:clamp(2.4rem,7.5vh,5.25rem);z-index:3;display:inline-flex;align-items:center;gap:.85rem;translate:-50% 0;color:var(--green);text-decoration:none;text-transform:uppercase;letter-spacing:.32em;font-size:clamp(.9rem,3.4vw,1.05rem);font-weight:800;white-space:nowrap}.work-link[data-v-5820a841]:after{content:"";position:absolute;left:0;right:.65rem;bottom:-.62rem;height:2px;background:currentColor;transform-origin:left;transition:transform .28s ease}.work-link[data-v-5820a841]:hover:after{transform:scaleX(.82)}.arrow[data-v-5820a841]{display:inline-block;transition:transform .28s ease}.work-link:hover .arrow[data-v-5820a841]{transform:translate(.28rem)}.fade-item[data-v-5820a841]{opacity:0;transform:translateY(.65rem)}.home-hero.is-ready .fade-item[data-v-5820a841]{animation:fade-in-5820a841 .72s cubic-bezier(.22,1,.36,1) forwards}.home-hero.is-ready .kicker[data-v-5820a841]{animation-delay:.74s}.home-hero.is-ready .about[data-v-5820a841]{animation-delay:.9s}.home-hero.is-ready .work-link[data-v-5820a841]{animation-delay:1.04s}@keyframes fade-in-5820a841{to{opacity:1;transform:translateY(0)}}.title-line[data-v-5820a841]{padding-bottom:50px}@media (min-width: 800){.title-line[data-v-5820a841]{padding-bottom:50px}}@media (min-width: 760px){.home-hero[data-v-5820a841]{--pad-x: clamp(3.5rem, 7vw, 7rem)}.hero-copy[data-v-5820a841]{padding-top:clamp(5rem,14vh,9rem)}.hero-title[data-v-5820a841]{font-size:clamp(7rem,14vw,15rem)}.kicker[data-v-5820a841]{font-size:clamp(1.1rem,2vw,1.75rem)}.work-link[data-v-5820a841]{bottom:clamp(3rem,8vh,5.5rem)}}@media (prefers-reduced-motion: reduce){.cream-field[data-v-5820a841],.title-copy[data-v-5820a841],.kicker-copy[data-v-5820a841]{will-change:auto}.home-hero.is-ready .fade-item[data-v-5820a841]{animation-duration:1ms;animation-delay:.12s}.arrow[data-v-5820a841],.work-link[data-v-5820a841]:after{transition:none}}.modal-fade-enter-active[data-v-016963f8],.modal-fade-leave-active[data-v-016963f8]{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.modal-fade-enter-from[data-v-016963f8],.modal-fade-leave-to[data-v-016963f8]{opacity:0}.modal-fade-enter-from .modal-content[data-v-016963f8],.modal-fade-leave-to .modal-content[data-v-016963f8]{transform:translateY(40px);opacity:0}.modal-fade-enter-to .modal-content[data-v-016963f8],.modal-fade-leave-from .modal-content[data-v-016963f8]{transform:translateY(0);opacity:1}.modal-overlay[data-v-016963f8]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;justify-content:center;align-items:center;z-index:1001}.modal-content[data-v-016963f8]{background-color:#fff;padding:2rem;border-radius:1.25rem;box-shadow:0 10px 40px #0000001a;width:90%;max-width:600px;position:relative;max-height:75%;display:flex;flex-direction:column;overflow:hidden}.modal-body[data-v-016963f8]{font-size:1rem;line-height:1.5;color:#333;overflow-y:auto;flex:1;padding:5px 1rem 0px 5px;margin-bottom:15px}.modal-footer[data-v-016963f8]{display:flex;justify-content:space-between;margin-top:1rem;flex-shrink:0}.close-button[data-v-016963f8]{position:absolute;top:1.2rem;right:1.5rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#333;transition:opacity .2s ease}.modal-footer button[data-v-016963f8]{padding:.5rem 1rem;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.close-button[data-v-016963f8]:hover{opacity:.6}.metallic .modal-content[data-v-016963f8]{background:#333;border-radius:10px;padding:30px;width:80%;max-width:500px;box-shadow:0 10px 30px #00000080,inset 0 1px #555,inset 0 -1px #111;color:#fff;position:relative;animation:slideIn .3s ease-out}.metallic .modal-body[data-v-016963f8]{color:#eee;max-height:400px;overflow-y:auto}.metallic .close-button[data-v-016963f8]{color:#fff;font-size:24px;top:15px;right:15px}.metallic label[data-v-016963f8]{color:#ddd}.metallic .modal-body button[data-v-016963f8],.metallic.modal-footer button[data-v-016963f8]{padding:15px 30px;font-size:18px;color:#fff;cursor:pointer;border:none;border-radius:5px;text-align:center;text-decoration:none;display:inline-block;font-family:sans-serif;background:linear-gradient(to bottom,#dcdcdc,#a1a1a1 50%,#7a7a7a 51%,#a1a1a1);box-shadow:0 4px 6px #0006,inset 0 1px #ffffff4d,inset 0 -1px #00000080;text-shadow:0 1px 1px rgba(0,0,0,.5);transition:background-color .3s,transform .1s}.metallic .modal-body button[data-v-016963f8]:hover,.metallic.modal-footer button[data-v-016963f8]:hover{background:linear-gradient(to bottom,#e4e4e4,#b0b0b0 50%,#8a8a8a 51%,#b0b0b0);transform:translateY(-2px)}hr[data-v-016963f8]{border:none;border-top:1px solid #eee}.projects-view[data-v-abc93921]{height:100%;width:100%;overflow-y:scroll;flex-grow:1;position:unset;background-color:var(--green)}.projects-view-container[data-v-abc93921]{display:flex;flex-direction:column;gap:1rem;padding:0rem 2rem;max-width:1000px;margin:0 auto}.title[data-v-abc93921]{font-size:4.5rem;font-weight:700;margin-bottom:.5rem}.hidden-projects-indicator[data-v-abc93921]{font-size:.9rem;color:#666;font-style:italic}.project-list[data-v-abc93921]{--project-card-height: 12rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;align-items:stretch}.project-link[data-v-abc93921]{margin-top:auto;text-decoration:none}.project-card[data-v-abc93921]{cursor:pointer;padding:1rem;border-radius:.75rem;box-shadow:0 8px 24px #0000000d;background-color:var(--cream);transition:transform .2s ease;display:flex;flex-direction:column;gap:.65rem;height:var(--project-card-height);min-height:0;max-width:100%;overflow:hidden}.project-card[data-v-abc93921]:hover{transform:translateY(-4px)}.project-card--expanded[data-v-abc93921]{height:auto;min-height:var(--project-card-height)}.project-card--excluded[data-v-abc93921]{background-color:#fff7d6;border:1px solid #e7c85f}.project-card--admin-gated[data-v-abc93921]{background:linear-gradient(140deg,#fff7d1,#ffe9ad);border:1px solid #e8bf58}.project-card h2[data-v-abc93921]{font-size:1.35rem;line-height:1.2;color:var(--green);font-weight:600;margin:0}.project-blurb[data-v-abc93921]{font-size:.9rem;line-height:1.35;color:#333;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-blurb--expanded[data-v-abc93921]{display:block;overflow:visible;-webkit-line-clamp:initial}.project-expand-button[data-v-abc93921]{align-self:flex-start;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid rgba(0,73,41,.32);border-radius:999px;color:var(--green);cursor:pointer;font:inherit;font-size:.78rem;line-height:1;padding:.3rem .55rem;transition:background-color .2s ease,color .2s ease}.project-expand-button[data-v-abc93921]:hover,.project-expand-button[data-v-abc93921]:focus-visible{background-color:var(--green);color:var(--cream)}.project-category[data-v-abc93921]{align-self:flex-start;border:1px solid rgba(0,73,41,.28);border-radius:999px;color:var(--green);font-size:.7rem;line-height:1;padding:.35rem .55rem}.tags[data-v-abc93921]{display:flex;flex-wrap:wrap;gap:.5rem}.tag[data-v-abc93921]{font-size:.75rem;background-color:#eee;padding:.3rem .6rem;border-radius:999px}.hidden[data-v-abc93921]{display:none}.project-links[data-v-abc93921]{margin-top:.5rem}.project-links .link[data-v-abc93921]{font-size:.85rem;color:#007bff;text-decoration:none;cursor:pointer}.project-links .link[data-v-abc93921]:hover{text-decoration:underline}.links[data-v-abc93921]{display:flex;flex-wrap:wrap;flex-direction:row-reverse;margin-top:auto;width:100%}.links a[data-v-abc93921]{margin-left:auto;margin-right:.5rem;font-size:.85rem;color:var(--green);text-decoration:none;border-bottom:1px solid}.projects-auth-cta[data-v-abc93921]{display:flex;justify-content:center;padding:1rem 0 2rem}.projects-auth-link[data-v-abc93921]{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--cream);border:1px solid var(--cream);border-radius:999px;padding:.35rem .7rem;transition:background-color .2s ease,color .2s ease,transform .2s ease}.projects-auth-link[data-v-abc93921]:hover{background-color:#164ca8;color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.project-list[data-v-abc93921]{--project-card-height: 11rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.title[data-v-abc93921]{margin-top:10px;font-size:3rem}.projects-view-container[data-v-abc93921]{padding:0rem 1rem}.project-card[data-v-abc93921]{padding:.9rem;max-width:100%}.project-card h2[data-v-abc93921]{font-size:1.1rem}.project-blurb[data-v-abc93921]{font-size:.85rem}.projects-auth-cta[data-v-abc93921]{padding:.5rem 0 1.2rem}}@media (max-width: 655px){.project-list[data-v-abc93921]{--project-card-height: 10.5rem}.project-card[data-v-abc93921]{gap:.55rem;max-width:100%;padding:.85rem;width:100%}.project-blurb[data-v-abc93921]{-webkit-line-clamp:3}}.about-content[data-v-6ffc7f75]{max-width:800px;margin:3rem auto;padding:0 2rem}.about-content h2[data-v-6ffc7f75]{font-size:clamp(2.5rem,6vw,4rem);font-weight:400;margin-bottom:1rem}.about-content p[data-v-6ffc7f75]{font-size:1.125rem;line-height:1.7;max-width:50ch}.page-link[data-v-6ffc7f75]{color:var(--cream);text-decoration:none;font-weight:600;transition:color .3s ease}.page-link[data-v-6ffc7f75]:hover{color:#007bff}.page-link[data-v-6ffc7f75]:focus{outline:2px solid #007bff;outline-offset:2px}.page-link[data-v-6ffc7f75]:active{color:#0056b3}.links[data-v-6ffc7f75]{display:flex;flex-direction:column;gap:0;margin-top:2.5rem;border-top:1px solid #e5e5e5}.link-item[data-v-6ffc7f75]{color:var(--cream);display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid #e5e5e5;text-decoration:none;transition:color .2s ease}.link-item[data-v-6ffc7f75]:hover{color:#007bff}.link-label[data-v-6ffc7f75]{font-size:1rem;font-weight:500;letter-spacing:.01em}.link-arrow[data-v-6ffc7f75]{font-size:1rem;opacity:.5;transition:opacity .2s ease,transform .2s ease}.link-item:hover .link-arrow[data-v-6ffc7f75]{opacity:1;transform:translate(2px,-2px)}.login-view[data-v-bf47262f]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card[data-v-bf47262f]{color:var(--green);width:min(100%,460px);background:var(--cream);border:1px solid rgba(0,0,0,.08);border-radius:1.2rem;padding:1.3rem;box-shadow:0 16px 40px #00000014;display:grid;gap:.8rem}.eyebrow[data-v-bf47262f]{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:#3f3f3f}h1[data-v-bf47262f]{font-size:1.5rem}.session-copy[data-v-bf47262f],.auth-message[data-v-bf47262f]{color:#303030;font-size:.95rem}.auth-form[data-v-bf47262f]{display:grid;gap:.7rem}.field[data-v-bf47262f]{display:grid;gap:.35rem;font-size:.85rem}.field input[data-v-bf47262f]{border:1px solid #c7c7c7;border-radius:.6rem;padding:.6rem .7rem;font-size:.95rem}.field input[data-v-bf47262f]:focus{outline:2px solid rgba(22,76,168,.25);border-color:#164ca8}.primary[data-v-bf47262f]{border:0;border-radius:.8rem;padding:.7rem .9rem;font-size:.95rem;font-weight:700;cursor:pointer;background:linear-gradient(120deg,#164ca8,#2f80ed);color:#fff}.primary[data-v-bf47262f]:disabled,.text-button[data-v-bf47262f]:disabled{opacity:.65;cursor:not-allowed}.text-button[data-v-bf47262f]{border:0;background:transparent;color:#164ca8;font-size:.85rem;text-align:left;cursor:pointer;padding:0}.session-actions[data-v-bf47262f]{display:flex;justify-content:flex-start}@media (max-width: 560px){.login-card[data-v-bf47262f]{border-radius:1rem;padding:1rem}h1[data-v-bf47262f]{font-size:1.3rem}}.not-found[data-v-ecdf6dd2]{text-align:center;margin-top:50px}
