@font-face{font-family:sans;src:url(../media/dm_sans_regular-s.p.1ak_r0qwk4efr.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:sans;src:url(../media/dm_sans_semibold-s.p.0vbbr_motsstn.ttf)format("truetype");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.sans_3aed4ecb-module__bS3n6a__className{font-family:sans,sans Fallback}.sans_3aed4ecb-module__bS3n6a__variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:hand;src:url(../media/caveat_semibold-s.p.232rpntaoq4ga.ttf)format("truetype");font-display:swap}@font-face{font-family:hand Fallback;src:local(Arial);ascent-override:127.1%;descent-override:39.72%;line-gap-override:0.0%;size-adjust:75.53%}.hand_3731b673-module__7gyOJa__className{font-family:hand,hand Fallback}.hand_3731b673-module__7gyOJa__variable{--font-hand:"hand", "hand Fallback"}
@font-face{font-family:script;src:url(../media/nothing_you_could_do-s.p.0ap8f61dmh477.ttf)format("truetype");font-display:swap}@font-face{font-family:script Fallback;src:local(Arial);ascent-override:87.02%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:107.62%}.script_8e53dd4f-module__A6fOEq__className{font-family:script,script Fallback}.script_8e53dd4f-module__A6fOEq__variable{--font-script:"script", "script Fallback"}
:root{--section-space:clamp(5rem, 8vw, 8.5rem);--page-gutter:clamp(1.5rem, 4.5vw, 5rem);--header-height:5rem;--ink:#111;--surface:#fff;--muted:#5c5c5c;--line:#999}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{font-family:var(--font-sans), Arial, sans-serif;color:#fff;-webkit-font-smoothing:antialiased;background:#000;margin:0;font-size:1rem;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline-offset:6px;outline:2px solid}p,h1,h2,h3,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}ol,ul{margin:0;padding:0}::selection{color:#000;background:#999}[data-theme=dark]{--surface:#000;--ink:#fff;--muted:#b0b0b0;--line:#666}[data-theme=light]{--surface:#fff;--ink:#111;--muted:#5c5c5c;--line:#999}.hand{font-family:var(--font-hand), cursive;font-weight:600;line-height:1.05}.script{font-family:var(--font-script), cursive;line-height:1.45}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#000;background:#fff;padding:.6rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto}.header-inner{max-width:1672px;min-height:var(--header-height);padding:0 var(--page-gutter);justify-content:space-between;align-items:center;gap:2rem;margin:auto;display:flex}.wordmark{text-transform:uppercase;letter-spacing:.28em;white-space:nowrap;font-size:.9rem}.main-navigation{align-items:center;gap:clamp(1.3rem,2.8vw,3rem);display:flex}.main-navigation a{letter-spacing:.06em;color:var(--muted);padding-block:1.55rem;font-size:.9rem;transition:color .15s;position:relative}.main-navigation a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .15s;position:absolute;bottom:1.1rem;left:0;right:0;transform:scaleX(0)}.main-navigation a[aria-current],.main-navigation a:hover{color:var(--ink)}.main-navigation a[aria-current]:after,.main-navigation a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.section{background:var(--surface);color:var(--ink);padding:var(--section-space) var(--page-gutter);align-items:center;min-height:min(900px,100svh);scroll-margin-top:0;display:grid}.section-inner{width:100%;min-width:0;max-width:1520px;margin:0 auto}.section-inner>*,.project-grid>*,.about-grid>*,.education-grid>*,.contact-grid>*,.experience-grid>*{min-width:0}.hero{min-height:max(780px,100svh);padding-top:calc(var(--section-space) + var(--header-height))}.hero-grid{grid-template-columns:1.5fr .85fr;align-items:center;gap:clamp(3rem,8vw,9rem);display:grid}.hero-copy{padding-block:2rem;position:relative}.hero-heading{letter-spacing:-.045em;white-space:nowrap;margin:0 0 2rem -.015em;font-size:clamp(6rem,10.6vw,11.5rem)}.hero-intro{font-size:clamp(1.1rem,1.65vw,1.65rem)}.hero-intro p+p{margin-top:.35rem}.button-link{letter-spacing:.1em;border:1px solid;justify-content:center;align-items:center;gap:1.3rem;min-height:54px;padding:.8rem 1.8rem;font-size:1rem;line-height:1.5;transition:color .16s,background-color .16s;display:inline-flex}.button-link>span[aria-hidden]{font-size:1.35rem;line-height:1}.button-link:hover{color:var(--surface);background:var(--ink)}.hero .button-link{margin-top:2.1rem}.arrow{flex-shrink:0;width:80px;height:30px}.hero-portrait,.about-portrait{width:100%}.image-frame{border:1px solid var(--ink);width:100%}.image-area{place-items:center;width:100%;display:grid;position:relative}.image-frame--portrait .image-area{aspect-ratio:4/5.1}.image-frame--project{border-color:var(--line);border-radius:7px}.project-frame--barbershop{background:#f3f6fa}.project-frame--fzl-kitchen{background:#111}.project-frame--norisah-selera{background:#fff7ec}.image-frame--project .image-area{aspect-ratio:1.23;background:inherit}.image-area img{object-fit:contain}.image-frame--portrait .image-area img{object-fit:cover}.placeholder-label{text-align:center;letter-spacing:.13em;max-width:90%;color:var(--muted);padding:1rem;font-size:.9rem}.browser-bar{border-bottom:1px solid var(--line);align-items:center;gap:7px;height:39px;padding-inline:16px;display:flex}.browser-bar>span{border:1px solid var(--muted);border-radius:50%;width:7px;height:7px}.browser-bar i{border:1px solid var(--line);border-radius:3px;width:47%;height:13px;margin-left:16%;display:block}.about-grid{grid-template-columns:.9fr 1.15fr;align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.about .image-frame{max-width:500px}.about-illustration .image-area{background:#fff}.about-illustration .image-area img{object-position:center 8%}.dark-line-portrait .image-area{background:#000}.dark-line-portrait .image-area img{object-position:center 10%}.underlined-heading{align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.15rem;display:flex;position:relative}.underlined-heading:after{content:"";border-top:1.5px solid;border-radius:50%;height:12px;position:absolute;inset:auto 2.7rem 0 0;transform:rotate(-1deg)}.underlined-heading h2{font-size:clamp(4rem,6vw,6.5rem)}.star{flex-shrink:0;width:45px;height:45px}.underlined-heading .star{align-self:end;margin-left:auto}.about-intro{font-size:clamp(1.05rem,1.6vw,1.5rem)}.about-intro p+p{margin-top:.65rem}.tools{margin-top:3.5rem}.tools h3{margin-bottom:1.75rem;font-size:clamp(2.5rem,3.4vw,3.5rem)}.tools dl{gap:.75rem;font-size:clamp(1rem,1.4vw,1.3rem);display:grid}.tools dl>div{gap:.7rem;display:flex}.tools dt{min-width:4.8rem}.tools dt:after{content:" —"}.work-heading{margin-bottom:2rem;font-size:clamp(7rem,13vw,12rem)}.work-list{margin-left:6%;list-style:none}.work-link{grid-template-columns:80px 1fr 70px 85px;align-items:center;gap:clamp(1.5rem,3vw,3rem);padding:1.7rem 0;display:grid}.work-link>*{min-width:0}.work-number{border-right:1px solid var(--line);font-size:4.25rem;line-height:1}.work-link h3{font-size:clamp(1.25rem,2.65vw,2.65rem);font-weight:600;line-height:1.25}.work-link p{color:var(--muted);margin-top:.4rem;font-size:clamp(1rem,1.6vw,1.5rem)}.browser-icon{width:70px}.work-link .arrow{transition:transform .16s}.work-link:hover .arrow{transform:translate(5px)}.work-link:hover h3{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.scroll-link{flex-direction:column;align-items:center;width:fit-content;margin-top:1.8rem;margin-left:auto;font-size:.875rem;display:flex}.scroll-link span{font-size:2rem;line-height:1.2}.project-grid{grid-template-columns:.85fr 1.2fr;align-items:center;gap:clamp(2rem,4vw,4rem);display:grid}.project-heading{letter-spacing:-.035em;margin-bottom:2.4rem;font-size:clamp(3.5rem,5.8vw,6.2rem)}.project-number{white-space:nowrap}.project-description{max-width:28rem;font-size:clamp(1.05rem,1.5vw,1.45rem)}.feature-list{gap:.8rem;margin-top:2rem;font-size:1.05rem;list-style:none;display:grid}.feature-list li{gap:.9rem;display:flex}.feature-list li:before{content:"↗";font-size:1.25rem}.project-tools{color:var(--muted);margin-top:3rem;font-size:.9rem}.project-actions{align-items:center;gap:1.5rem;margin-top:2.1rem;display:flex}.project-actions>.arrow{width:clamp(60px,9vw,150px);height:auto}.project--norisah-selera .project-heading{text-transform:uppercase;font-family:var(--font-script), cursive;font-size:clamp(3rem,4.9vw,5.1rem);line-height:1.18}.project--norisah-selera .project-number{margin:0}@media (min-width:1101px){.project--norisah-selera .project-heading{flex-wrap:wrap;column-gap:.25em;display:flex}.project--norisah-selera .norisah-heading-rest{flex-basis:100%}}.experience-grid{grid-template-columns:.9fr 1.2fr;align-items:center;gap:clamp(3rem,6vw,6rem);display:grid}.experience-heading{letter-spacing:-.025em;margin-bottom:2.5rem;font-size:clamp(5rem,7.8vw,8rem);line-height:.95}.experience-intro{max-width:27rem;font-size:clamp(1.1rem,1.65vw,1.5rem)}.internship{align-items:start;gap:1.2rem;margin-top:3.5rem;display:flex}.internship>.arrow{width:48px;margin-top:1.1rem}.internship>div{border-top:1px solid var(--line);padding-top:1.1rem}.internship h3{font-size:1.05rem}.internship p{margin-top:.25rem;font-size:.95rem}.workflow{border:1px solid var(--ink);border-radius:10px}.workflow-body{grid-template-columns:1fr .7fr;min-height:370px;display:grid}.workflow-note{flex-direction:column;justify-content:center;padding:2rem;display:flex}.small-label{color:var(--muted);letter-spacing:.13em;font-size:.85rem}.workflow-note p{margin-top:1.5rem;font-size:clamp(2rem,3.3vw,3.5rem)}.code-mark{color:var(--muted);margin-top:1.5rem;font-family:monospace;font-size:2rem}.workflow ol{border-left:1px solid var(--line);flex-direction:column;justify-content:center;gap:2rem;padding:2rem 1.5rem;list-style:none;display:flex}.workflow li{align-items:center;gap:.8rem;font-size:clamp(1rem,1.6vw,1.5rem);display:flex}.check{border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:1.1rem;display:grid}.workflow-caption{border-top:1px solid var(--line);color:var(--muted);padding:1rem 1.5rem;font-size:.85rem}.education-title{justify-content:space-between;align-items:center;gap:2rem;margin-bottom:4rem;display:flex}.education-title h2{letter-spacing:-.05em;font-size:clamp(3rem,6.1vw,6rem)}.education-title .star{width:60px;height:60px}.education-grid{grid-template-columns:1.35fr 1fr;align-items:center;gap:4rem;display:grid}.qualification h3{font-size:clamp(1.4rem,2vw,2.1rem);line-height:1.5}.qualification p{margin-top:.7rem;font-size:1.05rem}.uni-projects{list-style:none}.uni-projects li{border-bottom:1px solid var(--line);align-items:baseline;gap:1.8rem;padding-block:1.25rem;font-size:1.15rem;display:flex}.uni-projects span{font-family:var(--font-hand);font-size:2rem}.beyond-work{margin-top:5rem}.beyond-work h3{margin-bottom:.65rem;font-size:clamp(2rem,3.3vw,3.3rem)}.beyond-work p{font-size:1.1rem}.beyond-work p span{margin-inline:.5rem}.contact-grid{grid-template-columns:1.5fr 1fr;align-items:center;gap:5rem;display:grid}.contact-heading{letter-spacing:-.06em;padding-block:.15em;font-size:clamp(7rem,15vw,15rem);transform:rotate(-5deg)}.contact-details{max-width:26rem}.contact-details address{letter-spacing:.045em;overflow-wrap:anywhere;gap:1rem;font-size:clamp(1rem,1.6vw,1.5rem);font-style:normal;display:grid}.contact-details address a{width:fit-content}.contact-details address a:hover{text-underline-offset:.3em;text-decoration:underline}.contact-details .button-link{margin-top:2.5rem}.footer{border-top:1px solid var(--line);letter-spacing:.08em;justify-content:space-between;gap:2rem;margin-top:6rem;padding-top:1.5rem;font-size:.95rem;display:flex}.footer nav{gap:2rem;display:flex}.footer a:hover{text-underline-offset:.35em;text-decoration:underline}.back-top{color:var(--muted)}@media (min-width:1700px){.section{min-height:960px}}@media (max-width:1100px){.work-number{padding-right:.75rem}.work-link{grid-template-columns:5.75rem minmax(0,1fr) 4.375rem 5.3125rem;gap:clamp(1.25rem,2.4vw,2rem)}.contact-grid{grid-template-columns:1fr;gap:clamp(2.5rem,6vw,4rem)}.contact-heading{width:fit-content;font-size:clamp(8rem,18vw,12rem)}.contact-details{flex-direction:column;align-items:flex-start;gap:clamp(2rem,4vw,3rem);width:100%;max-width:38rem;display:flex}.contact-details address{gap:clamp(.75rem,2vw,1.25rem);font-size:clamp(1rem,2.3vw,1.45rem)}.contact-details .button-link{width:100%;margin:0}.footer{margin-top:clamp(4rem,8vw,6rem)}}@media (max-width:1100px) and (min-width:761px){.header-inner{gap:1.25rem}.main-navigation{gap:1.2rem}.wordmark{letter-spacing:.18em;font-size:.8rem}.hero-grid{gap:4rem}.hero-heading{font-size:9.5vw}.project-grid{grid-template-columns:1fr 1fr}.project-actions>.arrow{display:none}.workflow-note{padding:1.2rem}.workflow ol{padding:1.25rem}.education-grid{gap:2.5rem}}@media (max-width:760px){:root{--header-height:4.25rem;--section-space:4.75rem}.header-inner{min-height:var(--header-height);flex-wrap:wrap;gap:0}.wordmark{letter-spacing:.22em;font-size:.8rem}.menu-toggle{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem 0 .5rem 1rem;font-size:.9rem;display:block}.main-navigation{grid-template-columns:repeat(3,1fr);gap:.5rem 1rem;width:100%;padding:.5rem 0 1.5rem;display:none}.main-navigation.is-open{display:grid}.main-navigation a{width:fit-content;padding:.5rem 0;font-size:.95rem}.main-navigation a:after{bottom:.3rem}.section{min-height:0}.hero{min-height:100svh}.hero-grid,.about-grid,.project-grid,.experience-grid,.education-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}.hero{padding-top:calc(var(--header-height) + 2.75rem)}.hero-copy{padding:0}.hero-heading{margin-bottom:1.5rem;font-size:clamp(4.7rem,16vw,7.7rem)}.hero-intro{max-width:29rem;font-size:1.1rem}.hero .button-link{margin-top:1.75rem}.hero .image-frame,.hero-portrait{justify-self:center;max-width:400px}.hero .image-frame .image-area{aspect-ratio:1}.about .image-frame,.about-portrait{justify-self:center;max-width:400px}.about .image-frame .image-area{aspect-ratio:1.05}.underlined-heading h2{font-size:4.4rem}.about-intro{font-size:1.1rem}.tools{margin-top:2.5rem}.tools dl{font-size:1rem}.tools dt{min-width:4.6rem}.work-heading{margin-bottom:1.25rem;font-size:7.5rem}.work-list{margin-left:0}.work-link{grid-template-columns:4.25rem minmax(0,1fr) 30px;gap:1rem;padding-block:1.8rem}.work-number{padding-right:.6rem;font-size:2.8rem}.work-link h3{font-size:1.3rem}.work-link p{font-size:1rem}.work-link .browser-icon{display:none}.work-link .arrow{width:30px}.scroll-link{margin-top:1rem}.project-heading{margin-bottom:1.75rem;font-size:clamp(3.7rem,11vw,5.4rem)}.project-description{font-size:1.15rem}.project-tools{margin-top:2rem}.project-actions{margin-top:1.75rem}.project-actions>.arrow{width:90px}.image-frame--project .image-area{aspect-ratio:1.3}.project--norisah-selera .project-heading{font-size:clamp(2.75rem,9vw,4rem)}.project--norisah-selera .project-number{display:inline}.experience-heading{font-size:5.6rem}.experience-intro{font-size:1.15rem}.internship{margin-top:2.5rem}.workflow-body{min-height:290px}.workflow-note{padding:1.25rem}.workflow-note p{font-size:2.15rem}.workflow ol{gap:1.5rem;padding:1.25rem 1rem}.workflow li{gap:.5rem;font-size:1rem}.check{width:24px;height:24px;font-size:.9rem}.education-title{align-items:start;gap:1rem;margin-bottom:2.5rem}.education-title h2{font-size:clamp(2.8rem,8.5vw,4rem)}.education-title .star{width:35px;height:35px}.qualification h3{font-size:1.55rem}.qualification p{font-size:1rem}.uni-projects li{font-size:1.1rem}.beyond-work{margin-top:3rem}.beyond-work p{font-size:1rem;line-height:2}.contact-heading{font-size:clamp(6.5rem,24vw,11rem)}.contact-grid{gap:2rem}.contact-details address{font-size:1rem}.footer{flex-wrap:wrap;gap:1rem;margin-top:4rem;font-size:.85rem}.footer nav{gap:1.5rem}}@media (max-width:370px){.project-heading{font-size:3.1rem}.project--norisah-selera .project-heading{font-size:2.45rem}.project-actions>.arrow{display:none}.workflow-body{grid-template-columns:1fr}.workflow ol{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.workflow-note p{font-size:2.5rem}.work-link{grid-template-columns:4rem minmax(0,1fr) 25px;gap:.75rem}.work-link .arrow{width:25px}.work-link h3{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
