.card-export__btn--ar:disabled{opacity:.55;cursor:progress;transform:none}.ar-modal{z-index:1000;-webkit-backdrop-filter:blur(8px)saturate(150%);backdrop-filter:blur(8px)saturate(150%);background:#0009;justify-content:center;align-items:center;padding:24px;animation:.18s ease-out ar-modal-fade;display:flex;position:fixed;inset:0}@keyframes ar-modal-fade{0%{opacity:0}to{opacity:1}}.ar-modal__panel{border-radius:var(--radius-lg);color:#ffffffe6;width:min(380px,100%);min-height:360px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));background:#ffffff1f;border:1px solid #ffffff2e;padding:28px 26px 22px;animation:.24s cubic-bezier(.16,1,.3,1) ar-modal-rise;position:relative;box-shadow:0 0 0 1px #ffffff14,0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #0000001a}@keyframes ar-modal-rise{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ar-modal__panel:before{content:"";border-radius:var(--radius-lg);-webkit-mask-composite:xor;pointer-events:none;opacity:.55;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#ffffff26 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ar-modal__close{color:#ffffffb3;cursor:pointer;z-index:1;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .18s,color .18s,border-color .18s;display:inline-flex;position:absolute;top:14px;right:14px}.ar-modal__close:hover{color:#fff;background:#ffffff24;border-color:#ffffff38}.ar-modal__close svg{width:18px;height:18px}.ar-modal__title{color:#fffffff5;letter-spacing:-.005em;margin:0 0 12px;padding-right:24px;font-family:EB Garamond,Georgia,serif;font-size:1.45rem;font-style:normal;font-weight:500;line-height:1.2}.ar-modal__title em{font-style:italic;font-weight:500}.ar-modal__subtitle{color:#ffffff7a;margin:0 0 16px;font-size:.76rem;line-height:1.55}.ar-modal__qr-frame{border-radius:var(--radius-md);background:#fcf8f3f0;border:none;justify-content:center;align-items:center;margin-bottom:12px;padding:12px;display:flex;box-shadow:0 4px 20px #00000038,inset 0 1px #ffffffa6,inset 0 -1px #0000000a}.ar-modal__qr{width:200px;height:200px;image-rendering:pixelated;display:block}.ar-modal__loading{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:270px;display:flex}.ar-modal__card-preview{aspect-ratio:580/344;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:132px;transform-style:preserve-3d;background:linear-gradient(135deg,#ffffff2e 0%,#ffffff0f 100%);border:1px solid #ffffff38;border-radius:10px;animation:4.2s ease-in-out infinite ar-card-float;position:relative;overflow:hidden;box-shadow:0 14px 32px #0000006b,inset 0 1px #ffffff52,inset 0 -1px #0000001f}.ar-modal__card-preview-shine{pointer-events:none;background:linear-gradient(115deg,#0000 38%,#ffffff52 50%,#0000 62%);animation:2.6s ease-in-out infinite ar-card-shine;position:absolute;inset:0}@keyframes ar-card-float{0%{transform:perspective(420px)rotateY(-22deg)rotateX(8deg)}50%{transform:perspective(420px)rotateY(22deg)rotateX(-4deg)}to{transform:perspective(420px)rotateY(-22deg)rotateX(8deg)}}@keyframes ar-card-shine{0%{transform:translate(-110%)}60%{transform:translate(110%)}to{transform:translate(110%)}}.ar-modal__progress{color:#fff9;letter-spacing:.01em;font-size:.76rem}.ar-modal__error{border-radius:var(--radius-sm);color:#fca5a5eb;background:#ef444414;border:1px solid #ef444438;margin:0 0 12px;padding:12px 14px;font-size:.76rem;line-height:1.5}.ar-modal__retry{border-radius:var(--radius-full);color:#ffffffd1;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.72rem;font-weight:500;transition:background .18s,border-color .18s;display:inline-flex}.ar-modal__retry:hover{background:#ffffff1f;border-color:#ffffff47}.ar-modal__viewer-wrap{border-radius:var(--radius-md);background:#05031099;border:1px solid #ffffff1f;width:100%;height:300px;margin-bottom:14px;overflow:hidden}.ar-modal__viewer-wrap model-viewer{--poster-color:transparent;background:0 0;width:100%;height:100%}.ar-modal__cta{border-radius:var(--radius-full);letter-spacing:.01em;color:#ffffffeb;width:100%;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));cursor:pointer;background:#0003;border:1px solid #ffffff2e;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-family:inherit;font-size:.84rem;font-weight:500;text-decoration:none;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.ar-modal__cta:before{content:"";border-radius:var(--radius-full);-webkit-mask-composite:xor;pointer-events:none;opacity:.55;background:linear-gradient(135deg,#ffffff4d 0%,#fff0 50%,#ffffff2e 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ar-modal__cta:hover{background:#00000040;border-color:#ffffff47;transform:translateY(-1px)}.ar-modal__cta svg{width:14px;height:14px}@media (width<=480px){.ar-modal__panel{padding:22px 18px 18px}.ar-modal__title{font-size:1.28rem}.ar-modal__qr{width:170px;height:170px}}.about-section{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:calc(100dvh - 96px);padding:48px 24px;display:flex}.card-scene{cursor:pointer;flex-shrink:0;width:580px;height:344px}.card-scene-fit{flex-shrink:0;width:580px;height:344px}@media (width<=640px){.card-scene-fit{width:calc(100vw - 48px);height:calc(59.3103vw - 28.469px);position:relative;overflow:visible}.card-scene{width:580px;height:344px;transform:scale(calc((100vw - 48px) / 580px));transform-origin:0 0}}@media (width<=767px){body.section-bg-about{overflow:hidden}body.section-bg-about main{padding-bottom:0}.about-section{min-height:100dvh;padding:24px 16px}}.card-tilt{will-change:transform;width:100%;height:100%}.card{border:1px solid #ffffff24;border-radius:20px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 40px 80px #000000b3,0 8px 24px #0006,inset 0 1px #fff3}.card-face{width:100%;height:100%;position:absolute;inset:0}.card-face--hidden{display:none!important}.card-front{background:#0d0a1a}.card-front__photo{-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;width:100%;height:100%;position:absolute;inset:0}.card-front__scrim{background:linear-gradient(#0000 0%,#0503100f 35%,#05031073 64%,#050310ed 100%);position:absolute;inset:0}.card-front__info{z-index:2;padding:20px 24px;position:absolute;bottom:0;left:0;right:0}.card-front__name{letter-spacing:-.03em;color:#fff;font-size:1.5rem;font-weight:700;line-height:1.1}.card-front__title{color:#ffffff80;margin-top:3px;font-family:EB Garamond,Georgia,serif;font-size:.88rem;font-style:italic}.card-front__spec{color:#ffffff47;letter-spacing:.01em;margin-top:3px;font-size:.72rem}.card-front__logo{opacity:1;width:auto;height:32px;margin-top:10px;display:block}.card-front__url{letter-spacing:.01em;color:#a855f7b3;margin-top:8px;font-size:.65rem}.card-back{background:#0d0a1a;flex-direction:row;display:flex}.card-back__grid{pointer-events:none;background-image:linear-gradient(#a855f70d 1px,#0000 1px),linear-gradient(90deg,#a855f70d 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.card-back__glow{pointer-events:none;background:radial-gradient(circle,#6d1cd940 0%,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;right:-80px}.card-back__left{z-index:1;flex-direction:column;flex-shrink:0;justify-content:space-between;width:44%;padding:22px 20px 42px 24px;display:flex;position:relative}.card-back__identity{flex-direction:column;display:flex}.card-back__brand-logo{opacity:1;width:72px;height:auto;margin-bottom:10px;display:block}.card-back__tagline{color:#ffffff80;font-family:EB Garamond,Georgia,serif;font-size:.9rem;font-style:italic;line-height:1.55}.card-back__rule{z-index:1;background:#ffffff14;flex-shrink:0;width:1px;margin:20px 0;position:relative}.card-back__right{z-index:1;flex-direction:column;flex:1;justify-content:center;padding:22px 24px 42px 20px;display:flex;position:relative}.card-back__rows{flex-direction:column;gap:8px;display:flex}.card-back__row{align-items:baseline;gap:8px;display:flex}.card-back__row-label{letter-spacing:.01em;color:#a855f7a6;flex-shrink:0;width:42px;font-size:.68rem;font-weight:500}.card-back__row-value{color:#ffffff9e;font-size:.74rem;line-height:1.4}.card-back__links{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.card-back__links-row{flex-flow:wrap;gap:6px;display:flex}.card-back__link{color:#ffffffa6;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff17;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 11px;font-size:.69rem;font-weight:500;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.card-back__link--email{color:#c896ffe6;background:#a855f71a;border-color:#a855f74d}.card-back__link--email:hover{color:#fff;background:#a855f738;border-color:#a855f78c}.card-back__link--web{color:#ffffffd1;background:#ffffff0f;border-color:#ffffff38}.card-back__link--web:hover{color:#fff;background:#ffffff24;border-color:#fff6}.card-back__link--linkedin{color:#64aff5e6;background:#0a66c21f;border-color:#0a66c261}.card-back__link--linkedin:hover{color:#fff;background:#0a66c240;border-color:#0a66c299}.card-back__link--github{color:#c8d2dad9;background:#8b949e1a;border-color:#8b949e47}.card-back__link--github:hover{color:#fff;background:#8b949e33;border-color:#8b949e80}.card-back__link svg{opacity:.7;flex-shrink:0;width:11px;height:11px}.card-back__name-strip{z-index:2;background:linear-gradient(#0000 0%,#05031080 100%);border-top:1px solid #ffffff0f;align-items:center;gap:10px;padding:10px 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.card-back__strip-name{letter-spacing:-.02em;color:#ffffff47;font-size:.72rem;font-weight:700}.card-back__strip-sep{background:#a855f766;border-radius:50%;flex-shrink:0;width:3px;height:3px}.card-back__strip-title{color:#ffffff2e;white-space:nowrap;text-overflow:ellipsis;font-family:EB Garamond,Georgia,serif;font-size:.72rem;font-style:italic;overflow:hidden}.flip-hint{letter-spacing:.06em;color:#ffffff2e;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:.65rem;transition:opacity .5s;display:flex}.flip-hint__line{background:#ffffff14;width:32px;height:1px}.flip-hint svg{width:13px;height:13px}.about-section{position:relative;overflow:hidden}.about-section:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 32% 42%,#6d1cd92e 0%,#0000 55%),radial-gradient(at 68% 58%,#a855f71a 0%,#0000 50%);width:780px;height:520px;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.card-scene,.flip-hint{z-index:1;position:relative}.flip-hint.faded{opacity:0;pointer-events:none}.card-export{z-index:1;gap:10px;margin-top:4px;display:flex;position:relative}.card-export__btn{border-radius:var(--radius-full);letter-spacing:.01em;color:#fffc;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));cursor:pointer;white-space:nowrap;background:#0003;border:1px solid #ffffff26;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:.78rem;font-weight:500;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;box-shadow:0 2px 8px #00000026}.card-export__btn:before{content:"";border-radius:var(--radius-full);-webkit-mask-composite:xor;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#ffffff26 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card-export__btn:hover{color:#fff;background:#00000040;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.card-export__btn:hover:before{opacity:.7}.card-export__btn:active{transform:translateY(0);box-shadow:0 2px 8px #00000026}.card-export__btn svg{opacity:.85;flex-shrink:0;width:13px;height:13px}:root{--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:2.5rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:5rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-full:9999px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000026;--color-primary:#2563eb;--color-primary-dark:#1e40af;--color-primary-light:#60a5fa;--color-accent:#f59e0b;--color-accent-dark:#d97706;--color-accent-light:#fbbf24;--glass-blur:16px;--glass-blur-nested:16px;--glass-blur-deep:8px;--glass-saturation:150%;--glass-bg-subtle:#ffffff05;--glass-bg-default:#ffffff0a;--glass-bg-emphasized:#ffffff0f;--glass-border-subtle:#ffffff14;--glass-border-default:#ffffff1f;--glass-text-primary:#fff;--glass-text-secondary:#ffffffe6}.glass-background-dark{background:#000;min-height:100vh;position:relative}.glass-background-dark:before{content:"";z-index:0;pointer-events:none;background-color:#0000;background-image:linear-gradient(#0000009e,#000000b3),url(/gallery-2.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0}.glass-background-dark>*{z-index:1;position:relative}:is(html:has(body.section-bg-about),html:has(body.section-bg-experience),html:has(body.section-bg-projects),html:has(body.section-bg-education),html:has(body.section-bg-sidequests),html:has(body.section-bg-skills),html:has(body.section-bg-gallery),html:has(body.section-bg-contact)){overscroll-behavior:none}.glass-background-dark.section-bg-about:before{background:linear-gradient(135deg,#0a0a0f 0%,#111827 50%,#0f172a 100%)}.glass-background-dark.section-bg-experience:before{background:linear-gradient(135deg,#050d1a 0%,#0c1e3a 50%,#071224 100%)}.glass-background-dark.section-bg-projects:before{background:linear-gradient(135deg,#050f14 0%,#0a2030 55%,#061820 100%)}.glass-background-dark.section-bg-education:before{background:linear-gradient(135deg,#0a0514 0%,#160d30 55%,#0d0820 100%)}.glass-background-dark.section-bg-sidequests:before{background:linear-gradient(135deg,#07090f 0%,#0c1626 55%,#0a1322 100%)}.glass-background-dark.section-bg-skills:before{background:linear-gradient(135deg,#050f0a 0%,#0a2018 55%,#061410 100%)}.glass-background-dark.section-bg-gallery:before{background:linear-gradient(135deg,#0f0f0f 0%,#1a1a1a 50%,#111 100%)}.glass-background-dark.section-bg-contact:before{background:linear-gradient(135deg,#0f050a 0%,#200a14 55%,#140610 100%)}.glass-card{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-lg);padding:var(--spacing-md);background:#ffffff2e;border:1px solid #ffffff2e;transition:background .38s cubic-bezier(.34,1.3,.64,1),border-color .38s cubic-bezier(.34,1.3,.64,1),box-shadow .38s cubic-bezier(.34,1.3,.64,1),transform .38s cubic-bezier(.34,1.3,.64,1);position:relative;box-shadow:0 0 0 1px #ffffff14,0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #0000001a}.glass-card:hover{background:#ffffff42;border-color:#ffffff47;transform:translateY(-5px)scale(1.008);box-shadow:0 0 0 1px #ffffff24,0 16px 56px #00000061,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.glass-card .glass-card{-webkit-backdrop-filter:blur(var(--glass-blur-nested));backdrop-filter:blur(var(--glass-blur-nested));background:#ffffff1f;border-color:#ffffff0f;box-shadow:inset 0 1px #ffffff0a}.glass-card .glass-card:hover{background:#ffffff2e;border-color:#ffffff14}.glass-card .glass-card .glass-card{-webkit-backdrop-filter:blur(var(--glass-blur-deep));backdrop-filter:blur(var(--glass-blur-deep));box-shadow:none;background:#ffffff05;border-color:#ffffff0a}.glass-nav{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));background:#0000004d;border-bottom:1px solid #fff3;transition:background .3s cubic-bezier(.4,0,.2,1),border-bottom-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #00000026}.glass-hero{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-lg);padding:var(--spacing-3xl) var(--spacing-lg);background:#0003;border:1px solid #ffffff1f;position:relative;box-shadow:0 8px 32px #0003}.glass-profile{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:3px solid #ffffff1f;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 8px 32px #0003}.glass-profile:hover{border-color:#ffffff2e;transform:scale(1.02)translateY(-2px);box-shadow:0 12px 40px #00000040}.glass-button{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);color:#fffffff2;text-shadow:0 1px 2px #0003;cursor:pointer;background:#ffffff2e;border:1px solid #ffffff2e;font-size:1rem;font-weight:600;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 0 1px #ffffff14,0 4px 16px #0003,inset 0 1px #ffffff40,inset 0 -1px #0000001a}.glass-button:hover{background:#ffffff3d;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff1f,0 6px 24px #00000040,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.glass-button:active{transform:translateY(0);box-shadow:0 0 0 1px #ffffff14,0 2px 8px #00000026,inset 0 1px #fff3,inset 0 -1px #0000001a}.glass-nav-pill{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-full);color:#fffc;white-space:nowrap;background:#0003;border:1px solid #ffffff26;font-size:.9rem;font-weight:500;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;box-shadow:0 2px 8px #00000026}.glass-nav-pill:before{content:"";border-radius:var(--radius-full);-webkit-mask-composite:xor;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#ffffff26 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-nav-pill:hover{color:#fff;background:#00000040;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.glass-nav-pill:hover:before{opacity:.7}.glass-nav-pill.active{color:#fff;background:#ffffff26;border-color:#ffffff59;box-shadow:0 4px 12px #ffffff1a}.glass-nav-pill.active:before{opacity:.8;background:linear-gradient(135deg,#ffffff4d 0%,#ffffff1a 50%,#fff3 100%)}.glass-nav-pill-icon{width:40px;height:40px;padding:var(--spacing-xs);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-full);color:#fffc;background:#0003;border:1px solid #ffffff26;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000026}.glass-nav-pill-icon:before{content:"";border-radius:var(--radius-full);-webkit-mask-composite:xor;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#ffffff26 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-nav-pill-icon:hover{color:#fff;background:#00000040;border-color:#ffffff40;transform:scale(1.05);box-shadow:0 4px 12px #0003}.glass-nav-pill-icon:hover:before{opacity:.7}.glass-nav-pill-mobile{padding:var(--spacing-xs) var(--spacing-md);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));border-radius:var(--radius-full);color:#fffc;white-space:nowrap;background:#0003;border:1px solid #ffffff26;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;box-shadow:0 2px 8px #00000026}.glass-nav-pill-mobile:before{content:"";border-radius:var(--radius-full);-webkit-mask-composite:xor;pointer-events:none;opacity:.5;background:linear-gradient(135deg,#ffffff40 0%,#fff0 50%,#ffffff26 100%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-nav-pill-mobile:hover{color:#fff;background:#00000040;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.glass-nav-pill-mobile:hover:before{opacity:.7}.glass-nav-pill-mobile.active{color:#fff;background:#ffffff26;border-color:#ffffff59;box-shadow:0 4px 12px #ffffff1a}.glass-nav-pill-mobile.active:before{opacity:.8;background:linear-gradient(135deg,#ffffff4d 0%,#ffffff1a 50%,#fff3 100%)}.glass-timeline-dot{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));background:#ffffff0f;border:2px solid #ffffff1f;box-shadow:0 2px 8px #0000001a}.glass-glow{position:relative}.glass-text{color:var(--glass-text-primary);text-shadow:0 1px 4px #0000004d}.glass-text-secondary{color:var(--glass-text-secondary);text-shadow:0 1px 3px #00000040}.light-mode{--glass-bg-subtle:#ffffff80;--glass-bg-default:#ffffffa6;--glass-bg-emphasized:#ffffffbf;--glass-border-subtle:#fff9;--glass-border-default:#ffffffbf;--glass-text-primary:#000000e0;--glass-text-secondary:#00000094}.light-mode .glass-card{box-shadow:0 4px 16px #0000000a}.light-mode .glass-card:hover{box-shadow:0 8px 24px #0000000f}.light-mode .glass-text{text-shadow:0 1px 2px #ffffff80}.light-mode .glass-text-secondary{text-shadow:0 1px 2px #ffffff4d}.light-mode .glass-nav{box-shadow:0 2px 12px #00000008}.light-mode .glass-hero{box-shadow:0 8px 32px #0000000a}.light-mode .glass-button{box-shadow:0 4px 16px #0000000f}.light-mode .glass-button:hover{box-shadow:0 6px 24px #00000014}.light-mode .glass-profile{box-shadow:0 8px 32px #0000000f}.light-mode .glass-timeline-dot{box-shadow:0 2px 8px #0000000f}.glass-card-primary{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));background:#2563eb0f;border:1px solid #2563eb26;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001f}.glass-card-primary:hover{background:#2563eb17;border-color:#2563eb33;box-shadow:0 8px 24px #00000026}.glass-card-accent{-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));background:#f59e0b0f;border:1px solid #f59e0b26;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #0000001f}.glass-card-accent:hover{background:#f59e0b17;border-color:#f59e0b33;box-shadow:0 8px 24px #00000026}.about-photo-wrap{border:1px solid #ffffff38;border-radius:50%;flex-shrink:0;width:220px;height:220px;overflow:hidden;box-shadow:0 0 0 1px #ffffff14,0 0 0 6px #ffffff0f,0 16px 48px #00000080,inset 0 1px #ffffff40}.about-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:center 15%;object-position:center 15%;width:100%;height:100%;display:block}.about-link{border-radius:var(--radius-full);color:#ffffffd9;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.875rem;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.about-link:hover{color:#fff;background:#ffffff47}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.section-edge-label{transform-origin:0 0;letter-spacing:-.03em;text-transform:lowercase;color:#ffffff8c;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:50;align-items:center;gap:0;font-family:EB Garamond,Georgia,serif;font-size:36px;font-weight:400;line-height:1;display:flex;position:fixed;top:24px;left:68px;transform:rotate(90deg)}.section-edge-logo{opacity:.55;flex-shrink:0;width:auto;height:1.78em;display:block}.section-edge-label span{margin-left:-.06em}@media (width<=767px){.section-edge-label{display:none}}.skills-hint--mobile{display:none}@media (width<=767px){.skills-hint--desktop{display:none}.skills-hint--mobile{display:inline}}body.section-bg-experience .section-edge-label{display:none!important}.exp-section{flex-direction:column;width:100%;max-width:1100px;height:calc(100dvh - 96px);margin:0 auto;padding:96px 24px 0;display:flex}.exp-carousel-label{top:24px;left:calc(68px - var(--label-scroll,0px));transform-origin:0 0;letter-spacing:-.03em;text-transform:lowercase;color:#ffffff8c;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:50;align-items:center;gap:0;font-family:EB Garamond,Georgia,serif;font-size:36px;font-weight:400;line-height:1;display:flex;position:fixed;transform:rotate(90deg)}.exp-carousel-label span{margin-left:-.06em}@media (width<=767px){.exp-carousel-label{display:none}}.exp-gallery-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.exp-gallery-viewport{scroll-snap-type:x mandatory;width:100vw;min-height:0;scroll-padding-left:calc((100vw - var(--card-width,300px)) / 2);scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;user-select:none;flex:1;margin-top:-8px;margin-left:calc(50% - 50vw);padding-top:8px;overflow:auto hidden}.exp-gallery-viewport::-webkit-scrollbar{display:none}.exp-gallery-viewport.is-dragging{cursor:grabbing}.exp-gallery-track{height:100%;padding-left:calc((100vw - var(--card-width,300px)) / 2);box-sizing:content-box;gap:16px;display:flex}.exp-gallery-track:after{content:"";flex:0 0 calc((100vw - var(--card-width,300px)) / 2 - 16px);pointer-events:none;display:block}.exp-card{flex:0 0 var(--card-width,calc(100% - 112px));scroll-snap-align:start;border:1px solid #ffffff2e;border-radius:20px;flex-direction:column;height:100%;transition:box-shadow .25s,transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 56px #00000080,0 8px 16px #00000040,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.exp-card.is-active{cursor:default}.exp-card.is-active:hover{transform:translateY(-3px)}.exp-card:not(.is-active){cursor:pointer}.exp-card:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(125deg,#ffffff24 0%,#ffffff0d 38%,#0000 58%);position:absolute;inset:0}.exp-card--maps:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.exp-card--trading:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 14% 20%,#ffffff17 38px,#0000 38px),radial-gradient(circle at 68% 55%,#ffffff12 54px,#0000 54px),radial-gradient(circle at 44% 82%,#ffffff12 30px,#0000 30px),radial-gradient(circle at 86% 14%,#ffffff0d 46px,#0000 46px);position:absolute;inset:0}.exp-card--graph:after{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(45deg,#ffffff09 0 1px,#0000 0 50%);background-size:16px 16px;position:absolute;inset:0}.exp-card--hexagon:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'><g fill='none' stroke='white' stroke-opacity='0.12' stroke-width='1' stroke-linejoin='round'><polygon points='14,0 28,8 28,24 14,32 0,24 0,8'/><line x1='14' y1='32' x2='14' y2='48'/></g></svg>");background-size:28px 48px;position:absolute;inset:0}.exp-card--x-mark:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'><g fill='none' stroke='white' stroke-linecap='round' stroke-width='1.4' stroke-opacity='0.13'><path d='M20,18 L32,30 M32,18 L20,30'/><path d='M70,65 L82,77 M82,65 L70,77'/></g></svg>");background-size:100px 100px;position:absolute;inset:0}.exp-card__top{z-index:1;flex:0 0 clamp(160px,42%,220px);justify-content:space-between;align-items:flex-end;padding:1.2rem 1.4rem;display:flex;position:relative}.exp-card__logo{-o-object-fit:contain;object-fit:contain;filter:brightness(0)invert();opacity:.88;flex-shrink:1;width:auto;min-width:0;max-width:160px;height:2rem}@media (width<=767px){.exp-card__top{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;padding:1.2rem 1.2rem 1rem}.exp-card__logo{max-width:130px;height:1.7rem}.exp-card__badge{white-space:normal;padding:.3rem .7rem;font-size:.72rem}.exp-card__company{font-size:1.25rem}.exp-card__period{font-size:.82rem}.exp-card__tagline{-webkit-line-clamp:3;font-size:.88rem}.exp-card__highlight-chip{padding:.4rem .95rem;font-size:.8rem}.exp-card__metric-value{font-size:1.2rem}.exp-card__metric-label{font-size:.62rem}}.exp-card__logo-text{color:#fffc;letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.exp-card__badge{letter-spacing:.06em;text-transform:uppercase;color:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0000004d;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.58rem;font-weight:600}.exp-card__glass{-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);z-index:1;background:#00000070;border-top:1px solid #ffffff29;flex-direction:column;flex:1;justify-content:space-between;min-height:0;padding:.9rem 1.4rem 1.1rem;display:flex;position:relative;overflow:hidden}.exp-card__meta{flex-shrink:0}.exp-card__company{color:#fffffff2;margin-bottom:.15rem;font-size:1.15rem;font-weight:700;line-height:1.2}.exp-card__period{color:#ffffff73;margin-bottom:.3rem;font-size:.7rem}.exp-card__tagline{color:#ffffff9e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.exp-card__metrics{flex-shrink:0;gap:.45rem;display:flex}.exp-card__metric{-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);background:#ffffff1a;border:1px solid #fff3;border-radius:10px;flex-direction:column;flex:1;gap:.12rem;padding:.45rem .55rem;display:flex;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000014}.exp-card__metric-value{color:#fffffff2;letter-spacing:-.02em;font-size:1.1rem;font-weight:700;line-height:1}.exp-card__metric-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.03em;font-size:.56rem;line-height:1.35}.exp-card__highlights-strip{-ms-overflow-style:none;scrollbar-width:none;flex-shrink:0;align-items:center;gap:.35rem;display:flex;overflow-x:auto}@media (width<=767px){.exp-card__highlights-strip{flex-wrap:wrap;row-gap:.4rem;overflow-x:visible}}.exp-card__highlights-strip::-webkit-scrollbar{display:none}.exp-card__highlight-chip{white-space:nowrap;-webkit-backdrop-filter:blur(12px)saturate(130%);backdrop-filter:blur(12px)saturate(130%);color:#ffffffd1;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;flex-shrink:0;padding:.3rem .8rem;font-size:.72rem;transition:background .2s,border-color .2s;box-shadow:inset 0 1px #ffffff2e}.exp-card__highlight-chip:hover{background:#ffffff2e;border-color:#ffffff4d}.exp-gallery-controls{flex-shrink:0;justify-content:center;align-items:center;gap:.55rem;height:28px;margin-top:1.2rem;display:flex}.exp-dot{cursor:pointer;background:#ffffff47;border:none;border-radius:999px;flex-shrink:0;width:8px;height:8px;padding:0;transition:width .3s cubic-bezier(.45,0,.15,1),background .3s;position:relative;overflow:hidden}.exp-dot--active{background:#ffffff26;width:48px}.exp-dot__fill{transform-origin:0;animation:expDotFill var(--fill-duration,10s) linear forwards;background:#ffffffe6;border-radius:999px;position:absolute;inset:0;transform:scaleX(0)}@keyframes expDotFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.exp-action-btn{color:#ffffffb3;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:28px;height:28px;margin-left:.3rem;padding:0 .55rem;font-family:inherit;font-size:.65rem;font-weight:500;line-height:1;transition:background .2s,border-color .2s;display:flex}.exp-action-btn:hover{background:#ffffff24;border-color:#ffffff47}@media (width<=767px){.exp-action-btn{min-width:44px;height:44px;padding:0 .85rem;font-size:.95rem}}.exp-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;background:#000000b8;justify-content:center;align-items:center;padding:24px;transition:opacity .25s;display:flex;position:fixed;inset:0}.exp-modal-overlay.visible{opacity:1;pointer-events:all}.exp-modal-card{-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:20px;width:100%;max-width:560px;padding:2rem;transition:transform .3s;transform:translateY(12px);box-shadow:0 32px 64px #00000080,inset 0 1px #ffffff40}.exp-modal-overlay.visible .exp-modal-card{transform:translateY(0)}.exp-modal-close{float:right;color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;display:flex}.exp-modal-close:hover{background:#ffffff2e}.exp-modal-eyebrow{text-transform:uppercase;letter-spacing:.07em;color:#fff6;margin-bottom:.4rem;font-size:.65rem}.exp-modal-title{color:#fffffff2;margin-bottom:.75rem;font-size:1.2rem;font-weight:700;line-height:1.3}.exp-modal-desc{color:#ffffffa6;margin-bottom:1rem;font-size:.82rem;line-height:1.7}.exp-modal-tech{flex-wrap:wrap;gap:.35rem;display:flex}.exp-modal-pill{color:#ffffffb8;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:.2rem .55rem;font-size:.65rem}.projects-scroll-wrap{overscroll-behavior:none;outline:none;height:100dvh;overflow-y:scroll}body.section-bg-projects main{padding-bottom:0}.projects-grid{gap:var(--spacing-lg);grid-template-columns:1fr;display:grid}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.projects-stack{width:100%;position:relative}.project-stack-spacer{height:var(--spacing-lg)}.project-stack-row{gap:var(--spacing-lg);grid-template-columns:1fr;display:grid;position:sticky}@media (width>=768px){.project-stack-row{grid-template-columns:repeat(2,1fr)}}.project-card-grid{cursor:pointer;flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card-grid__body{padding:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.project-card-grid__header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.project-card-grid__title{flex:1;font-size:1.05rem;font-weight:700;line-height:1.35}.project-card-grid__logos{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.project-card-grid__logo{-o-object-fit:contain;object-fit:contain;opacity:.8;width:auto;height:1.4rem}.project-card-grid__tagline{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.project-card-grid__meta{font-size:.78rem}.project-card-grid__tech{flex-wrap:wrap;gap:.3rem;margin-top:.25rem;display:flex}.project-card-grid__tech-pill{color:#ffffffd9;white-space:nowrap;border-radius:999px;padding:.18rem .55rem;font-size:.72rem}.project-card-grid__tech-more{align-self:center;font-size:.72rem}.project-card-grid__cta{padding-top:var(--spacing-sm);border-top:1px solid #ffffff1a;align-items:center;gap:.3rem;margin-top:auto;font-size:.85rem;font-weight:500;display:flex}.project-card-grid__arrow{transition:transform .2s;display:inline-block}.project-card-grid:hover .project-card-grid__arrow{transform:translate(4px)}.project-placeholder{flex-shrink:0;height:10rem;position:relative;overflow:hidden}.project-placeholder--tall{height:12rem}.project-placeholder__logos{left:var(--spacing-md);z-index:1;align-items:center;gap:.4rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-placeholder__logo{-o-object-fit:contain;object-fit:contain;filter:brightness(0)invert();opacity:.92;width:auto;max-width:10rem;height:1.7rem}.project-placeholder__title{left:var(--spacing-md);right:8.5rem;bottom:var(--spacing-md);color:#fff;text-shadow:0 1px 12px #00000047;z-index:1;font-size:1.2rem;font-weight:700;line-height:1.25;position:absolute}.project-placeholder__label{top:50%;right:var(--spacing-md);letter-spacing:.06em;text-transform:uppercase;color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;border:1px solid #ffffff26;border-radius:999px;padding:.2rem .6rem;font-size:.68rem;font-weight:600;position:absolute;transform:translateY(-50%)}.project-placeholder--rag:after{content:"";background-image:radial-gradient(circle,#fff3 1.5px,#0000 1.5px);background-size:20px 20px;position:absolute;inset:0}.project-placeholder--maps:after{content:"";background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.project-placeholder--trading:after{content:"";background-image:radial-gradient(circle at 12% 22%,#ffffff21 32px,#0000 32px),radial-gradient(circle at 72% 58%,#ffffff17 46px,#0000 46px),radial-gradient(circle at 44% 80%,#ffffff1c 22px,#0000 22px),radial-gradient(circle at 88% 18%,#ffffff14 38px,#0000 38px);position:absolute;inset:0}.project-placeholder--graph:after{content:"";background-image:repeating-linear-gradient(45deg,#ffffff12 0 1px,#0000 0 50%);background-size:16px 16px;position:absolute;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}.project-modal{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000a6;justify-content:center;align-items:flex-end;padding:0;animation:.2s forwards modalFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@media (width>=640px){.project-modal{padding:var(--spacing-lg) var(--spacing-sm);align-items:center}}.project-modal__panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;width:100%;max-width:44rem;max-height:92vh;padding:0;animation:.3s cubic-bezier(.4,0,.2,1) forwards modalSlideUp;display:flex;position:relative;overflow:hidden}@media (width>=640px){.project-modal__panel{border-radius:var(--radius-lg);max-height:88vh}}.project-modal__header{flex-shrink:0;position:relative}.project-modal__close{top:var(--spacing-sm);right:var(--spacing-sm);z-index:10;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:0;height:44px;padding:0;display:flex;position:absolute}.project-modal__content{min-height:0;padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.project-modal__info{gap:var(--spacing-md);flex-direction:column;display:flex}.project-modal__panel--split{width:95vw;max-width:64rem;height:min(40rem,86vh)}.project-modal__panel--split .project-placeholder--tall{height:8.5rem}.project-modal__panel--split .project-modal__content{flex-direction:row;gap:0;padding:0;overflow:hidden}.project-modal__panel--split .project-modal__info{gap:var(--spacing-sm);padding:var(--spacing-md);border-right:1px solid var(--glass-border-default,#ffffff26);flex:0 0 42%;overflow-y:auto}.project-modal__media{gap:var(--spacing-sm);min-width:0;padding:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.project-modal__media-frame{border-radius:var(--radius-md,16px);border:1px solid var(--glass-border-default,#ffffff26);background:#fff;flex:0 auto;min-height:0;max-height:100%;overflow-y:auto}.project-modal__media-img{width:100%;display:block}.project-modal__media-img+.project-modal__media-img{border-top:6px solid #e8e6e1}.project-modal__media-caption{flex-shrink:0;margin:0;font-size:.76rem;line-height:1.5}@media (width<=768px){.project-modal__panel--split{width:100%;max-width:44rem;height:auto;max-height:88vh}.project-modal__panel--split .project-placeholder--tall{height:12rem}.project-modal__panel--split .project-modal__content{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;overflow-y:auto}.project-modal__panel--split .project-modal__info{border-right:none;flex:none;padding:0;overflow:visible}.project-modal__panel--split .project-modal__media{padding:0;overflow:visible}.project-modal__panel--split .project-modal__media-frame{max-height:60vh}}.project-modal__title-row{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.project-modal__title{flex:1;font-size:1.3rem;font-weight:700;line-height:1.3}.project-modal__logos{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:flex}.project-modal__logo{-o-object-fit:contain;object-fit:contain;opacity:.85;width:auto;height:1.8rem}.project-modal__meta{margin-top:calc(-1 * var(--spacing-xs));font-size:.83rem}.project-modal__tagline{font-size:.975rem;font-weight:600;line-height:1.5}.project-modal__description{font-size:.875rem;line-height:1.65}.project-modal__section-title{letter-spacing:.07em;text-transform:uppercase;margin-bottom:var(--spacing-xs);opacity:.65;font-size:.72rem;font-weight:700}.project-modal__impact{padding:var(--spacing-sm)}.project-modal__impact-list{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.project-modal__impact-item{gap:var(--spacing-xs);align-items:flex-start;font-size:.865rem;line-height:1.5;display:flex}.project-modal__impact-item>span:first-child{flex-shrink:0;margin-top:.1rem}.project-modal__screenshots{gap:var(--spacing-sm);flex-direction:column;display:flex}.project-modal__screenshot{margin:0}.project-modal__screenshot-img{border-radius:var(--radius-md,16px);border:1px solid var(--glass-border-default,#ffffff26);width:100%;height:auto;display:block}.project-modal__screenshot-caption{margin-top:var(--spacing-xs);font-size:.78rem;line-height:1.5}.project-modal__highlights{flex-direction:column;gap:.6rem;display:flex}.project-modal__highlight{padding:.7rem .85rem}.project-modal__highlight-title{margin-bottom:.2rem;font-size:.88rem;font-weight:600}.project-modal__highlight-desc{margin-bottom:.45rem;font-size:.8rem;line-height:1.48}.project-modal__highlight-tech{flex-wrap:wrap;gap:.3rem;display:flex}.project-modal__outcomes{padding:var(--spacing-sm)}.project-modal__outcomes p{font-size:.875rem;line-height:1.65}.project-modal__tech-list{flex-wrap:wrap;gap:.35rem;display:flex}.project-card-credit{aspect-ratio:3.37/2.125;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #fff3;border-radius:16px;flex-direction:column;transition:box-shadow .25s,transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #0006,0 8px 16px #0003,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.project-card-credit[role=button]{cursor:pointer}.project-card-credit[role=button]:hover{transform:translateY(-3px);box-shadow:0 32px 56px #00000080,0 12px 24px #00000040,inset 0 1px #ffffff59,inset 0 -1px #0000001f}.project-card-credit:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(125deg,#ffffff21 0%,#ffffff0d 38%,#0000 58%);position:absolute;inset:0}.project-card-credit--rag:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#ffffff1a 1.5px,#0000 1.5px);background-size:20px 20px;position:absolute;inset:0}.project-card-credit--maps:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.project-card-credit--trading:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 14% 20%,#ffffff1a 38px,#0000 38px),radial-gradient(circle at 68% 55%,#ffffff12 54px,#0000 54px),radial-gradient(circle at 44% 82%,#ffffff14 30px,#0000 30px),radial-gradient(circle at 86% 14%,#ffffff0f 46px,#0000 46px);position:absolute;inset:0}.project-card-credit--graph:after{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(45deg,#ffffff0a 0 1px,#0000 0 50%);background-size:16px 16px;position:absolute;inset:0}.project-card-credit--circuit:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(0deg,#ffffff0d 1px,#0000 1px),radial-gradient(circle at 25% 25%,#ffffff24 2px,#0000 2.5px),radial-gradient(circle at 75% 75%,#ffffff1f 2px,#0000 2.5px);background-size:30px 30px,30px 30px,60px 60px,60px 60px;position:absolute;inset:0}.project-card-credit--topo:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(200% 100% at 30%,#0000 38%,#ffffff0f 38.5% 39.5%,#0000 40% 48%,#ffffff0d 48.5% 49.5%,#0000 50% 58%,#ffffff0a 58.5% 59.5%,#0000 60%);position:absolute;inset:0}.project-card-credit--chevron:after{content:"";pointer-events:none;z-index:0;background-image:repeating-linear-gradient(45deg,#ffffff0d 0 2px,#0000 2px 18px),repeating-linear-gradient(-45deg,#ffffff0d 0 2px,#0000 2px 18px);position:absolute;inset:0}.project-card-credit--terminal:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'><g fill='none' stroke='white' stroke-linecap='round' stroke-opacity='0.13' stroke-width='1.4'><path d='M14,17 L22,25 L14,33'/></g></svg>");background-size:50px 50px;position:absolute;inset:0}.project-card-credit--dots:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='white'><circle cx='14' cy='12' r='2' fill-opacity='0.18'/><circle cx='58' cy='22' r='1.5' fill-opacity='0.13'/><circle cx='32' cy='48' r='2.2' fill-opacity='0.20'/><circle cx='68' cy='62' r='1.7' fill-opacity='0.14'/><circle cx='10' cy='66' r='1.6' fill-opacity='0.15'/></g></svg>");background-size:80px 80px;position:absolute;inset:0}.project-card-credit__top{z-index:1;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;height:80px;padding:0 1.2rem;display:flex;position:relative}.project-card-credit__logos{flex-shrink:0;align-items:center;gap:.35rem;max-width:55%;display:flex;overflow:hidden}.project-card-credit__logo{-o-object-fit:contain;object-fit:contain;filter:brightness(0)invert();opacity:.88;flex-shrink:0;width:auto;max-width:9rem;height:1.55rem}.project-card-credit__brand{color:#ffffffb3;letter-spacing:-.02em;font-size:1.05rem;font-weight:800;line-height:1}.project-card-credit__badge{letter-spacing:.06em;text-transform:uppercase;color:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#00000047;border:1px solid #ffffff26;border-radius:999px;flex-shrink:0;padding:.18rem .5rem;font-size:.6rem;font-weight:600}.project-card-credit__glass{-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);z-index:1;background:#0000006b;border-top:1px solid #ffffff2e;flex-direction:column;flex:1;justify-content:space-between;padding:.65rem 1.2rem .9rem;display:flex;position:relative;overflow:hidden}.project-card-credit__title{color:#fffffff2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.2rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.project-card-credit__tagline{color:#fff9;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.35rem;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card-credit__bottom{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.project-card-credit__tech{align-items:center;gap:.28rem;min-width:0;display:flex;overflow:hidden}.project-card-credit__pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffc7;white-space:nowrap;background:#00000047;border:1px solid #ffffff21;border-radius:999px;flex-shrink:0;padding:.14rem .42rem;font-size:.6rem}.project-card-credit__more{color:#ffffff73;flex-shrink:0;font-size:.6rem}.project-card-credit__arrow{color:#ffffffd9;flex-shrink:0;font-size:.95rem;transition:transform .2s}.project-card-credit[role=button]:hover .project-card-credit__arrow{transform:translate(3px)}.project-card-credit__coming-soon{color:#ffffff61;flex-shrink:0;font-size:.63rem;font-style:italic}.project-card-credit__glass--coming-soon{justify-content:flex-end;align-items:flex-end}@media (width<=767px){.projects-scroll-wrap{overscroll-behavior:none;height:100dvh;overflow-y:scroll}body.section-bg-projects main{padding-bottom:0}.project-card-credit__top{height:56px}.project-card-credit__title{-webkit-line-clamp:1;font-size:1.05rem}.project-card-credit__tagline{-webkit-line-clamp:1;font-size:.72rem}.project-card-credit__glass{padding:.45rem 1rem .65rem}.project-card-credit__tech{max-width:calc(100% - 2rem)}}.edu-section{justify-content:center;align-items:center;min-height:calc(100dvh - 96px);padding:24px 24px 0;display:flex}.edu-bento-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:1060px;display:grid}.edu-card{border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.edu-card--nus{grid-row:1/3}.edu-card__hero{flex-direction:column;flex-shrink:0;justify-content:flex-end;min-height:180px;padding:24px 24px 20px;display:flex;position:relative;overflow:hidden}.edu-card__hero--nus{background:linear-gradient(145deg,#001f3f 0%,#0a3060 45%,#1565c0 100%)}.edu-card__hero--hci{background:linear-gradient(145deg,#0e2a1a 0%,#1b5e35 50%,#2e7d52 100%);min-height:150px}.edu-card__hero--cert{background:linear-gradient(145deg,#1a1000 0%,#5c3d0a 50%,#9a6b1a 100%);min-height:90px}.edu-card__hero--nus:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffffff1a 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.edu-card__hero--hci:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:0}.edu-card__hero--cert:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffc8320d 0 1px,#0000 1px 14px),repeating-linear-gradient(-45deg,#ffc8320d 0 1px,#0000 1px 14px);position:absolute;inset:0}.edu-card__logo{-o-object-fit:contain;object-fit:contain;opacity:.75;z-index:2;width:auto;height:32px;position:absolute;top:18px;right:18px}.edu-card__hero-content{z-index:1;position:relative}.edu-card__badge{letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;margin-bottom:12px;padding:3px 9px;font-size:.6rem;display:inline-block}.edu-card__degree{color:#fffffff7;letter-spacing:-.02em;margin-bottom:7px;font-size:1.15rem;font-weight:700;line-height:1.25}.edu-card__institution{color:#ffffff8c;margin-bottom:3px;font-size:.8rem}.edu-card__period{color:#ffffff59;font-size:.7rem}.edu-card__body{-webkit-backdrop-filter:blur(24px)saturate(120%);background:#ffffff0d;border:1px solid #ffffff1a;border-top:none;border-radius:0 0 20px 20px;flex-direction:column;flex:1;gap:14px;padding:18px 22px;display:flex}.edu-honours{color:#ffffffbf;letter-spacing:.01em;font-size:.78rem;font-weight:600}.edu-pill-group{flex-direction:column;gap:7px;display:flex}.edu-pill-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;font-size:.6rem}.edu-pill-list{flex-wrap:wrap;gap:6px;display:flex}.edu-pill{color:#ffffffa6;letter-spacing:.01em;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;padding:4px 10px;font-size:.67rem}.edu-exchange{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;padding:13px 15px;display:flex}.edu-exchange__logo{-o-object-fit:contain;object-fit:contain;opacity:.78;flex-shrink:0;width:auto;height:26px}.edu-exchange__title{color:#ffffffbf;margin-bottom:3px;font-size:.72rem;font-weight:600}.edu-exchange__sub{color:#ffffff61;font-size:.65rem;line-height:1.4}.edu-cert-entry{align-items:flex-start;gap:12px;display:flex}.edu-cert-logo{-o-object-fit:contain;object-fit:contain;filter:invert()brightness(.88);opacity:.85;flex-shrink:0;width:auto;height:16px;margin-top:3px}.edu-cert-name{color:#ffffffe6;margin-bottom:4px;font-size:.78rem;font-weight:600;line-height:1.35}.edu-cert-meta{color:#ffffff61;font-size:.65rem}@media (width<=640px){.edu-bento-grid{grid-template-rows:auto;grid-template-columns:1fr}.edu-card--nus{grid-row:auto}.edu-section{align-items:flex-start}}.gallery-filmstrip-wrapper{flex-direction:column;gap:20px;width:100vw;margin-left:calc(50% - 50vw);display:flex}.gallery-filmstrip-row{position:relative}.gallery-filmstrip{scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#0d0d0d;border-top:2px solid #1c1c1c;border-bottom:2px solid #1c1c1c;overflow:auto hidden}.gallery-filmstrip::-webkit-scrollbar{display:none}.gallery-filmstrip-track{flex-direction:column;min-width:100%;display:inline-flex}.gallery-filmstrip-sprockets{background-color:#0d0d0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='22'%3E%3Crect width='32' height='22' fill='%230d0d0d'/%3E%3Crect x='9' y='5' width='14' height='12' rx='2' fill='%23000' stroke='%232a2a2a' stroke-width='1'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:32px 22px;flex-shrink:0;height:22px}.gallery-filmstrip-edge-nums{background:#0d0d0d;flex-shrink:0;gap:8px;padding:2px 80px;display:flex}.gallery-filmstrip-edge-num{text-align:left;color:#ffa50052;letter-spacing:.1em;flex-shrink:0;width:180px;padding-left:4px;font-family:Courier New,monospace;font-size:.5rem}.gallery-filmstrip-frames{background:#0d0d0d;flex-shrink:0;gap:8px;padding:6px 80px 18px;display:flex}.gallery-filmstrip-frame-wrapper{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.gallery-filmstrip-frame{cursor:pointer;background:#111;border:2px solid #2a2a2a;width:180px;height:120px;transition:border-color .2s,transform .25s cubic-bezier(.34,1.3,.64,1);position:relative;overflow:hidden}.gallery-filmstrip-frame:hover{border-color:#ffffff59;transform:scale(1.03)}.gallery-filmstrip-frame img{-o-object-fit:cover;object-fit:cover;filter:brightness(.88)contrast(1.05)saturate(.9);pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;transition:filter .25s;display:block}.gallery-filmstrip-frame:hover img{filter:brightness()contrast()saturate()}.gallery-filmstrip-overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 50%,#000000bf 100%);align-items:flex-end;padding:6px;transition:opacity .25s;display:flex;position:absolute;inset:0}.gallery-filmstrip-frame:hover .gallery-filmstrip-overlay{opacity:1}.gallery-filmstrip-overlay span{color:#ffffffe6;letter-spacing:.1em;text-transform:uppercase;font-family:Courier New,monospace;font-size:.58rem;line-height:1.2}.gallery-lightbox-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px)saturate(150%);backdrop-filter:blur(10px)saturate(150%);background:#000000b8;justify-content:center;align-items:center;animation:.15s ease-out galleryFadeIn;display:flex;position:fixed;inset:0}.gallery-lightbox-film{background:#0d0d0d;border-top:2px solid #1c1c1c;border-bottom:2px solid #1c1c1c;flex-direction:column;width:min(92vw,1180px);max-height:90vh;display:flex;position:relative;box-shadow:0 0 0 1px #ffffff0a,0 30px 80px #0009}.gallery-lightbox-sprockets{background-color:#0d0d0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='22'%3E%3Crect width='32' height='22' fill='%230d0d0d'/%3E%3Crect x='9' y='5' width='14' height='12' rx='2' fill='%23000' stroke='%232a2a2a' stroke-width='1'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:32px 22px;flex-shrink:0;height:22px}.gallery-lightbox-edge-labels{background:#0d0d0d;flex-shrink:0;gap:8px;padding:2px 14px 4px;display:flex;overflow:hidden}.gallery-lightbox-edge-slot{flex-shrink:0;overflow:hidden}.gallery-lightbox-edge-mark{color:#ffa50052;letter-spacing:.1em;padding:0 4px;font-family:Courier New,monospace;font-size:.5rem;display:inline-block}.gallery-lightbox-frames-track{background:#0d0d0d;flex-shrink:0;justify-content:center;align-items:center;gap:8px;height:min(68vh,640px);padding:6px 14px;display:flex;overflow:hidden}.gallery-lightbox-frame{background:#111;border:2px solid #2a2a2a;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gallery-lightbox-frame img{-webkit-user-drag:none;width:100%;height:100%;display:block}.gallery-lightbox-frame--main{height:100%;aspect-ratio:var(--ratio,3 / 2);flex-grow:0;flex-shrink:0;max-width:calc(100% - 200px)}.gallery-lightbox-frame--main img{-o-object-fit:contain;object-fit:contain;filter:brightness(.88)contrast(1.05)saturate(.9)}.gallery-lightbox-frame--peek{cursor:pointer;opacity:.55;flex:1 1 0;min-width:60px;height:100%;transition:opacity .25s}.gallery-lightbox-frame--peek:hover{opacity:.85}.gallery-lightbox-frame--peek img{-o-object-fit:cover;object-fit:cover;filter:brightness(.45)contrast()saturate(.75)}.gallery-lightbox-frame--peek-left img{-o-object-position:right center;object-position:right center}.gallery-lightbox-frame--peek-right img{-o-object-position:left center;object-position:left center}.gallery-click-zone{z-index:3;cursor:pointer;width:35%;position:absolute;top:0;bottom:0}.gallery-click-left{left:0}.gallery-click-right{right:0}.gallery-lightbox-caption{color:#ffffffd1;letter-spacing:.1em;text-transform:uppercase;text-align:center;background:#0d0d0d;flex-shrink:0;justify-content:center;align-items:center;padding:10px 14px 12px;font-family:Courier New,monospace;font-size:.8rem;display:flex}@keyframes galleryFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=767px){.gallery-filmstrip-frames,.gallery-filmstrip-edge-nums{padding-left:8px;padding-right:8px}}.sq-section{-webkit-font-smoothing:antialiased}.sq-wrap{--sq-gold:#e8b53a;--sq-cobalt:#3a3ad6;--sq-navy:#0c1430;--sq-border:#ffffff2e;--sq-border-soft:#ffffff1a;--sq-glass:#0000006b;--sq-t1:#fffffff7;--sq-t2:#ffffff9e;--sq-t3:#ffffff61;--sq-radius:20px;flex-direction:column;gap:12px;max-width:1080px;margin:0 auto;padding:64px 24px 48px;display:flex}.sq-pill{color:#ffffffa6;letter-spacing:.01em;white-space:nowrap;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;padding:4px 10px;font-size:.67rem}.sq-pill-row{flex-wrap:wrap;gap:6px;display:flex}.sq-pill-row--top-gap{margin-top:14px}.sq-hero-card__badge{letter-spacing:.06em;text-transform:uppercase;color:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0000004d;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.6rem;font-weight:600;display:inline-block}.sq-hero-card{border-radius:var(--sq-radius);border:1px solid var(--sq-border);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #0006,0 8px 16px #0003,inset 0 1px #ffffff47,inset 0 -1px #0000001f}.sq-hero-card:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(125deg,#ffffff21 0%,#ffffff0d 38%,#0000 58%);position:absolute;inset:0}.sq-hero-card:after{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#ffffff1a 1.5px,#0000 1.5px);background-size:22px 22px;position:absolute;inset:0}.sq-hero-card__top{z-index:1;background:linear-gradient(135deg, #c49020 0%, var(--sq-gold) 25%, var(--sq-cobalt) 62%, var(--sq-navy) 100%);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;height:88px;padding:0 1.4rem;display:flex;position:relative}.sq-hero-card--redux .sq-hero-card__top{background:linear-gradient(135deg, var(--sq-gold) 0%, #cf722c 50%, #8f3d16 100%)}.sq-hero-card--botanical-qr .sq-hero-card__top{background:linear-gradient(135deg,#143619 0%,#2f6135 50%,#4a8a4f 100%)}.sq-hero-card--botanical-qr:after{background-image:conic-gradient(#ffffff21 90deg, transparent 0 180deg, #ffffff21 0 270deg, transparent 0);background-size:13px 13px}.sq-hero-card__brand-logo{opacity:.9;width:auto;height:28px;display:block}.sq-hero-card__glass{background:var(--sq-glass);-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);border-top:1px solid var(--sq-border);z-index:1;flex-direction:column;flex:1;justify-content:space-between;padding:.75rem 1.4rem 1rem;display:flex;position:relative;overflow:hidden}.sq-hero-card__main{flex-direction:column;gap:.4rem;display:flex}.sq-hero-card__head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sq-hero-card__title{color:var(--sq-t1);margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.sq-hero-card__tagline{color:var(--sq-t2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.sq-hero-card__bottom{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.sq-hero-card__date{color:var(--sq-t3);white-space:nowrap;flex-shrink:0;font-size:.65rem}.sq-card{border-radius:var(--sq-radius);border:1px solid var(--sq-border);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000059,0 6px 12px #0000002e,inset 0 1px #fff3,inset 0 -1px #0000001a}.sq-card__hero{flex-direction:column;flex-shrink:0;justify-content:flex-end;min-height:140px;padding:22px 24px 20px;display:flex;position:relative;overflow:hidden}.sq-card__hero--brand{background:linear-gradient(145deg, var(--sq-navy) 0%, var(--sq-cobalt) 55%, #2222a8 100%)}.sq-card__hero--till{background:linear-gradient(145deg,#06102a 0%,#1a2a6b 50%,#2a3ab5 100%)}.sq-card__hero--booth{background:linear-gradient(145deg,#0c0a18 0%,#1a1640 50%,#2e2860 100%)}.sq-card__hero--botanical{background:linear-gradient(145deg,#0b160f 0%,#233a26 52%,#344b2f 100%)}.sq-card__hero--botanical:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffffff14 1.5px,#0000 1.5px);background-position:0 0,9px 9px;background-size:18px 18px;position:absolute;inset:0}.sq-card__hero--brand:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#ffffff1a 1.5px,#0000 1.5px);background-size:20px 20px;position:absolute;inset:0}.sq-card__hero--till:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffffff0d 0 1px,#0000 0 50%);background-size:16px 16px;position:absolute;inset:0}.sq-card__hero--booth:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.sq-card__hero-content{z-index:1;position:relative}.sq-card__title{color:#fffffff7;letter-spacing:-.02em;margin:10px 0 6px;font-size:1.15rem;font-weight:700;line-height:1.25}.sq-card__subtitle{color:#ffffff8c;max-width:600px;margin:0;font-size:.8rem;line-height:1.5}.sq-card__body{-webkit-backdrop-filter:blur(24px)saturate(120%);backdrop-filter:blur(24px)saturate(120%);border-radius:0 0 var(--sq-radius) var(--sq-radius);background:#ffffff0d;border-top:none;flex-direction:column;flex:1;gap:16px;padding:18px 22px;display:flex}.sq-card__subsection{flex-direction:column;gap:10px;display:flex}.sq-card__label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;font-size:.6rem}.sq-tag-rail{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#00000040;border:1px solid #ffffff14;border-radius:12px;padding:14px 16px;overflow:auto hidden}.sq-tag-rail::-webkit-scrollbar{display:none}.sq-tag-track{align-items:flex-end;gap:14px;width:max-content;padding-right:16px;display:flex}.sq-tag-item{flex-shrink:0;width:170px}.sq-tag-img{aspect-ratio:60/90;-o-object-fit:contain;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 10px #00000073);border-radius:6px;width:100%;display:block}.sq-nc-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.sq-nc-btn{all:unset;cursor:pointer;outline-offset:3px;perspective:1000px;border-radius:10px;display:block}.sq-nc-btn:focus-visible{outline:2px solid #fff9}.sq-nc-wrap{aspect-ratio:1.55;width:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;border-radius:10px;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.sq-nc-face{backface-visibility:hidden;border:1px solid #ffffff1a;border-radius:10px;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 24px #00000059}.sq-nc-face--front{transform:rotateY(0)}.sq-nc-face--back{transform:rotateY(180deg)}@media (hover:hover) and (pointer:fine){.sq-nc-btn:hover .sq-nc-wrap{transform:rotateY(180deg)}}.sq-nc-btn--flipped .sq-nc-wrap{transform:rotateY(180deg)}.sq-nc-face img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.sq-nc-wrap{transition:none}}.sq-card__pos-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:16px;display:grid}.sq-pos-img-wrap{background:#0c1118;border:1px solid #ffffff1a;border-radius:10px;overflow:hidden;box-shadow:0 16px 40px #0000004d}.sq-pos-img{aspect-ratio:1194/834;-o-object-fit:cover;object-fit:cover;width:100%;display:block}.sq-booth-img-wrap{background:#0c1118;border:1px solid #ffffff1a;border-radius:10px;overflow:hidden;box-shadow:0 16px 40px #0000004d}.sq-booth-img{aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;width:100%;display:block}.sq-bul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sq-bul__item{color:#ffffff9e;padding-left:16px;font-size:.78rem;line-height:1.5;position:relative}.sq-bul__item:before{content:"";background:#e8b53ad9;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:2px}.sq-card__bq-layout{grid-template-columns:.85fr 1fr;align-items:center;gap:18px;display:grid}.sq-bq-preview{background:#f4f1e9;border:1px solid #ffffff1f;border-radius:12px;transition:transform .18s,box-shadow .18s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 40px #0000004d}.sq-bq-preview:hover{transform:translateY(-2px);box-shadow:0 20px 48px #0006}.sq-bq-preview:focus-visible{outline-offset:3px;outline:2px solid #fff9}.sq-bq-preview img,.sq-bq-preview video{width:100%;height:auto;display:block}.sq-bq-preview video{aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.sq-launch-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.sq-launch{color:#fffffff2;background:linear-gradient(135deg,#344b2f 0%,#4a6b3f 100%);border:1px solid #ffffff29;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:.55rem 1rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 6px 18px #0b160f66}.sq-launch:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 10px 24px #0b160f80}.sq-launch:focus-visible{outline-offset:3px;outline:2px solid #fff9}.sq-launch__arrow{width:14px;height:14px;display:block}.sq-acc-head{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:block}.sq-acc-head:focus-visible{outline-offset:3px;border-radius:var(--sq-radius);outline:2px solid #ffffff80}.sq-acc-head .sq-hero-card{transition:transform .18s,box-shadow .18s}.sq-acc-head:hover .sq-hero-card{transform:translateY(-2px)}.sq-hero-card__meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.sq-chev{color:#fff9;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .25s,color .25s,background .25s,border-color .25s;display:inline-flex}.sq-chev svg{width:12px;height:12px;display:block}.sq-acc-head:hover .sq-chev{color:#ffffffe6;background:#ffffff12;border-color:#ffffff42}.sq-acc-row--open .sq-chev{color:#ffffffd9;transform:rotate(180deg)}.sq-acc-panel{display:none}.sq-acc-row--open .sq-acc-panel{padding-top:12px;display:block}.sq-acc-panel-inner{flex-direction:column;gap:12px;display:flex}.sq-soon{border:1px dashed var(--sq-border-soft);border-radius:var(--sq-radius);background:#ffffff05;align-items:center;gap:12px;padding:18px 22px;display:flex}.sq-soon__badge{letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c;border:1px solid var(--sq-border-soft);background:#ffffff0d;border-radius:999px;padding:.2rem .55rem;font-size:.6rem;font-weight:600}@media (width<=640px){.sq-wrap{padding:64px 16px 32px}.sq-hero-card__top{height:auto;min-height:72px;padding-top:14px;padding-bottom:14px}.sq-hero-card__badge{white-space:normal;text-align:right;flex-shrink:1;line-height:1.3}.sq-card__pos-layout{grid-template-columns:1fr}.sq-nc-grid{grid-template-columns:1fr;gap:14px;max-width:none;margin:0}.sq-tag-item{width:110px}}@media (width<=820px){.sq-card__pos-layout,.sq-card__bq-layout{grid-template-columns:1fr}.sq-bq-preview{width:100%;max-width:320px;margin:0 auto}}.mac-startup{z-index:9999;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.mac-startup__content{z-index:2;flex-direction:column;align-items:center;gap:1.1rem;display:flex;position:relative}.mac-startup__pretext,.mac-startup__logo,.mac-startup__caption{opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none}.mac-startup__pretext{color:#ffffffc7;letter-spacing:.04em;text-align:center;margin:0;font-family:EB Garamond,Georgia,serif;font-size:1.05rem;font-weight:400}.mac-startup__logo{width:auto;height:72px}.mac-startup__caption{color:#ffffffc7;letter-spacing:.04em;text-align:center;margin:0;font-family:EB Garamond,Georgia,serif;font-size:1.05rem;font-weight:400}@keyframes mac-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mac-startup--glow .mac-startup__pretext{animation:1.2s cubic-bezier(.4,0,.2,1) forwards mac-reveal}.mac-startup--glow .mac-startup__logo{animation:1.2s cubic-bezier(.4,0,.2,1) 1s forwards mac-reveal}.mac-startup--glow .mac-startup__caption{animation:1.2s cubic-bezier(.4,0,.2,1) 2s forwards mac-reveal}.mac-startup--exit{opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.4,0,.2,1)}.route-transition-overlay{z-index:8888;pointer-events:none;opacity:0;background:#000;position:fixed;inset:0}.route-transition-overlay--out{pointer-events:all;animation:.32s cubic-bezier(.4,0,.2,1) forwards overlayFadeIn}.route-transition-overlay--in{animation:.42s cubic-bezier(.4,0,.2,1) forwards overlayFadeOut}.route-transition-overlay--idle{opacity:0;pointer-events:none}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.mac-startup--glow .mac-startup__pretext,.mac-startup--glow .mac-startup__logo,.mac-startup--glow .mac-startup__caption,.mac-startup--exit{animation-duration:.01ms!important;animation-delay:0s!important}.route-transition-overlay--out,.route-transition-overlay--in{animation-duration:.01ms!important}}.clock-pill{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;opacity:.001;will-change:transform, opacity;background:#00000047;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:0;height:42px;padding:0 1.1rem;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}.clock-pill:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#fff0 50%,#ffffff1a 100%);border-radius:999px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.app-loaded .clock-pill{animation:.65s cubic-bezier(.34,1.2,.64,1) .1s forwards clockPillIn}@keyframes clockPillIn{0%{opacity:.001;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.clock-pill__time{letter-spacing:.01em;color:#ffffffd1;font-variant-numeric:tabular-nums;font-family:Inter,-apple-system,sans-serif;font-size:.8rem;font-weight:400}.clock-pill__colon{transition:opacity .15s;display:inline-block}.clock-pill__colon[data-blink=false]{opacity:.15}.clock-pill__seconds{color:#ffffff73}.clock-pill__sep{color:#ffffff2e;pointer-events:none;flex-shrink:0;margin:0 .45rem;font-family:Inter,-apple-system,sans-serif;font-size:.75rem;line-height:1}.clock-pill__tz{letter-spacing:.01em;color:#ffffff61;font-family:Inter,-apple-system,sans-serif;font-size:.72rem;font-weight:400}@media (prefers-reduced-motion:reduce){.clock-pill__colon{transition:none;opacity:1!important}}@media (width<=767px){.clock-pill{display:none}}.bottom-nav{opacity:.001;will-change:transform, opacity}.app-loaded .bottom-nav{animation:.65s cubic-bezier(.34,1.2,.64,1) .22s forwards navSlideUp}@keyframes navSlideUp{0%{opacity:.001;transform:translate(-50%)translateY(16px)scale(.97)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.bottom-nav{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);white-space:nowrap;background:#00000047;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:0;height:42px;padding:0 1.1rem;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff1a}.bottom-nav:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff2e 0%,#fff0 50%,#ffffff1a 100%);border-radius:999px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.bottom-nav__link{letter-spacing:.01em;color:#ffffff7a;cursor:pointer;background:0 0;border:none;align-items:center;height:100%;padding:0 .75rem;font-family:Inter,-apple-system,sans-serif;font-size:.8rem;font-weight:400;text-decoration:none;transition:color .22s;display:flex;position:relative}.bottom-nav__link:hover{color:#ffffffd1}.bottom-nav__link.active{color:#fffffff5;font-weight:500}.bottom-nav__sep{color:#ffffff2e;pointer-events:none;flex-shrink:0;font-size:.75rem;line-height:1}.bottom-nav__scroll{align-items:center;width:100%;height:100%;display:flex}@media (width<=767px){.bottom-nav{max-width:calc(100vw - 36px);height:48px}.bottom-nav__scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:inherit;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14px calc(100% - 14px),#0000 100%)}.bottom-nav__scroll::-webkit-scrollbar{display:none}.bottom-nav__link{padding:0 .7rem;font-size:.82rem}}.page-transition{animation-duration:.3s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:both}.page-transition.fadeIn{animation-name:pageFadeIn}.page-transition.fadeOut{animation-name:pageFadeOut}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageFadeOut{0%{opacity:1}to{opacity:0}}.page-transition-enter{opacity:0;transform:translateY(20px)scale(.98)}.page-transition-enter-active{opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(0)scale(1)}.page-transition-exit{opacity:1;transform:translateY(0)scale(1)}.page-transition-exit-active{opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(-20px)scale(.98)}.home-transition-enter{opacity:0;transform:scale(.9)}.home-transition-enter-active{opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:scale(1)}.home-transition-exit{opacity:1;transform:scale(1)}.home-transition-exit-active{opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);transform:scale(1.1)}@keyframes sectionFadeIn{0%{transform:translateY(20px)}to{transform:translateY(0)}}.section-content-enter{animation:.5s cubic-bezier(.4,0,.2,1) sectionFadeIn}body.section-bg-skills .section-content-enter{animation:none}.stagger-item{opacity:0;animation:.5s cubic-bezier(.4,0,.2,1) forwards fadeInUp}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.15s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.25s}.stagger-item:nth-child(5){animation-delay:.3s}.stagger-item:nth-child(6){animation-delay:.35s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes navSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.nav-enter{animation:.3s cubic-bezier(.4,0,.2,1) navSlideDown}.btn-hover-scale{transition:transform .2s cubic-bezier(.4,0,.2,1)}.btn-hover-scale:hover{transform:scale(1.05)}.btn-hover-scale:active{transform:scale(.95)}.link-underline{text-decoration:none;position:relative}.link-underline:after{content:"";background:currentColor;width:0;height:2px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-4px;left:0}.link-underline:hover:after,.link-underline.active:after{width:100%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:3s ease-in-out infinite float}.glow-on-hover{position:relative;overflow:hidden}.glow-on-hover:before{content:"";pointer-events:none;background:#fff3;border-radius:50%;width:0;height:0;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glow-on-hover:hover:before{width:300px;height:300px}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.shimmer{background:linear-gradient(105deg,#0000 20%,#ffffff2e 50%,#0000 80%) 0 0/800px 100% no-repeat,#ffffff14 0 0/100% 100%;animation:1.8s ease-in-out infinite shimmer}@keyframes skeletonCardIn{0%{opacity:0}to{opacity:1}}.skeleton-card-enter{opacity:0;animation:.4s cubic-bezier(.4,0,.2,1) forwards skeletonCardIn;animation-delay:calc(var(--stagger-index,0) * 60ms)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slideDown{animation:.3s ease-out forwards slideDown;overflow:visible}@media (pointer:fine){*,:before,:after{cursor:none!important}}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring,.mouse-ripple{display:none!important}}.cursor-dot{pointer-events:none;z-index:99999;will-change:transform;background:#fffffff2;border-radius:50%;width:8px;height:8px;transition:width .2s,height .2s,top .2s,left .2s,opacity .2s;position:fixed;top:-4px;left:-4px}.cursor-ring{pointer-events:none;z-index:99998;will-change:transform;border:1.5px solid #ffffff8c;border-radius:50%;width:36px;height:36px;transition:width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1),top .28s cubic-bezier(.4,0,.2,1),left .28s cubic-bezier(.4,0,.2,1),border-color .28s;position:fixed;top:-18px;left:-18px}.cursor-ring--hover{border-color:#ffffffd9;width:56px;height:56px;top:-28px;left:-28px}.cursor-dot--hover{opacity:.4;width:5px;height:5px;top:-2.5px;left:-2.5px}.cursor-ring--canvas-node{border-color:#ffffffd9;width:44px;height:44px;top:-22px;left:-22px}.cursor-ring--canvas-grab{border-style:dashed;border-color:#ffffffe6;width:60px;height:60px;top:-30px;left:-30px}.reveal{transition:transform .55s cubic-bezier(.4,0,.2,1);transform:translateY(28px)}.reveal--visible{transform:translateY(0)}@keyframes slideInFromRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.exp-slide-right{animation:.42s cubic-bezier(.34,1.3,.64,1) slideInFromRight}.exp-slide-left{animation:.42s cubic-bezier(.34,1.3,.64,1) slideInFromLeft}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body,.route-fade{animation:none}.page-transition-enter-active,.page-transition-exit-active,.home-transition-enter-active,.home-transition-exit-active{transition:none}.stagger-item,.skeleton-card-enter{opacity:1;animation:none}.shimmer,.nav-enter,.section-content-enter{animation:none}.reveal{transition:none;transform:none}.cursor-dot,.cursor-ring{display:none}}:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #2563eb}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{animation:.4s ease-out initialPageFade}@keyframes initialPageFade{0%{opacity:0}to{opacity:1}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body:before{content:"";z-index:-1;pointer-events:none;background-color:#f9fafb;width:100%;height:100%;position:fixed;top:0;left:0}body{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1));position:relative}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.section-container{max-width:80rem;margin-left:auto;margin-right:auto;padding:3rem 1rem}@media (width>=640px){.section-container{padding-left:1.5rem;padding-right:1.5rem}}@media (width>=1024px){.section-container{padding-left:2rem;padding-right:2rem}}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.isolate{isolation:isolate}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-2xl{margin-bottom:3rem}.mb-md{margin-bottom:1.5rem}.mb-sm{margin-bottom:1rem}.mb-xs{margin-bottom:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-2xl{height:3rem}.h-8{height:2rem}.h-\[120px\]{height:120px}.h-lg{height:2rem}.h-md{height:1.5rem}.h-sm{height:1rem}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-64{width:16rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.max-w-5xl{max-width:64rem}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-xs{gap:.5rem}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-white\/30{border-color:#ffffff4d}.border-t-white{--tw-border-opacity:1;border-top-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-black\/20{background-color:#0003}.pb-24{padding-bottom:6rem}.text-center{text-align:center}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:2.5rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:5rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-full:9999px;--shadow-sm:0 2px 8px #00000014;--shadow-md:0 4px 16px #0000001f;--shadow-lg:0 8px 32px #00000026;--color-primary:#2563eb;--color-primary-dark:#1e40af;--color-primary-light:#60a5fa;--color-accent:#f59e0b;--color-accent-dark:#d97706;--color-accent-light:#fbbf24;--glass-bg-subtle:#ffffff05;--glass-bg-default:#ffffff0a;--glass-bg-emphasized:#ffffff0f;--glass-border-subtle:#ffffff14;--glass-border-default:#ffffff1f;--glass-text-primary:#fffffff2;--glass-text-secondary:#ffffffd9;--glass-blur:16px;--glass-saturation:150%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border:1px solid #ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0000004d;border-color:#ffffff26}::-webkit-scrollbar-thumb:active{background:#00000059}*{scrollbar-width:thin;scrollbar-color:#0003 transparent}body:has(.watch-home-container){touch-action:none!important;overscroll-behavior:none!important;width:100%!important;height:100%!important;position:fixed!important;overflow:hidden!important}body:has(.watch-home-container):before{display:none}.watch-home-container{width:100%;height:100%;padding:var(--spacing-md);touch-action:none;overscroll-behavior:none;background-image:linear-gradient(#0000009e,#000000b3),url(/gallery-2.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.home-logo{opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;height:60px;animation:.8s ease-out .15s forwards iconFadeIn;position:absolute;top:24px;left:50%;transform:translate(-50%)}@media (width<=767px){.home-logo{height:44px;top:18px}}.watch-icon-grid{width:100%;max-width:800px;padding:var(--spacing-xl) 0;z-index:1;margin:0 auto;position:relative}@media (width>=1024px){.watch-icon-grid{justify-content:center;align-items:center;min-height:560px;display:flex;position:relative}.watch-app-icon{position:absolute}.watch-app-icon:first-child{z-index:5;top:50%;left:50%;transform:translate(-110px,-110px)}.watch-app-icon:nth-child(2){top:50%;left:50%;transform:translate(-330px,-210px)}.watch-app-icon:nth-child(3){top:50%;left:50%;transform:translate(150px,-210px)}.watch-app-icon:nth-child(4){top:50%;left:50%;transform:translate(-570px,-90px)}.watch-app-icon:nth-child(5){top:50%;left:50%;transform:translate(390px,-90px)}.watch-app-icon:nth-child(6){top:50%;left:50%;transform:translate(-330px,30px)}.watch-app-icon:nth-child(7){top:50%;left:50%;transform:translate(150px,30px)}.watch-app-icon:nth-child(8){top:50%;left:50%;transform:translate(-90px,150px)}.watch-app-icon-circle{width:180px;height:180px}.watch-app-icon svg:not(.watch-app-icon-arc){width:72px;height:72px}.watch-app-icon-circle.profile-icon{border-width:4px;width:220px;height:220px;box-shadow:0 8px 32px #0003}.watch-app-icon:hover .watch-app-icon-circle.profile-icon{box-shadow:0 12px 48px #0000004d}}@media (width>=768px) and (width<=1023px){.watch-icon-grid{grid-template-columns:repeat(3,1fr);justify-items:center;gap:40px;max-width:700px;margin:0 auto;padding:20px;display:grid}.watch-app-icon{position:relative}.watch-app-icon:nth-child(2){grid-column:1}.watch-app-icon:nth-child(3){grid-column:3}.watch-app-icon:nth-child(4){grid-column:1}.watch-app-icon:first-child{grid-column:2}.watch-app-icon:nth-child(5){grid-column:3}.watch-app-icon:nth-child(6){grid-column:1}.watch-app-icon:nth-child(8){grid-column:2}.watch-app-icon:nth-child(7){grid-column:3}.watch-app-icon-circle{width:140px;height:140px}.watch-app-icon svg:not(.watch-app-icon-arc){width:56px;height:56px}}.watch-app-icon-label{display:none}@media (width<=767px){.watch-icon-grid{-moz-column-gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;justify-items:center;gap:44px 8px;max-width:440px;min-height:auto;margin:0 auto;padding:32px 12px;display:grid}.watch-app-icon,.watch-app-icon:first-child,.watch-app-icon:nth-child(2),.watch-app-icon:nth-child(3),.watch-app-icon:nth-child(4),.watch-app-icon:nth-child(5),.watch-app-icon:nth-child(6),.watch-app-icon:nth-child(7),.watch-app-icon:nth-child(8){z-index:auto;position:static;top:auto;left:auto;transform:none}.watch-app-icon-circle{width:min(88px,18vw);height:min(88px,18vw)}.watch-app-icon svg:not(.watch-app-icon-arc){width:min(36px,7.5vw);height:min(36px,7.5vw)}.watch-app-icon-circle.profile-icon{border-width:2px;width:min(88px,18vw);height:min(88px,18vw);box-shadow:0 4px 16px #0003}.watch-app-icon:hover .watch-app-icon-circle.profile-icon{box-shadow:0 6px 24px #0000004d}.watch-icon-grid .watch-app-icon-arc{display:none}.watch-app-icon-label{color:#fffffff2;letter-spacing:.01em;text-align:center;text-shadow:0 1px 2px #00000080;margin-top:10px;font-family:EB Garamond,Georgia,serif;font-size:13px;font-weight:400;line-height:1;display:block}}.watch-app-icon{cursor:pointer;flex-direction:column;align-items:center;gap:0;text-decoration:none;display:flex}.watch-app-icon:hover .watch-app-icon-circle{transform:scale(1.08)}.watch-app-icon:active .watch-app-icon-circle{transition-duration:.1s;transform:scale(.92)}.watch-app-icon-circle{-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%);opacity:0;background:#ffffff2e;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out forwards iconFadeIn;display:flex;position:relative;box-shadow:0 0 0 1px #ffffff14,0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #0000001a}.watch-app-icon:hover .watch-app-icon-circle{background:#ffffff2e;border-color:#ffffff40;box-shadow:0 0 0 1px #ffffff1f,0 12px 48px #00000059,inset 0 1px #ffffff40,inset 0 -1px #0000001f}.watch-app-icon svg:not(.watch-app-icon-arc){color:#fff;z-index:2;filter:drop-shadow(0 2px 4px #0003);position:relative}@keyframes profileFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.012)}}.watch-app-icon:first-child .watch-app-icon-circle.profile-icon{animation:.6s ease-out .1s both iconFadeIn,5s cubic-bezier(.45,0,.55,1) .8s infinite profileFloat}.watch-app-icon-circle.profile-icon{-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#fff6;position:relative;overflow:visible;background:0 0!important}.watch-app-icon:hover .watch-app-icon-circle.profile-icon{border-color:#ffffff80}.watch-app-icon-circle.profile-icon img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.watch-app-icon-arc{pointer-events:none;flex-shrink:0;width:100%;height:24px;margin-bottom:-30px;display:block;overflow:visible}.watch-app-icon-arc text{fill:#ffffffd9;letter-spacing:.02em;opacity:0;font-family:EB Garamond,Georgia,serif;font-size:11px;font-weight:400;animation:.6s ease-out forwards iconFadeIn}@media (width>=768px){.watch-app-icon-arc{height:26px;margin-bottom:-28px}.watch-app-icon-arc text{font-size:10px}}@media (width>=1024px){.watch-app-icon-arc{height:30px}.watch-app-icon-arc text{font-size:11px}}@keyframes iconFadeIn{0%{opacity:0}to{opacity:1}}.watch-app-icon:first-child .watch-app-icon-circle,.watch-app-icon:first-child .watch-app-icon-label,.watch-app-icon:first-child .watch-app-icon-arc text{animation-delay:.1s}.watch-app-icon:nth-child(2) .watch-app-icon-circle,.watch-app-icon:nth-child(2) .watch-app-icon-label,.watch-app-icon:nth-child(2) .watch-app-icon-arc text{animation-delay:.2s}.watch-app-icon:nth-child(3) .watch-app-icon-circle,.watch-app-icon:nth-child(3) .watch-app-icon-label,.watch-app-icon:nth-child(3) .watch-app-icon-arc text{animation-delay:.3s}.watch-app-icon:nth-child(4) .watch-app-icon-circle,.watch-app-icon:nth-child(4) .watch-app-icon-label,.watch-app-icon:nth-child(4) .watch-app-icon-arc text{animation-delay:.4s}.watch-app-icon:nth-child(5) .watch-app-icon-circle,.watch-app-icon:nth-child(5) .watch-app-icon-label,.watch-app-icon:nth-child(5) .watch-app-icon-arc text{animation-delay:.5s}.watch-app-icon:nth-child(6) .watch-app-icon-circle,.watch-app-icon:nth-child(6) .watch-app-icon-label,.watch-app-icon:nth-child(6) .watch-app-icon-arc text{animation-delay:.6s}.watch-app-icon:nth-child(7) .watch-app-icon-circle,.watch-app-icon:nth-child(7) .watch-app-icon-label,.watch-app-icon:nth-child(7) .watch-app-icon-arc text{animation-delay:.7s}.watch-app-icon:nth-child(8) .watch-app-icon-circle,.watch-app-icon:nth-child(8) .watch-app-icon-label,.watch-app-icon:nth-child(8) .watch-app-icon-arc text{animation-delay:.8s}.section-footer-copy{display:none}@media (prefers-reduced-motion:reduce){.home-logo,.watch-app-icon-circle{opacity:1;animation:none}.watch-app-icon:hover .watch-app-icon-circle,.watch-app-icon:active .watch-app-icon-circle{transform:none}.watch-app-icon-circle{transition:none}}
