:root{--honey:#fdd10d;--amber:#febc20;--amber-dark:#dd9b1d;--ink:#2b2620;--paper:#f3ead8;--mist:#cfc4ad;--primary-color:var(--amber);--primary-dark-color:#9a6400;--secondary-color:#fff;--text-color:var(--ink);--page-bg:#fff;--crazy-color-1:#e4572e;--crazy-color-2:#61e8e1;--crazy-color-3:#f25757;--crazy-color-4:#e56399;--disco-bg:#07070f;--neon-pink:#ff7ad9;--neon-cyan:#7ff9ff;--neon-yellow:#ffe066;--disco-text:#f2f2ff;--content-width:660px;--gutter:1.0875rem;--radius:10px;--focus-ring:3px solid #1a73e8;--lights-ms:.3s;--beat-ms:.5s}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/quicksand-vietnamese-400-normal.CYVZRxRj.woff2)format("woff2"),url(/_astro/quicksand-vietnamese-400-normal.D4WCpyCa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/quicksand-latin-ext-400-normal.BdPaGDPN.woff2)format("woff2"),url(/_astro/quicksand-latin-ext-400-normal.BzqwlOho.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/quicksand-latin-400-normal.BSDtH9U0.woff2)format("woff2"),url(/_astro/quicksand-latin-400-normal.BqXBKzPR.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/quicksand-vietnamese-600-normal.dD2kotB2.woff2)format("woff2"),url(/_astro/quicksand-vietnamese-600-normal.JmvBH-hY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/quicksand-latin-ext-600-normal.fxOF3zcr.woff2)format("woff2"),url(/_astro/quicksand-latin-ext-600-normal.BDPVAPCS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/quicksand-latin-600-normal.DTBPeRoM.woff2)format("woff2"),url(/_astro/quicksand-latin-600-normal.CkxN0sDw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/quicksand-vietnamese-700-normal.5oDqeHTF.woff2)format("woff2"),url(/_astro/quicksand-vietnamese-700-normal.BsIWXrxI.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/quicksand-latin-ext-700-normal.8b1JBoEj.woff2)format("woff2"),url(/_astro/quicksand-latin-ext-700-normal.DbLsDSEV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/quicksand-latin-700-normal.Dpk7G9Y6.woff2)format("woff2"),url(/_astro/quicksand-latin-700-normal.HjJN-aaT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:Quicksand,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}body{color:var(--text-color);background:var(--page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--lights-ms) ease, color var(--lights-ms) ease;margin:0;font-size:1.25rem;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--primary-dark-color);text-underline-offset:3px;text-decoration:underline 1px;transition:color .2s}a:hover{color:#000}button{font:inherit}:focus-visible{outline:var(--focus-ring);outline-offset:3px}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){:not(.site-header),:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.content-area{max-width:var(--content-width);padding:0 var(--gutter) 1.45rem;margin:0 auto}.bio{animation:.3s ease-in .4s backwards fade-in}.bio p{margin:0 0 1.2rem}@media (width<=480px){body{font-size:1.1rem}}.site-header{background:var(--primary-color);margin-bottom:1.45rem}.header-grid{max-width:var(--content-width);padding:1.45rem var(--gutter);grid-template-columns:1fr;gap:1rem 3rem;margin:0 auto;animation:.3s ease-in .1s backwards fade-in;display:grid}.header-photo{align-self:center;width:150px;max-width:150px}.header-photo img{object-fit:cover;border-radius:50%;width:150px;height:150px}.header-titles{align-self:center}.header-titles h1,.header-titles p{color:var(--secondary-color);text-shadow:0 1px 2px #00000040;margin:0}.header-titles h1{font-size:2.5rem;line-height:1.2}.header-titles h1 a{color:inherit;text-decoration:none}.header-titles .subtitle{font-size:1.5rem;font-weight:700}.subtitle .party-text{display:none}@media (width>=480px){.header-grid{grid-template-columns:auto 1fr}}.site-footer{animation:.3s ease-in .6s backwards fade-in}.footer-rule{background:var(--primary-color);height:1px;margin-bottom:2rem}.social-links{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0;padding:0 0 2rem;list-style:none;display:flex}.social-links a,.social-links button{color:var(--primary-dark-color);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;line-height:2rem;text-decoration:none;display:inline-flex}.social-links a:hover,.social-links button:hover{color:#000}.social-links svg{fill:currentColor;flex:none;width:24px;height:24px}.footer-line{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding-bottom:1.25rem;font-size:1rem;display:flex}.copyright{margin:0}.noscript-note{font-size:1rem}.party-bar{align-items:center;gap:.75rem;margin-left:auto;display:flex}.party-toggle{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--amber-dark);cursor:pointer;background:0 0;border-radius:2px;padding:.55rem .85rem;font:700 .72rem/1 Quicksand,sans-serif;transition:background-color .2s,border-color .2s}.party-toggle:hover{border-color:var(--amber);background:#fdd10d2e}.party-toggle[aria-disabled=true]{cursor:progress}.contact-dialog{border-radius:var(--radius);width:min(560px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text-color);background:#fff;border:0;padding:0;box-shadow:0 20px 60px #00000059}.contact-dialog::backdrop{background:#0000008c}.contact-dialog-inner{padding:1.5rem}.contact-dialog header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.contact-dialog h2{margin:0;font-size:1.5rem}.dialog-close{cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.25rem .5rem;font-size:1.75rem;line-height:1}.form-field{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.form-field label{font-size:1rem;font-weight:600}.form-field input,.form-field textarea{font:inherit;border:1px solid #8a8a8a;border-radius:6px;width:100%;padding:.6rem .75rem;font-size:1rem}.form-field textarea{resize:vertical;min-height:9rem}.form-field [aria-invalid=true]{border-color:#b3261e}.field-error{color:#b3261e;min-height:1.2em;font-size:.9rem}.char-count{color:#555;align-self:flex-end;font-size:.85rem}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.turnstile-slot{min-height:65px;margin-bottom:1rem}.form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.submit-button{letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);cursor:pointer;border:0;border-radius:2px;padding:12px 22px;font:700 .85rem/1 Quicksand,sans-serif}.submit-button:hover{background:#3d362d}.submit-button:disabled{opacity:.6;cursor:progress}.form-status{margin:1rem 0 0;font-size:1rem}.form-status[data-kind=success]{color:#1e6b2f}.form-status[data-kind=error]{color:#b3261e}html:not([data-party=idle]) .subtitle .normal-text{display:none}html:not([data-party=idle]) .subtitle .party-text{display:inline}html:not([data-party=idle]) .party-toggle{right:1rem;bottom:max(1rem, env(safe-area-inset-bottom));z-index:60;color:var(--ink);background:var(--paper);border-color:var(--amber);box-shadow:0 0 0 3px var(--disco-bg), 0 0 16px #febc2073;position:fixed}html:not([data-party=idle]) .party-toggle:hover{background:#fff7e6}html:not([data-party=idle]) .party-lead-in{visibility:hidden}html.lights-out body{background-color:var(--disco-bg);color:var(--disco-text)}html.lights-out .bio a,html.lights-out .social-links a,html.lights-out .social-links button,html.lights-out .copyright a{color:var(--neon-cyan)}html.lights-out .header-titles h1,html.lights-out .header-titles .subtitle{color:var(--neon-yellow);text-shadow:0 0 4px var(--neon-yellow), 0 0 14px var(--neon-pink), 0 0 28px var(--neon-pink)}html.lights-out .bio p{text-shadow:0 0 6px #7ff9ff59}html.flicker .header-titles h1,html.flicker .header-titles .subtitle{opacity:.35}html:not([data-party=idle]) .site-header{background:linear-gradient(270deg, var(--primary-color), var(--crazy-color-1), var(--crazy-color-2), var(--crazy-color-3), var(--crazy-color-4), var(--primary-color));background-size:600% 600%;animation:3.5s linear infinite header-cycle}html[data-party=disco] .site-header{background:0 0;animation:none}html[data-party=calm] .site-header{animation-duration:36s}@keyframes header-cycle{0%{background-position:0%}to{background-position:100%}}html[data-party=disco] .header-photo img{animation:beat var(--beat-ms) ease-out infinite}@keyframes beat{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-14px)scale(1.06)}}html.jolt #stage{animation:.4s cubic-bezier(.36,.07,.19,.97) both jolt}@keyframes jolt{10%,90%{transform:translate(-4px,2px)}20%,80%{transform:translate(8px,-4px)rotate(.6deg)}30%,50%,70%{transform:translate(-14px,6px)rotate(-1deg)}40%,60%{transform:translate(14px,-6px)rotate(1deg)}}.confetti-canvas,.spotlight{pointer-events:none;position:fixed;inset:0}.confetti-canvas{z-index:55;width:100vw;height:100vh}.spotlight{z-index:40;opacity:0;transition:opacity var(--lights-ms) ease;background:radial-gradient(circle 220px at var(--spot-x,50%) var(--spot-y,50%), #ffffff38 0%, #ffe0661f 45%, transparent 100%);mix-blend-mode:screen}html[data-party=disco] .spotlight{opacity:1}.faller{will-change:transform}html:not([data-party=idle]) .faller{z-index:46;position:relative}html:not([data-party=idle]) body{overflow:hidden}.disco-rig{--string:100px;--ball:110px;z-index:45;pointer-events:none;flex-direction:column;align-items:center;transition:transform .4s ease-in;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%,calc(-100% - 20px))}html[data-party=disco] .disco-rig,html[data-party=calm] .disco-rig{transition:transform .9s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%)}.disco-string{width:2px;height:var(--string);background:linear-gradient(#444,#bbb)}.disco-ball-canvas{width:var(--ball);height:var(--ball);filter:drop-shadow(0 0 18px #ffffff59);border-radius:50%}.disco-lights-canvas{z-index:41;pointer-events:none;mix-blend-mode:screen;filter:blur(.6px);opacity:0;width:100vw;height:100vh;transition:opacity .3s;position:fixed;inset:0}html[data-party=disco] .disco-lights-canvas{opacity:1;transition:opacity .6s .9s}html[data-party=calm] .disco-lights-canvas{opacity:.8}.dance-floor-wrap{z-index:39;perspective:520px;perspective-origin:50% 0;pointer-events:none;opacity:0;height:32vh;transition:opacity .4s;position:fixed;bottom:0;left:0;right:0;overflow:hidden}html[data-party=disco] .dance-floor-wrap{opacity:1;transition:opacity .6s .9s}html[data-party=calm] .dance-floor-wrap{opacity:.85}.dance-floor{transform-origin:50% 100%;background:#1a0b05;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(10,1fr);gap:4px;width:180%;height:140%;padding:4px;display:grid;position:absolute;bottom:-10%;left:-40%;transform:rotateX(58deg)}.tile{opacity:.35;border-radius:3px;box-shadow:inset 0 0 18px #ffffff40}html[data-party=disco] .tile{animation:1s ease-in-out infinite alternate tile-glow}.tile{--c:255 150 40;background:radial-gradient(circle at 50% 50%, #fff8e1 0 12%, rgb(var(--c)) 34%, rgb(var(--c) / .55) 100%)}.tile:nth-child(5n+1){--c:255 170 50}.tile:nth-child(5n+2){--c:255 110 40}.tile:nth-child(5n+3){--c:255 205 80}.tile:nth-child(5n+4){--c:230 70 40}.tile:nth-child(5n){--c:255 140 60}.tile:nth-child(9n+4){--c:200 225 255}.tile:nth-child(7n+1){animation-delay:0s}.tile:nth-child(7n+2){animation-delay:-250ms}.tile:nth-child(7n+3){animation-delay:-500ms}.tile:nth-child(7n+4){animation-delay:-750ms}.tile:nth-child(7n+5){animation-delay:-1000ms}.tile:nth-child(7n+6){animation-delay:-1250ms}.tile:nth-child(7n){animation-delay:-1500ms}@keyframes tile-glow{0%{opacity:.25}to{opacity:.85}}.disco-haze{z-index:38;pointer-events:none;opacity:0;background:radial-gradient(45% 40% at 50% 70%,#ffaa3c59,#0000 70%),radial-gradient(80% 50% at 50% 100%,#ff6e1e40,#0000 70%);transition:opacity .4s;position:fixed;inset:0}html[data-party=disco] .disco-haze{opacity:1;transition:opacity .8s 2.4s}.dancer{--fig-scale:1;--neck-y:320px;left:50%;top:var(--neck-y);z-index:44;pointer-events:none;width:0;height:0;transform:scale(var(--fig-scale));transform-origin:0 0;display:none;position:fixed}.dancer.is-on{display:block}.dancer-body{position:absolute;top:0;left:0}.dancer-head{z-index:2;width:96px;height:96px;position:absolute;top:-78px;left:-48px}.dancer-head img{object-fit:cover;border-radius:50%;width:100%;height:100%;box-shadow:0 0 0 3px #fff,0 0 0 5px #000,0 0 26px #ffbe5acc}.seg{transform-origin:0;position:absolute;top:0;left:0}.seg .seg{top:50%}.seg-torso>.seg-arm-a-upper{top:4%}.seg-torso>.seg-arm-b-upper{top:96%}.seg-torso>.seg-leg-a-upper{top:28%}.seg-torso>.seg-leg-b-upper{top:72%}.seg-label{letter-spacing:.02em;color:#fff;overflow-wrap:anywhere;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000,0 0 6px #ffc8788c;transform-origin:0;width:100%;height:100%;font:700 10px/11px Quicksand,sans-serif;display:block;overflow:hidden}.seg-torso>.seg-label{clip-path:polygon(0 0,100% 14%,100% 86%,0 100%)}.seg-torso:before{content:"";clip-path:polygon(0 20%,100% 50%,0 80%);z-index:1;background:#000;width:46px;height:30px;margin-top:-15px;position:absolute;top:50%;left:-2px}.seg-leg-a-lower>.seg-label,.seg-leg-b-lower>.seg-label{clip-path:polygon(0 22%,100% 0,100% 100%,0 78%)}.seg-leg-a-lower:after,.seg-leg-b-lower:after{content:"";background:#111;border-radius:4px 9px 9px 4px;width:14px;height:34px;margin:-17px 0 0 -4px;position:absolute;top:50%;left:100%;box-shadow:0 0 0 1px #fff}.seg-arm-a-lower:after,.seg-arm-b-lower:after{content:"";background:#f1c9a5;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -2px;position:absolute;top:50%;left:100%;box-shadow:0 0 0 1px #000}.seg-torso{transform:rotate(90deg)}.seg-arm-a-upper{transform:rotate(-145deg)}.seg-arm-a-lower{transform:rotate(-6deg)}.seg-arm-b-upper{transform:rotate(48deg)}.seg-arm-b-lower{transform:rotate(-95deg)}.seg-leg-a-upper{transform:rotate(-24deg)}.seg-leg-a-lower{transform:rotate(2deg)}.seg-leg-b-upper{transform:rotate(22deg)}.seg-leg-b-lower{transform:rotate(-2deg)}html[data-party=disco] .dancer-bounce{animation:.5s ease-in-out infinite fig-dip}.dancer-bounce{position:absolute;top:0;left:0}@keyframes fig-dip{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (width<=480px){.disco-rig{--string:60px;--ball:80px}}.w{display:inline-block}
