:root{--color-yellow:#fcdc47;--color-teal:#00b09a;--color-about-bg:#e0f2f1;--color-black:#000;--font-display:"Montserrat",sans-serif;--font-body:"Kulim Park",sans-serif;--font-size-h2:36px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background-color:var(--color-yellow);color:#000;font-family:Kulim Park,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.nav{align-items:center;display:flex;gap:2rem;justify-content:flex-end;left:0;padding:.75rem 3rem;position:fixed;right:0;top:0;transition:background-color .3s ease,color .3s ease;z-index:1000}.nav.nav--scrolled{background-color:#000}.nav.nav--scrolled .nav-links a:not(.nav-cta){color:#fff}.nav.nav--scrolled .nav-hamburger-line{background-color:#fff}.nav-brand{font-family:var(--font-display);font-size:14px;font-weight:800;left:3rem;letter-spacing:.1em;opacity:0;position:absolute;text-decoration:none;transition:opacity .3s ease,visibility .3s ease;visibility:hidden}.nav.nav--scrolled .nav-brand{color:#00b09a;opacity:1;transition:opacity .3s ease,visibility .3s ease,color .3s ease;visibility:visible}.nav.nav--scrolled .nav-brand:hover{color:var(--color-yellow)}.nav-links{align-items:center;display:flex;gap:2rem}.nav a{color:var(--color-black);font-size:16px;font-weight:400;text-decoration:none;transition:opacity .3s}.nav a:hover{opacity:.7}.nav-cta{background-color:var(--color-teal);border-radius:25px;color:#fff!important;font-weight:700;padding:.75rem 1.5rem}.nav-cta:hover{opacity:.85!important}.nav-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:6px;height:44px;justify-content:center;padding:10px;transition:transform .3s ease;width:44px;z-index:1001}.nav-hamburger-line{background-color:var(--color-black);border-radius:1px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:24px}.nav-hamburger[aria-expanded=true] .nav-hamburger-line:first-child{transform:translateY(8px) rotate(45deg)}.nav-hamburger[aria-expanded=true] .nav-hamburger-line:nth-child(2){opacity:0}.nav-hamburger[aria-expanded=true] .nav-hamburger-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{align-items:stretch;cursor:default;min-height:100vh;padding:2rem 2rem 4rem;text-align:center;-webkit-user-select:none;user-select:none}.hero,.hero-name{display:flex;flex-direction:column;justify-content:center;position:relative}.hero-name{align-items:center;max-width:100%;width:100%}.hero-letters{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:0;justify-content:center;width:fit-content}.hero-letter{color:var(--color-teal);flex-shrink:0;font-family:Montserrat,sans-serif;font-size:180px;font-weight:700;line-height:.85;opacity:0;transition:opacity .4s ease}.hero-subtitle{color:#000;display:none;font-family:Kulim Park,sans-serif;font-size:20px;font-weight:800;margin:0;max-width:600px;padding:0}.hero-name.hero-expanded .hero-letters{display:grid;gap:0;grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:auto auto auto;width:100%}.hero-name.hero-expanded .hero-letter{font-size:270px}.hero-name.hero-expanded .hero-letter:first-child{grid-column:1;grid-row:1}.hero-name.hero-expanded .hero-letter:nth-child(2){grid-column:1;grid-row:3}.hero-name.hero-expanded .hero-letter:nth-child(3){grid-column:2;grid-row:1}.hero-name.hero-expanded .hero-letter:nth-child(4){grid-column:2;grid-row:3}.hero-name.hero-expanded .hero-letter:nth-child(5){grid-column:3;grid-row:1}.hero-name.hero-expanded .hero-letter:nth-child(6){grid-column:3;grid-row:3}.hero-name.hero-expanded .hero-letter:nth-child(7){grid-column:4;grid-row:1}.hero-name.hero-expanded .hero-letter:nth-child(8){grid-column:4;grid-row:3}.hero-name.hero-expanded .hero-subtitle{display:block;grid-column:1/-1;grid-row:2;justify-self:center;margin:.5rem 0;opacity:0;transition:opacity .5s ease}.section{display:flex;flex-direction:column;min-height:100vh;padding:6rem 2.5rem}.scroll-prompt{bottom:12vh;color:var(--color-black);font-family:var(--font-body);font-size:16px;left:0;opacity:.8;position:absolute;right:0;text-align:center;transition:opacity .4s ease;z-index:1}.scroll-prompt.is-hidden{opacity:0;pointer-events:none}#about{background-color:var(--color-about-bg);justify-content:center;margin-top:-10vh;min-height:60vh;padding:2.5rem}.container{margin:0 auto;max-width:900px;width:100%}#experience .container{max-width:680px}.experience-resume-btn-wrapper{margin-top:3rem;text-align:center}.experience-resume-btn{background-color:var(--color-teal);border-radius:25px;color:#fff;display:inline-block;font-family:var(--font-body);font-size:18px;font-weight:700;padding:.75rem 1.5rem;text-decoration:none;transition:opacity .2s ease}.experience-resume-btn:hover{opacity:.85}.section-heading{box-sizing:border-box;color:var(--color-teal);display:flex;font-family:Kulim Park,sans-serif;font-size:160px;font-weight:700;justify-content:space-between;line-height:1;margin:0 -2rem 3rem;padding:0 2rem;width:calc(100% + 4rem);will-change:transform}.section-heading span{flex-shrink:0}.about-text{color:#000;font-size:20px;line-height:1.7;margin-bottom:.75rem}#about .about-text:last-child{margin-bottom:0}#brands{background-color:var(--color-about-bg);min-height:auto}#brands .container{max-width:none;padding:0 2.5rem;width:100%}.brands-logos{align-items:stretch;display:grid;gap:8rem 8rem;grid-auto-rows:minmax(62px,auto);grid-template-columns:repeat(5,1fr);justify-items:stretch}.brands-logo{height:100%;min-height:41px;object-fit:contain;opacity:0;transition:opacity .5s ease;width:100%}.brands-logos.is-visible .brands-logo{opacity:1}.brands-logos.is-visible .brands-logo:first-child{transition-delay:0s}.brands-logos.is-visible .brands-logo:nth-child(2){transition-delay:.05s}.brands-logos.is-visible .brands-logo:nth-child(3){transition-delay:.1s}.brands-logos.is-visible .brands-logo:nth-child(4){transition-delay:.15s}.brands-logos.is-visible .brands-logo:nth-child(5){transition-delay:.2s}.brands-logos.is-visible .brands-logo:nth-child(6){transition-delay:.25s}.brands-logos.is-visible .brands-logo:nth-child(7){transition-delay:.3s}.brands-logos.is-visible .brands-logo:nth-child(8){transition-delay:.35s}.brands-logos.is-visible .brands-logo:nth-child(9){transition-delay:.4s}.brands-logos.is-visible .brands-logo:nth-child(10){transition-delay:.45s}.brands-logos.is-visible .brands-logo:nth-child(11){transition-delay:.5s}.brands-logos.is-visible .brands-logo:nth-child(12){transition-delay:.55s}.brands-logos.is-visible .brands-logo:nth-child(13){transition-delay:.6s}.brands-logos.is-visible .brands-logo:nth-child(14){transition-delay:.65s}.brands-logos.is-visible .brands-logo:nth-child(15){transition-delay:.7s}.brands-logo:hover{opacity:.85}.job{margin-bottom:5rem}h3{font-family:Kulim Park,sans-serif;font-weight:700;margin-bottom:.75rem}h3,h4{color:#000;font-size:36px;line-height:2rem}h4{font-weight:400;margin-bottom:.25rem}.job-date{color:#000;font-size:16px;margin-bottom:1rem;opacity:.7;text-decoration:none}.job-date,.job-date a{text-decoration:none!important}.job-description{color:#000;line-height:1.6;list-style:disc;margin:0;padding-left:1.5rem}.job-description li{margin-bottom:.5rem}.job-description li:last-child{margin-bottom:0}.work-section{justify-content:flex-start;min-height:auto}#work .section-heading{margin-bottom:1.5rem}.work-item{margin-bottom:6rem}.work-item:last-child{margin-bottom:4rem}.work-item-image-wrap{margin-bottom:2rem;margin-left:calc(-50vw + 50%);position:relative;width:100vw}.work-item-image{display:block;height:50vh;min-height:320px;object-fit:cover;width:100%}.work-item-play{align-items:center;background-color:rgba(0,176,154,.9);border:none;border-radius:25px;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:18px;font-weight:700;gap:.5rem;left:50%;padding:.75rem 1.5rem;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease,background-color .2s ease}.work-item-play:hover{background-color:rgba(0,176,154,.7);opacity:.95}.work-item-play:focus{outline:2px solid var(--color-teal);outline-offset:4px}.work-item-play-icon{border-bottom:8px solid transparent;border-left:14px solid #fff;border-top:8px solid transparent;height:0;width:0}.work-item-play-text{position:static;transform:none}.work-item:not([data-video-url]) .work-item-play{cursor:not-allowed;opacity:.5;pointer-events:none}.work-item-play-case{align-items:center;background-color:var(--color-teal);border:none;border-radius:25px;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:18px;font-weight:700;gap:.5rem;margin-bottom:1rem;padding:.75rem 1.5rem;transition:opacity .2s ease}.work-item-play-case:hover{opacity:.85}.work-item-play-case:focus{outline:2px solid var(--color-teal);outline-offset:4px}.video-overlay{align-items:center;display:flex;inset:0;justify-content:center;opacity:0;padding:2rem;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:2000}.video-overlay.is-open{opacity:1;visibility:visible}.video-overlay-backdrop{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:rgba(252,220,71,.4);inset:0;position:absolute}.video-overlay-content{aspect-ratio:16/9;max-width:960px;position:relative;width:100%;z-index:1}.video-overlay-close{align-items:center;background-color:var(--color-teal);border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-family:var(--font-body);font-size:18px;font-weight:700;justify-content:center;line-height:1;padding:.75rem 1.5rem;position:absolute;right:0;top:-4rem;transition:opacity .2s ease}.video-overlay-close:hover{opacity:.85}.video-overlay-close:focus{outline:2px solid var(--color-teal);outline-offset:2px}.video-overlay-player{background-color:#000;border-radius:4px;height:100%;overflow:hidden;width:100%}.video-overlay-player iframe{border:none;height:100%;width:100%}.video-overlay--local .video-overlay-content{aspect-ratio:auto;max-height:80vh}.video-overlay--local .video-overlay-player{align-items:center;display:flex;justify-content:center}.video-overlay--local .video-overlay-player video{height:auto;max-height:80vh;max-width:100%;object-fit:contain;width:auto}.work-item-description{color:var(--color-black);font-size:18px;line-height:1.7;margin-bottom:1rem;margin-top:.75rem}.work-item-awards{align-items:center;background-color:var(--color-black);color:var(--color-yellow);display:inline-flex;font-size:16px;font-weight:700;gap:.35em;margin-bottom:.75rem;margin-top:1.25rem;padding:.25em .5em}.work-item-awards-emoji{align-items:center;display:inline-flex;font-size:1.5em;line-height:1;padding-right:.5em}.work-item-meta{color:var(--color-black);display:flex;flex-wrap:wrap;font-size:14px;gap:1.5rem;opacity:.8}.work-item-meta strong{font-weight:700;opacity:1}#work .container{max-width:680px}.footer{background-color:var(--color-black);justify-content:center;line-height:1;min-height:70vh}.footer,.footer-content{align-items:center;display:flex}.footer-content{flex-direction:column;gap:2rem}.footer-message{color:#fff;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-weight:100;margin:0;text-align:center}.footer-cta{background-color:var(--color-teal);border-radius:25px;color:#fff;font-family:var(--font-body);font-size:18px;font-weight:700;padding:.75rem 1.5rem;text-decoration:none;transition:opacity .2s ease}.footer-cta:hover{opacity:.85}@media (max-width:1200px){.hero-letter{font-size:150px}.hero-name.hero-expanded .hero-letter{font-size:225px}.section-heading{font-size:140px}}@media (max-width:768px){.nav{padding:.5rem 1.5rem}.nav-brand{font-size:12px!important;left:1.5rem}.nav-hamburger{display:flex}.nav-links{background-color:var(--color-black);bottom:0;flex-direction:column;gap:2rem;justify-content:center;left:0;opacity:0;padding:5rem 2rem 2rem;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease,opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:1000}.nav-links.is-open{opacity:1;transform:translateY(0);visibility:visible}.nav-links.is-open a:not(.nav-cta){color:#fff}.nav:has(.nav-links.is-open) .nav-hamburger-line{background-color:#fff}.nav a{font-size:2rem}.nav-links .nav-cta{font-size:18px;padding:.75rem 1.5rem}}@media (max-width:900px){.nav{gap:1.5rem;padding:.75rem 2rem}@media (min-width:769px){.nav a{font-size:14px}}.nav-cta{padding:.6rem 1.2rem}.hero-letter{font-size:120px}.hero-name.hero-expanded .hero-letter{font-size:180px}.section-heading{font-size:120px}.about-text{font-size:22px}.job-title{font-size:32px}.job-role{font-size:40px}.work-item-title{font-size:32px}.work-item-role{font-size:40px}}@media (max-width:600px){.video-overlay{padding:1rem}.video-overlay-close{top:-4.5rem}.hero{padding:1rem 1rem 3rem}.hero-letter{font-size:68px}.hero-name.hero-expanded .hero-letter{font-size:120px}.hero-subtitle{font-size:clamp(11px,3.5vw,14px);white-space:nowrap}.section{min-height:auto;padding:4rem 2rem}.section-heading{flex-wrap:wrap;font-size:130px;justify-content:flex-start;line-height:.85;margin:0 -1rem 2rem;padding:0 3rem 0 1rem;row-gap:.05em;width:calc(100% + 2rem)}.about-text{font-size:20px}.job-title{font-size:28px}.job-role{font-size:36px}.job-date{font-size:14px}.job-description{font-size:19px}.work-item-image{min-height:240px}.work-item-title{font-size:28px}.work-item-role{font-size:36px}.work-item-description{font-size:16px}.work-item-meta{flex-direction:column;gap:.5rem}.footer{padding-left:3rem;padding-right:3rem}.brands-logos{gap:1.5rem;grid-template-columns:repeat(3,1fr)}.brands-logo{min-height:30px}}@media (max-width:400px){.hero-letter{font-size:52px}.hero-name.hero-expanded .hero-letter{font-size:90px}}