@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-BQaDgvhP.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Noto Sans Tagalog;src:url(/assets/NotoSansTagalog-Regular-hw0t1czk.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:#f7f7f7;z-index:1;background:#000;min-height:100dvh;padding-bottom:6rem;font-family:JetBrains Mono,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow-x:hidden}body:has(.page-home){padding-bottom:0}#root{min-height:100%}#noise{pointer-events:none;z-index:0;opacity:.18;width:100vw;height:100vh;position:fixed;top:0;left:0}nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#000000bf,#00000040,#0000);justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}nav h1{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:1.1rem}.menu_links{display:none}nav a{color:#dcdcdc;padding-bottom:.2rem;text-decoration:none;position:relative}nav a:after{content:"";background:linear-gradient(90deg,gold,#ff7b00);width:0%;height:2px;transition:width .25s;position:absolute;bottom:0;left:0}nav a:hover:after,nav a.active:after{width:100%}nav>div:last-of-type{gap:1rem;font-size:.9rem;display:flex}.mobile__nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0000,#00000040,#000000f2);justify-content:center;align-items:center;width:100%;padding:.8rem 1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile__nav a{color:#dcdcdc;padding-bottom:.2rem;text-decoration:none;position:relative}.menu_links_bottom{justify-content:space-between;gap:6rem;font-size:.9rem;display:flex}.mobile__nav a:after{content:"";background:linear-gradient(90deg,gold,#ff7b00);width:0%;height:2px;transition:width .25s;position:absolute;bottom:0;left:0}.mobile__nav a:hover:after,.mobile__nav a.active:after{width:100%}@media (width>=768px){.mobile__nav{display:flex}.menu_links{display:none}nav h1{font-size:1.3rem}}@media (width<=767px){.mobile__nav{display:flex}}@media (width>=1024px){.menu_links_bottom{font-size:1.5em}}.sun_nav{z-index:30;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.6rem;display:flex;position:fixed;bottom:1.5rem;left:1.5rem}.sun_nav_toggle,.sun_nav.open .sun_nav_menu{pointer-events:auto}.sun_nav_toggle{cursor:pointer;filter:drop-shadow(0 0 10px #fcd11659);background:0 0;border:none;width:3rem;height:3rem;padding:0;line-height:0;transition:transform .5s cubic-bezier(.23,1,.32,1)}.sun_nav_toggle img{width:100%;height:100%;display:block}.sun_nav_toggle:hover{transform:rotate(45deg)scale(1.06)}.sun_nav.open .sun_nav_toggle{transform:rotate(135deg)}.sun_nav_toggle:focus-visible{outline-offset:6px;border-radius:50%;outline:2px solid #fcd116}.sun_nav_menu{opacity:0;visibility:hidden;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;transition:opacity .25s,transform .25s,visibility .25s;display:flex;transform:translateY(8px)}.sun_nav.open .sun_nav_menu{opacity:1;visibility:visible;transform:translateY(0)}.sun_nav_menu a{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f7f7f7;white-space:nowrap;background:#0a0a0ad9;border:1px solid #fcd11659;border-radius:999px;padding:.45rem .9rem;font-size:.85rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-block}.sun_nav_menu a:hover,.sun_nav_menu a:focus-visible{color:#fcd116;background:#0a0a0af2;border-color:#fcd116}.sun_nav_legal a{color:#9a9a9a;border-color:#ffffff24;padding:.32rem .75rem;font-size:.78rem}@media (width<=767px){.sun_nav{bottom:5.5rem;left:1rem}.sun_nav_toggle{width:2.6rem;height:2.6rem}}@media (prefers-reduced-motion:reduce){.sun_nav_toggle,.sun_nav_menu{transition:none}.sun_nav_toggle:hover,.sun_nav.open .sun_nav_toggle{transform:none}}.page-home .ersteSeite{justify-content:flex-start;align-items:center;width:100%;height:100dvh;padding:6rem 1.5rem 3rem;display:flex;position:relative;overflow:hidden}.page-home .ersteSeite:before{content:"";z-index:1;background:linear-gradient(90deg,#000000d9,#00000073,#0000000d);position:absolute;inset:0}.page-home #landscape-notice{display:none}.page-home #stage{z-index:0;pointer-events:none;position:absolute;inset:0}.page-home #stage img{object-fit:contain;object-position:center;width:100%;height:100%}.page-home .wrapper{z-index:2;text-align:left;opacity:0;max-width:460px;animation:1.3s ease-out forwards heroFadeIn;position:relative;transform:translateY(18px)}@keyframes heroFadeIn{to{opacity:1;transform:translateY(0)}}.page-home .subtitle{opacity:.9;text-shadow:0 0 18px #000000a6;margin:.8rem 0 0;font-size:1rem}.page-home .roll{cursor:pointer;perspective:600px;color:#f7f7f7;gap:8px;margin:0;font-size:25px;line-height:1.1;display:inline-flex}.page-home .letter{height:1.3em;display:inline-block;position:relative;overflow:hidden}.page-home .top,.page-home .bottom{transform-origin:50%;transition:transform .45s cubic-bezier(.23,1,.32,1);display:block}.page-home .top{font-family:Noto Sans Tagalog,system-ui,sans-serif;transform:translateY(0)}.page-home .bottom{font-family:JetBrains Mono,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:absolute;top:115%;left:0;transform:translateY(0)}.page-home .roll:hover .top,.page-home .roll:hover .bottom{transform:translateY(-115%)rotateX(12deg)}.page-home .placeholder{opacity:0;visibility:hidden}.page-home .top.bu{margin-top:-.06em}.page-home .letter.ya{padding-right:.12em}.page-home .letter:nth-child(4) .top,.page-home .letter:nth-child(4) .bottom{transition-delay:0s}.page-home .letter:nth-child(3) .top,.page-home .letter:nth-child(3) .bottom,.page-home .letter:nth-child(5) .top,.page-home .letter:nth-child(5) .bottom{transition-delay:40ms}.page-home .letter:nth-child(2) .top,.page-home .letter:nth-child(2) .bottom,.page-home .letter:nth-child(6) .top,.page-home .letter:nth-child(6) .bottom{transition-delay:80ms}.page-home .letter:first-child .top,.page-home .letter:first-child .bottom,.page-home .letter:nth-child(7) .top,.page-home .letter:nth-child(7) .bottom{transition-delay:.12s}@media (width>=768px){.page-home .ersteSeite{padding:6rem 4rem 3rem}.page-home .roll{gap:14px;font-size:70px}.page-home .subtitle{font-size:1.1rem}.page-home #stage{object-fit:cover;object-position:center;height:100%;inset:0}}@media (width<=767px){.page-home .ersteSeite{padding:6rem 1rem 5rem}.page-home .wrapper{max-width:100%}}@media (width>=768px) and (orientation:landscape){.page-home .wrapper{max-width:600px}}@media (width>=1024px){.page-home .roll{font-size:80px}.page-home .wrapper{max-width:500px}.page-home .ersteSeite{padding:8rem 6rem 4rem}}@media (width>=1200px){.page-home .roll{font-size:90px}.page-home .wrapper{max-width:580px}}@media screen and (width<=767px) and (orientation:landscape){.page-home .ersteSeite{display:none}.page-home #landscape-notice{text-align:center;justify-content:center;align-items:center;width:100vw;height:100vh;padding:0 2rem;font-size:1.5rem;display:flex;position:fixed;inset:0}}.page_state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:40vh;padding:4rem 1.5rem;display:flex}.page_state_mark{color:#fcd116;opacity:.85;letter-spacing:.04em;font-size:2.6rem;font-weight:700;line-height:1}.page_state h2{margin:.9rem 0 0;font-size:1.25rem;font-weight:600}.page_state p{color:#a5a5a5;max-width:46ch;margin:.35rem 0 0;font-size:.95rem;line-height:1.65}.page_state_action{color:#fcd116;border:1px solid #fcd11680;border-radius:999px;margin-top:1.6rem;padding:.55rem 1.25rem;font-size:.9rem;text-decoration:none;transition:background .2s,border-color .2s;display:inline-block}.page_state_action:hover{background:#fcd11614;border-color:#fcd116}.page_state_pulse{gap:.5rem;display:flex}.page_state_pulse span{opacity:.25;background:#fcd116;border-radius:50%;width:.5rem;height:.5rem;animation:1.2s ease-in-out infinite pageStatePulse}.page_state_pulse span:nth-child(2){animation-delay:.15s}.page_state_pulse span:nth-child(3){animation-delay:.3s}@keyframes pageStatePulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.page_state_pulse span{opacity:.6;animation:none}}.page-projects main{max-width:1040px;margin:0 auto;padding:7rem 1.5rem 0}.page-projects main h1{color:#f7f7f7;margin:0 0 2.5rem;padding:0;font-size:clamp(2rem,6vw,3.4rem);line-height:1.1}.page-projects .project_list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.page-projects .project_section{-webkit-backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff2e;border-radius:16px;transition:border-color .25s,transform .25s;overflow:hidden}.page-projects .project_section:hover{border-color:#ffd70073;transform:translateY(-2px)}.page-projects .project_section a{color:#f7f7f7;flex-direction:column;height:100%;text-decoration:none;display:flex}.page-projects .project_section-list-img{aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid #ffffff1f;width:100%;display:block}.page-projects .project_section-text{flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.6rem;display:flex}.page-projects .projectpage_arrow{align-items:center;display:flex}.page-projects .project_section-text h2{margin:0 0 .7rem;font-size:1.35rem;font-weight:600;line-height:1.25}.page-projects .project_section-text p{color:#c9c9c9;-webkit-line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:.95rem;line-height:1.65;display:-webkit-box;overflow:hidden}.page-projects .project_more{color:gold;margin-top:auto;padding-top:1.2rem;font-size:.85rem}@media (width<=767px){.page-projects main{padding:6rem 1.2rem 0}.page-projects .project_list{gap:1.2rem}.page-projects .project_section-text{padding:1.2rem 1.2rem 1.4rem}}.page-project-detail main{justify-content:center;align-items:flex-start;gap:3rem;max-width:1100px;margin:0 auto;padding:7rem 1.5rem 4rem;display:flex}.page-project-detail .innerprojekt_sidenav{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border:1px solid #ffffff2e;border-radius:14px;flex:0 0 260px;max-height:calc(100vh - 10rem);padding:1.2rem;position:sticky;top:7rem;overflow-y:auto}.page-project-detail .innerprojekt_sidenav_header h2{letter-spacing:.06em;margin:0 0 1rem;font-size:1.05rem}.page-project-detail .innerprojekt_sidenav ul{margin:0;padding:0;list-style:none}.page-project-detail .innerprojekt_sidenav li{margin:0 0 .55rem}.page-project-detail .innerprojekt_sidenav a{color:#dcdcdc;border-bottom:1px solid #0000;font-size:.92rem;line-height:1.4;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.page-project-detail .innerprojekt_sidenav a:hover{color:#fff;border-bottom-color:gold}.page-project-detail .innerprojekt_sidenav_footer{border-top:1px solid #ffffff26;margin-top:1.5rem;padding-top:1rem}.page-project-detail .innerprojekt_content_wrapper{flex:auto;min-width:0;max-width:72ch}.page-project-detail .innerprojekt_header h1{margin:0 0 1rem;font-size:2.4rem}.page-project-detail .innerprojekt_teaser{opacity:.9;max-width:70ch;line-height:1.7}.page-project-detail .innerprojekt_links a{color:gold;margin-right:1.5rem}.page-project-detail .innerProjekt_content{margin:3.5rem 0;scroll-margin-top:7rem}.page-project-detail .innerProjekt_content h2{border-bottom:1px solid #ffffff2e;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.6rem}.page-project-detail .innerProjekt_content h3{opacity:.85;margin:1.8rem 0 .5rem;font-size:1.1rem}.page-project-detail .innerProjekt_content p{max-width:70ch;line-height:1.7}.page-project-detail .innerProjekt_content a{color:gold}.page-project-detail .block_figure{margin:1.5rem 0}.page-project-detail .block_figure img{border-radius:12px;max-width:100%;height:auto;display:block}.page-project-detail .block_figure figcaption{opacity:.7;margin-top:.5rem;font-size:.85rem}.page-project-detail .block_gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.page-project-detail .block_endpoints{padding:0;list-style:none}.page-project-detail .block_endpoints li{border-bottom:1px solid #ffffff1a;padding:.5rem 0}.page-project-detail .block_endpoints code{background:#ffffff14;border-radius:6px;padding:.2rem .5rem}.page-project-detail .block_code{background:#ffffff0f;border:1px solid #ffffff26;border-radius:10px;padding:1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.page-project-detail .block_case{border-left:2px solid #ffd70080;margin:2rem 0;padding-left:1.2rem}.page-project-detail .status_hint{opacity:.7}.page-project-detail .mobilenav_folder{display:none}@media (width<=900px){.page-project-detail main{flex-direction:column;padding:6rem 1rem 8rem}.page-project-detail .innerprojekt_sidenav{z-index:20;background:#0a0a0af7;border-radius:14px 14px 0 0;flex:none;max-height:60vh;transition:transform .3s;position:fixed;inset:auto 0 0;transform:translateY(100%)}.page-project-detail .innerprojekt_sidenav.open{transform:translateY(0)}.page-project-detail .mobilenav_folder{z-index:21;cursor:pointer;background:#0a0a0ae6 url(/img/folder.svg) 50%/1.4rem no-repeat;border:1px solid #ffffff4d;border-radius:50%;width:3rem;height:3rem;display:block;position:fixed;bottom:5.5rem;right:1rem}.page-project-detail .innerprojekt_header h1{font-size:1.8rem}}.page-about main{max-width:760px;margin:0 auto;padding:7rem 1.5rem 0;display:block}.page-about main h1{text-wrap:balance;margin:0 0 1.5rem;font-size:clamp(1.45rem,4.2vw,2.4rem);line-height:1.25}.page-about section{max-width:760px;margin:0 auto;padding:0 1.5rem}.page-about h2{padding:0;font-size:1.05rem}.page-about .section_p__aboutme{text-align:left;width:100%;max-width:none;margin:0 0 1.2rem;font-size:1rem;line-height:1.75}.page-about .section_p__aboutme p{margin:0 0 1.2rem}.page-about .section_p__aboutme a{color:gold}.page-about .tech_group_heading{letter-spacing:.09em;text-transform:uppercase;opacity:.65;margin:2.5rem 0 .25rem;font-size:.82rem}.page-about .section_techstack__aboutme{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.page-about .section_techstack__aboutme svg{width:auto;height:38px;margin:0}.page-about .tech_chip_list{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;max-width:none;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.page-about .tech_chip{color:#dcdcdc;background:#ffffff0d;border:1px solid #ffffff38;border-radius:999px;align-items:center;margin:0;padding:.35rem .85rem;font-size:.85rem;display:inline-flex}.page-about .status_hint{opacity:.7;margin:2rem 0}.page-about .cert_section{margin-bottom:3rem}.page-about .cert_groups{border-top:1px solid #ffffff1f;margin-top:1rem}.page-about .cert_group{border-bottom:1px solid #ffffff1f}.page-about .cert_summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#ffd70024;background:0 0;border:0;align-items:center;gap:.75rem;min-height:44px;margin:0;padding:.9rem .25rem;display:flex}.page-about .cert_summary:before{content:"";border-bottom:1.5px solid gold;border-right:1.5px solid gold;flex:none;width:.42rem;height:.42rem;transition:transform .18s;transform:rotate(-45deg)}.page-about .cert_summary[aria-expanded=true]:before{transform:rotate(45deg)}.page-about .cert_summary:focus-visible{outline-offset:-2px;outline:2px solid gold}.page-about .cert_org{flex:1;font-size:1rem}.page-about .cert_count{opacity:.55;font-variant-numeric:tabular-nums;font-size:.8rem}.page-about .cert_list{margin:0;padding:0 0 1rem 1.2rem;list-style:none}.page-about .cert_item+.cert_item{margin-top:1.25rem}.page-about .cert_title{margin:0;padding:0;font-size:.95rem;font-weight:500}.page-about .cert_desc{opacity:.75;margin:.3rem 0 0;font-size:.9rem;line-height:1.6}.page-about .cert_link{color:gold;margin-top:.45rem;font-size:.85rem;display:inline-block}@media (prefers-reduced-motion:reduce){.page-about .cert_summary:before{transition:none}}@media (width>=768px){.page-about main{padding-top:9rem}.page-about .section_p__aboutme{font-size:1.1rem}.page-about .section_techstack__aboutme svg{gap:2.25rem;height:52px}}@media (width<=767px){.page-about main,.page-about section{padding-left:1.2rem;padding-right:1.2rem}.page-about .section_techstack__aboutme{gap:1.35rem}.page-about .section_techstack__aboutme svg{height:34px}}.page-legal main{max-width:70ch;margin:0 auto;padding:8rem 1.5rem}.page-legal h1{margin:0 0 2rem;font-size:2rem}.page-legal .legal_body{line-height:1.75}.page-legal .legal_body h2{border-bottom:1px solid #ffffff26;margin:2.5rem 0 .75rem;padding-bottom:.4rem;font-size:1.15rem}.page-legal .legal_body h3{opacity:.9;margin:1.75rem 0 .5rem;font-size:1rem}.page-legal .legal_body p{margin:0 0 1.1rem}.page-legal .legal_body ul{margin:0 0 1.1rem;padding-left:1.3rem}.page-legal .legal_body li{margin-bottom:.4rem}.page-legal .legal_body a{color:gold}.page-legal .status_hint{opacity:.7;line-height:1.6}@media (width<=767px){.page-legal main{padding:6rem 1.2rem 9rem}.page-legal h1{font-size:1.5rem}}
