@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=JetBrains+Mono:wght@400;500;700&display=swap";.portfolio-site .p-archive{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:34px;display:grid}.portfolio-site .p-archive-index{padding-top:15px}.portfolio-site .p-archive-index-label{font:11px/1.5 var(--p-mono);letter-spacing:.04em;color:var(--p-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;display:flex}.portfolio-site .p-archive-index-label svg{width:12px;height:12px;color:var(--p-brand-bright);flex-shrink:0}.portfolio-site .p-archive-shelf{border-bottom:1px solid #8b5cf673;align-items:flex-start;gap:5px;padding-bottom:15px;display:flex}.portfolio-site .p-archive-spine{min-width:0;height:318px;color:var(--p-ink);background:#211d2e;border:1px solid #594a7a;flex-direction:column;flex:1;align-items:center;padding:16px 0 12px;transition:background .18s,transform .18s,border-color .18s;display:flex;position:relative}.portfolio-site .p-archive-spine:before{content:"";opacity:.12;background:currentColor;width:1px;position:absolute;inset:0 auto 0 5px}.portfolio-site .p-archive-spine:nth-child(2){background:#252234}.portfolio-site .p-archive-spine:nth-child(3){background:#292333}.portfolio-site .p-archive-spine-number{letter-spacing:-.05em;font:italic 31px/1 Georgia,serif}.portfolio-site .p-archive-spine-name{writing-mode:vertical-rl;font:15px/1.3 var(--p-mono);letter-spacing:.03em;margin-top:23px}.portfolio-site .p-archive-spine-year{font:11px/1.4 var(--p-mono);margin-top:auto;padding-top:15px}.portfolio-site .p-archive-spine-mark{font:18px/1 var(--p-mono);margin-top:13px}.portfolio-site .p-archive-spine:hover{border-color:var(--p-brand-bright);transform:translateY(-5px)}.portfolio-site .p-archive-spine.is-active{background:var(--p-brand-bright);color:#181421;border-color:var(--p-brand);box-shadow:3px 3px 0 #080a1055,inset 4px 0 var(--p-brand);transform:translateY(9px)}.portfolio-site .p-archive-spine:focus-visible{outline-offset:3px;z-index:1}.portfolio-site .p-archive-index-foot{font:11px/1.5 var(--p-mono);color:var(--p-muted);justify-content:space-between;padding-top:14px;display:flex}.portfolio-site .p-archive-note{letter-spacing:-.04em;margin:35px 0 13px;font-size:29px;line-height:1.16}.portfolio-site .p-archive-note>span{font-family:Georgia,serif;font-style:italic}.portfolio-site .p-archive-note-label{font:11px/1.5 var(--p-mono);letter-spacing:.055em;color:var(--p-muted)}.portfolio-site .p-archive-record{min-width:0;margin:0}.portfolio-site .p-archive-folio{color:#4d4657;font:11px/1.5 var(--p-mono);background:#ded8e8;border-bottom:1px solid #4b3b692e;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px 12px;display:flex}.portfolio-site .p-archive-folio>span:first-child{color:#342747}.portfolio-site .p-archive-paper{background:#e4e1d5 linear-gradient(90deg,#33362f0c 1px,#0000 1px) 0 0/8px 100%;justify-content:center;align-items:center;height:clamp(410px,40vw,550px);padding:16px;display:flex;position:relative}.portfolio-site .p-archive-document{filter:drop-shadow(1px 5px 4px #25282026);width:100%;height:100%;animation:.25s ease-out both archive-leaf-in;display:block;overflow:hidden}.portfolio-site .p-archive-enlarge{width:29px;height:29px;font:20px/1 var(--p-mono);color:#46483f;border:1px solid #46483f44;place-items:center;transition:background .18s,color .18s;display:grid;position:absolute;bottom:8px;right:10px}.portfolio-site .p-archive-paper:hover .p-archive-enlarge,.portfolio-site .p-archive-paper:focus-visible .p-archive-enlarge{color:#17131f;background:var(--p-brand-bright)}.portfolio-site .p-archive-caption{border-bottom:1px solid var(--p-line);justify-content:space-between;align-items:flex-start;gap:22px;padding:24px 0 18px;display:flex}.portfolio-site .p-archive-caption-copy{align-items:flex-start;gap:17px;min-width:0;display:flex}.portfolio-site .p-archive-caption-number{color:var(--p-brand-bright);font:italic 35px/1 Georgia,serif}.portfolio-site .p-archive-caption h3{letter-spacing:-.04em;max-width:490px;font-size:clamp(21px,2.1vw,29px);font-weight:500;line-height:1.12}.portfolio-site .p-archive-caption p{font:12px/1.6 var(--p-mono);color:var(--p-muted);margin-top:9px}.portfolio-site .p-archive-caption p span{color:#646c75;padding-inline:6px}.portfolio-site .p-archive-caption>a{min-height:44px;font:11px/1.5 var(--p-mono);border-bottom:1px solid var(--p-line);flex-shrink:0;align-items:center;gap:13px;transition:color .18s,border-color .18s;display:flex}.portfolio-site .p-archive-caption>a span{color:var(--p-brand-bright);font-size:18px}.portfolio-site .p-archive-caption>a:hover{color:var(--p-brand-bright);border-color:var(--p-brand)}@keyframes archive-leaf-in{0%{opacity:.45;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media (width<=1180px){.portfolio-site .p-archive{grid-template-columns:195px minmax(0,1fr);gap:24px}.portfolio-site .p-archive-spine{height:295px}.portfolio-site .p-archive-spine-name{font-size:14px}.portfolio-site .p-archive-paper{height:430px;padding:18px}.portfolio-site .p-archive-caption{flex-wrap:wrap;gap:13px}.portfolio-site .p-archive-caption>a{margin-left:51px}}@media (width<=850px){.portfolio-site .p-archive{grid-template-columns:155px minmax(0,1fr);gap:18px}.portfolio-site .p-archive-index-label{align-items:flex-start;max-width:150px}.portfolio-site .p-archive-index-label>span{max-width:110px}.portfolio-site .p-archive-index-label svg{margin-top:3px}.portfolio-site .p-archive-spine{height:280px;padding-top:14px}.portfolio-site .p-archive-spine-name{font-size:13px}.portfolio-site .p-archive-spine-number{font-size:27px}.portfolio-site .p-archive-index-foot>span:first-child{display:none}.portfolio-site .p-archive-note{font-size:25px}.portfolio-site .p-archive-paper{height:350px;padding:15px}.portfolio-site .p-archive-folio{padding:12px}.portfolio-site .p-archive-folio>span:last-child{display:none}}@media (width<=600px){.portfolio-site .p-archive{display:block}.portfolio-site .p-archive-index{padding-top:0}.portfolio-site .p-archive-index-label{max-width:none;margin-bottom:14px}.portfolio-site .p-archive-index-label>span{max-width:none}.portfolio-site .p-archive-shelf{gap:8px;padding-bottom:14px}.portfolio-site .p-archive-spine{grid-template-rows:35px 1fr 24px;grid-template-columns:1fr 1fr;place-items:start center;height:186px;padding:12px 10px 10px;display:grid}.portfolio-site .p-archive-spine-number{grid-area:1/1;font-size:28px}.portfolio-site .p-archive-spine-name{grid-area:1/2/4;align-self:center;margin-top:0;font-size:13px}.portfolio-site .p-archive-spine-year{writing-mode:vertical-rl;grid-area:2/1;margin:8px 0 0;padding:0;font-size:11px}.portfolio-site .p-archive-spine-mark{grid-area:3/1;align-self:end;margin:0}.portfolio-site .p-archive-index-foot{padding:12px 0 16px}.portfolio-site .p-archive-index-foot>span:first-child{display:inline}.portfolio-site .p-archive-note,.portfolio-site .p-archive-note-label{display:none}.portfolio-site .p-archive-paper{aspect-ratio:1.32;height:auto;padding:12px}.portfolio-site .p-archive-document{width:calc(100% - 24px);height:calc(100% - 24px);position:absolute;inset:12px}.portfolio-site .p-archive-folio>span:last-child{display:inline}.portfolio-site .p-archive-enlarge{background:#e4e1d5;width:24px;height:24px;font-size:17px;bottom:4px;right:4px}.portfolio-site .p-archive-caption{padding-top:18px}.portfolio-site .p-archive-caption h3{font-size:23px}.portfolio-site .p-archive-caption-number{font-size:32px}.portfolio-site .p-archive-caption>a{margin-left:47px}}@media (prefers-reduced-motion:reduce){.portfolio-site .p-archive *{transition:none!important;animation:none!important}}.hasan-boot{--boot-ink:#eeeae0;--boot-muted:#a2a6b1;--boot-line:#eeeae02a;--boot-accent:var(--identity,#8b5cf6);z-index:400;color:var(--boot-ink);cursor:default;isolation:isolate;background:linear-gradient(110deg,#101218fa 5%,#101218e8 65%,#101218d9);flex-direction:column;padding:26px clamp(24px,5vw,80px);font-family:Arial,Helvetica,sans-serif;transition:opacity .18s ease-out;animation:.18s ease-out both hasan-boot-arrive;display:flex;position:fixed;inset:0;overflow:auto}.hasan-boot,.hasan-boot *{box-sizing:border-box}.hasan-boot:focus{outline:none}.hasan-boot :is(h1,p,ol){margin:0}.hasan-boot button{font:inherit;color:inherit;cursor:pointer}.hasan-boot :focus-visible{outline:2px solid var(--boot-accent);outline-offset:5px}.hasan-boot-bar{border-bottom:1px solid var(--boot-line);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;font:11px/1.5 JetBrains Mono,monospace;display:flex}.hasan-boot-bar>span{align-items:center;gap:15px;display:flex}.hasan-boot-monogram{background:var(--boot-accent);color:#101218;place-items:center;width:31px;height:34px;font:700 24px/1 monospace;display:grid}.hasan-boot-bar button{min-height:44px;color:var(--boot-muted);background:0 0;border:0;align-items:center;gap:10px;padding:6px 0 6px 12px;display:flex}.hasan-boot-bar button:hover{color:var(--boot-accent)}.hasan-boot-bar kbd{font:inherit;border:1px solid var(--boot-line);padding:4px 6px}.hasan-boot-main{grid-template-columns:1.3fr 1fr;align-items:center;gap:clamp(50px,8vw,160px);width:min(1120px,100%);margin:auto;padding:54px 0;display:grid}.hasan-boot-label{color:var(--boot-muted);letter-spacing:.06em;align-items:center;gap:12px;margin-bottom:36px;font:11px/1.6 JetBrains Mono,monospace;display:flex}.hasan-boot-label svg{width:12px;height:12px;color:var(--boot-accent)}.hasan-boot h1{color:var(--boot-accent);letter-spacing:-.04em;font:clamp(15px,1.65vw,23px)/1.7 "Press Start 2P",monospace}.hasan-boot h1>span{color:#a7cbb9}.hasan-boot-headline{letter-spacing:-.055em;font-size:clamp(44px,5.5vw,78px);line-height:1.04;margin-top:26px!important}.hasan-boot-headline em{font-family:Georgia,serif;font-weight:400}.hasan-boot-opening{color:var(--boot-muted);letter-spacing:.06em;font:11px/1.8 JetBrains Mono,monospace;margin-top:33px!important}.hasan-boot-system{min-width:0}.hasan-boot-orbit{width:136px;height:136px;margin:0 0 33px auto;position:relative}.hasan-boot-orbit>span{border:1px solid #eeeae035;border-radius:50%;position:absolute;inset:4px;transform:rotate(-28deg)scaleY(.64)}.hasan-boot-orbit>svg:first-of-type{width:60px;height:60px;color:var(--boot-accent);animation:3s linear infinite hasan-signature-turn;position:absolute;inset:38px}.hasan-boot-orbit>svg:last-of-type{color:#ce92a4;width:12px;height:12px;position:absolute;top:43px;right:4px}.hasan-boot-stages{border-top:1px solid var(--boot-line);padding:0;list-style:none}.hasan-boot-stages li{border-bottom:1px solid var(--boot-line);color:#8c909c;grid-template-columns:30px 1fr 16px;gap:10px;padding:15px 0;font:11px/1.6 JetBrains Mono,monospace;transition:color .15s;display:grid}.hasan-boot-stages li>span:first-child{color:#8c909c}.hasan-boot-stages li.is-current{color:var(--boot-accent)}.hasan-boot-stages li.is-done{color:#a7cbb9}.hasan-boot-status{min-height:40px;color:var(--boot-muted);padding-top:17px;font:12px/1.7 JetBrains Mono,monospace}.hasan-boot-recovery{margin-top:20px;font:12px/1.7 JetBrains Mono,monospace}.hasan-boot-recovery p{color:var(--boot-muted);margin-bottom:12px}.hasan-boot-recovery button{border:0;border-bottom:1px solid var(--boot-line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:44px;padding:10px 0;display:flex}.hasan-boot-recovery button:hover{color:var(--boot-accent)}.hasan-boot-footer{border-top:1px solid var(--boot-line);letter-spacing:.035em;color:var(--boot-muted);justify-content:space-between;gap:20px;padding-top:18px;font:10px/1.7 JetBrains Mono,monospace;display:flex}.hasan-boot.is-ready{background:linear-gradient(110deg,#101218ed 5%,#101218c9 65%,#101218b0)}.hasan-boot.is-ready .hasan-boot-orbit>svg{animation-play-state:paused}.hasan-boot.is-revealing{opacity:0}@keyframes hasan-boot-arrive{0%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes hasan-signature-turn{to{transform:rotate(360deg)}}@media (width<=650px){.hasan-boot{padding:16px 22px}.hasan-boot-main{grid-template-columns:1fr;gap:25px;padding:30px 0}.hasan-boot-label{margin-bottom:16px}.hasan-boot-headline{font-size:44px;margin-top:16px!important}.hasan-boot-opening{margin-top:20px!important}.hasan-boot-orbit{display:none}.hasan-boot-stages li{padding:10px 0}.hasan-boot-bar{gap:10px;padding-bottom:12px;font-size:10px}.hasan-boot-bar>span{gap:9px}.hasan-boot-footer>span:last-child{display:none}}@media (height<=700px) and (width>=651px){.hasan-boot{padding-block:16px}.hasan-boot-main{padding:24px 0}.hasan-boot-orbit{width:100px;height:100px;margin-bottom:16px}.hasan-boot-orbit>svg:first-of-type{width:48px;height:48px;inset:26px}.hasan-boot-headline{font-size:56px}}@media (prefers-reduced-motion:reduce){.hasan-boot,.hasan-boot *{transition:none!important;animation:none!important}}.pf-root.portfolio-root-active{overflow:visible}.portfolio-site{--p-bg:#101218;--p-panel:#171a21;--p-line:#33363e;--p-ink:#eeeae0;--p-muted:#a2a6b1;--p-brand:var(--identity,#8b5cf6);--p-brand-bright:var(--identity-bright,#a78bfa);--p-brand-deep:var(--identity-deep,#5f3daa);--p-brand-soft:var(--identity-soft,#8b5cf61a);--p-gold:var(--gold,#edcf75);--p-yellow:var(--p-brand);--p-pink:#ce92a4;--p-green:var(--success,#a7cbb9);--p-mono:"JetBrains Mono",monospace;--p-pixel:"Press Start 2P",monospace;background:var(--p-bg);color:var(--p-ink);cursor:auto;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.6;overflow:clip}.portfolio-site *,.portfolio-site :before,.portfolio-site :after{box-sizing:border-box}.portfolio-site :where(h1,h2,h3,p,ol,ul,dl,dd){margin:0}.portfolio-site :where(a){color:inherit;cursor:pointer;text-decoration:none}.portfolio-site :where(button){font:inherit;color:inherit;cursor:pointer}.pf-root .portfolio-site :is(a,button){cursor:pointer}.portfolio-site :where(input,textarea){cursor:text}.portfolio-site button:disabled{cursor:default}.portfolio-site ::selection{background:var(--p-yellow);color:#101218}.portfolio-site :focus-visible{outline:2px solid var(--p-yellow);outline-offset:5px}.portfolio-site .p-container{width:min(1280px,100% - 112px);margin-inline:auto}.portfolio-site .p-mono,.portfolio-site .p-eyebrow{font-family:var(--p-mono);letter-spacing:.075em;font-size:11px;line-height:1.6}.portfolio-site .p-eyebrow{color:var(--p-yellow);text-transform:uppercase;font-weight:500}.portfolio-site .p-serif{letter-spacing:-.05em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.portfolio-site h2{letter-spacing:-.055em;font-size:clamp(38px,4.8vw,64px);font-weight:500;line-height:1.07}.portfolio-site .p-button{border:1px solid var(--p-yellow);min-height:52px;font:11px/1.6 var(--p-mono);letter-spacing:.04em;background:0 0;justify-content:space-between;align-items:center;gap:28px;padding:15px 21px;transition:box-shadow .18s,transform .18s;display:inline-flex}.portfolio-site .p-button-primary{background:var(--p-yellow);color:#151719}.portfolio-site .p-button span{font-size:22px;line-height:1}.portfolio-site .p-button:hover{box-shadow:4px 4px 0 var(--p-brand-deep);transform:translate(-2px,-2px)}.portfolio-site .p-text-button{border:0;border-bottom:1px solid var(--p-line);min-height:44px;font:11px var(--p-mono);letter-spacing:.04em;background:0 0;padding:10px 0}.portfolio-site .p-text-button span{color:var(--p-pink);margin-left:22px}.portfolio-site .p-text-button:hover{color:var(--p-yellow);border-color:var(--p-yellow)}.portfolio-site .p-skip{z-index:100;background:var(--p-yellow);color:#111;font:13px var(--p-mono);padding:12px 18px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.portfolio-site .p-skip:focus{transform:none}.portfolio-site .p-header{z-index:30;background:var(--p-bg);border-bottom:1px solid var(--p-line);align-items:center;gap:28px;min-height:78px;padding:0 40px;display:flex;position:sticky;top:0}.portfolio-site .p-brand{font:11px var(--p-mono);letter-spacing:.07em;white-space:nowrap;align-items:center;gap:12px;display:flex}.portfolio-site .p-brand-mark{background:var(--p-yellow);color:#151719;width:34px;height:34px;font:18px var(--p-pixel);place-items:center;padding-left:3px;display:grid}.portfolio-site .p-brand-suffix{color:var(--p-muted)}.portfolio-site .p-header nav{align-self:stretch;margin-left:auto;display:flex}.portfolio-site .p-header nav a{border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 15px;font-size:12px;transition:background .15s,color .15s;display:flex}.portfolio-site .p-nav-number{font:11px var(--p-mono);color:#8f929f}.portfolio-site .p-header nav a:hover,.portfolio-site .p-header nav a[aria-current]{color:var(--p-brand-bright);background:var(--p-brand-soft);border-bottom-color:var(--p-yellow)}.portfolio-site .p-nav-play{min-height:38px;font:11px var(--p-mono);color:var(--p-brand-bright);background:0 0;border:1px solid #765fb1;flex-shrink:0;padding:10px 12px;transition:background .15s,border-color .15s}.portfolio-site .p-nav-play:hover{background:var(--p-brand-soft);border-color:var(--p-brand)}.portfolio-site .p-nav-play>span{margin-right:7px}.portfolio-site .p-menu-toggle{display:none}.portfolio-site .p-hero{padding-top:34px;scroll-margin-top:100px}.portfolio-site .p-hero-meta{color:var(--p-muted);justify-content:space-between;align-items:center;display:flex}.portfolio-site .p-hero-meta>span:first-child{align-items:center;gap:10px;display:flex}.portfolio-site .p-status-dot{background:var(--p-green);width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #a7cbb914}.portfolio-site .p-hero-meta>span:last-child span{color:var(--p-yellow);margin-left:14px}.portfolio-site .p-hero-title-wrap{padding:68px 0 46px;position:relative}.portfolio-site .p-hero-title-wrap>.p-eyebrow{color:var(--p-muted)}.portfolio-site .p-hero h1{letter-spacing:-.067em;margin:25px 0 0;font-size:clamp(60px,8.4vw,119px);font-weight:500;line-height:1.18}.portfolio-site .p-pixel-word{font-family:var(--p-pixel);letter-spacing:-.04em;color:var(--p-yellow);vertical-align:.045em;font-size:.535em}.portfolio-site .p-hero-signature{width:66px;height:66px;color:var(--p-yellow);transition:transform .35s;position:absolute;top:40px;right:2px;transform:rotate(-8deg)}.portfolio-site .p-hero-signature:hover{transform:rotate(8deg)}.portfolio-site .p-hero-margin{writing-mode:vertical-rl;color:#8d91a0;font-size:11px;position:absolute;top:147px;right:0}.portfolio-site .p-hero-bottom{grid-template-columns:70px minmax(0,520px) 1fr;align-items:center;gap:30px;padding:25px 0 50px;display:grid}.portfolio-site .p-hero-cross{color:var(--p-pink);font-size:61px;line-height:1}.portfolio-site .p-hero-bottom>p{color:var(--p-muted);max-width:490px;font-size:18px;line-height:1.7}.portfolio-site .p-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 26px;margin:0;display:flex}.portfolio-site .p-hero-foot{border-top:1px solid var(--p-line);color:var(--p-muted);justify-content:space-between;align-items:center;padding:21px 0;font-size:11px;display:flex}.portfolio-site .p-hero-foot a{gap:30px;display:flex}.portfolio-site .p-hero-foot a:hover{color:var(--p-yellow)}.portfolio-site .p-section{padding:86px 0 12px;scroll-margin-top:78px}.portfolio-site .p-section-bar{border-top:1px solid var(--p-line);justify-content:space-between;gap:20px;margin-bottom:45px;padding-top:19px;display:flex}.portfolio-site .p-section-bar>.p-mono{color:var(--p-muted);text-align:right;font-size:11px}.portfolio-site .p-section-intro{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:40px;display:flex}.portfolio-site .p-section-intro>p{max-width:350px;color:var(--p-muted);font-size:16px;line-height:1.75}.portfolio-site .p-about-layout{grid-template-columns:1fr 2.05fr;gap:66px;display:grid}.portfolio-site .p-side-note{color:var(--p-muted);margin-top:24px;font-size:15px}.portfolio-site .p-dossier{color:#22262b;background:#e9e5d8;padding:28px 32px 0;position:relative}.portfolio-site .p-dossier:before{content:"";background:repeating-linear-gradient(0deg,#7e857d 0 2px,#0000 2px 9px);width:9px;height:100%;position:absolute;top:0;left:0}.portfolio-site .p-dossier-head{color:#555d59;border-bottom:1px solid #b7b9b0;align-items:center;gap:16px;padding-bottom:21px;display:flex}.portfolio-site .p-dossier-head>svg{width:30px;height:30px;margin-left:auto}.portfolio-site .p-dossier-stamp{font:11px/1.5 var(--p-mono);border:1px solid #747b71;padding:4px 7px;transform:rotate(-4deg)}.portfolio-site .p-about-statement{letter-spacing:-.035em;max-width:670px;padding:28px 0 17px;font-size:clamp(26px,2.5vw,37px);line-height:1.25}.portfolio-site .p-about-statement em{font-family:Georgia,serif;font-weight:400}.portfolio-site .p-about-copy{color:#4d5553;max-width:680px;font-size:15px;line-height:1.85}.portfolio-site .p-records{border-top:1px solid #b7b9b0;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:30px;padding:24px 0 28px;display:grid}.portfolio-site .p-records .p-mono{color:#626961;font-size:11px}.portfolio-site .p-records h3{margin-top:7px;font-size:14px;font-weight:600;line-height:1.5}.portfolio-site .p-records p{color:#545b55;margin-top:3px;font-size:12px;line-height:1.5}.portfolio-site .p-project-tabs{border:1px solid var(--p-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.portfolio-site .p-project-tabs button{border:0;border-right:1px solid var(--p-line);text-align:left;background:0 0;border-bottom:2px solid #0000;align-items:center;gap:14px;min-height:64px;padding:18px 20px;font-size:14px;display:flex}.portfolio-site .p-project-tabs button:last-child{border-right:0}.portfolio-site .p-project-tabs button>.p-mono{color:var(--p-muted);font-size:11px}.portfolio-site .p-project-tabs button>span:last-child{color:var(--p-muted);margin-left:auto}.portfolio-site .p-project-tabs button[aria-selected=true]{border-bottom-color:var(--p-yellow);background:var(--p-panel);color:var(--p-yellow)}.portfolio-site .p-project-tabs button:hover{background:var(--p-panel)}.portfolio-site .p-project-spread{border:1px solid var(--p-line);border-top:0;grid-template-columns:1.18fr 1fr;display:grid}.portfolio-site .p-project-map{color:#272b2c;background:#c9c8b3;flex-direction:column;min-height:482px;padding:23px 30px 21px;display:flex;position:relative;overflow:hidden}.portfolio-site .p-project-map-1{background:#d0b9ba}.portfolio-site .p-project-map-2{background:#d8c091}.portfolio-site .p-project-map-3{background:#b3c6c0}.portfolio-site .p-map-top{border-bottom:1px solid #272b2c55;justify-content:space-between;padding-bottom:15px;font-size:11px;display:flex}.portfolio-site .p-map-art{background-image:linear-gradient(#272b2c12 1px,#0000 1px),linear-gradient(90deg,#272b2c12 1px,#0000 1px);background-size:24px 24px;height:188px;margin:19px 0 18px;position:relative}.portfolio-site .p-map-number{letter-spacing:-.09em;font-size:169px;font-weight:700;line-height:1;position:absolute;top:0;left:14px}.portfolio-site .p-map-symbol{font-size:124px;font-family:var(--p-mono);line-height:1;position:absolute;top:19px;right:24px}.portfolio-site .p-map-guide{background:#272b2c;width:130px;height:1px;position:absolute;bottom:24px;right:22px}.portfolio-site .p-map-guide:before,.portfolio-site .p-map-guide:after{content:"";background:#272b2c;width:1px;height:9px;position:absolute;top:-4px}.portfolio-site .p-map-guide:after{right:0}.portfolio-site .p-map-coordinate{font:11px var(--p-mono);letter-spacing:.06em;position:absolute;bottom:0;left:17px}.portfolio-site .p-project-map>h3{letter-spacing:-.04em;max-width:350px;margin-bottom:24px;font-size:25px;line-height:1.2}.portfolio-site .p-flow{border-block:1px solid #272b2c55;grid-template-columns:repeat(3,1fr);margin:auto 0 24px;padding:0;list-style:none;display:grid}.portfolio-site .p-flow li{font:11px/1.6 var(--p-mono);padding:12px 10px 12px 0;position:relative}.portfolio-site .p-flow li+li{border-left:1px solid #272b2c55;padding-left:13px}.portfolio-site .p-flow li>span{color:#565951;margin-bottom:6px;font-size:11px;display:block}.portfolio-site .p-map-caption{letter-spacing:.04em;font-size:11px}.portfolio-site .p-project-copy{background:var(--p-panel);flex-direction:column;padding:42px 39px 30px;display:flex}.portfolio-site .p-project-copy>.p-eyebrow{color:var(--p-muted);font-size:11px}.portfolio-site .p-project-copy>h3{letter-spacing:-.045em;margin:20px 0 22px;font-size:clamp(28px,3.1vw,42px);line-height:1.08}.portfolio-site .p-project-copy>p{color:var(--p-muted);font-size:15px;line-height:1.8}.portfolio-site .p-project-copy dl{border-top:1px solid var(--p-line);margin-top:27px}.portfolio-site .p-project-copy dl>div{border-bottom:1px solid var(--p-line);grid-template-columns:92px 1fr;gap:15px;padding:17px 0;display:grid}.portfolio-site .p-project-copy dt{font:11px/1.8 var(--p-mono);color:var(--p-muted)}.portfolio-site .p-project-copy dd{font-size:13px}.portfolio-site .p-stack{flex-wrap:wrap;gap:6px 13px;display:flex}.portfolio-site .p-stack>span{color:var(--p-green)}.portfolio-site .p-project-copy>.p-project-link-note{margin-top:auto;padding-top:24px;font-size:11px}.portfolio-site .p-project-link-note>span{color:var(--p-yellow);margin-right:6px}.portfolio-site .p-project-footer{color:var(--p-muted);justify-content:space-between;padding-top:16px;font-size:11px;display:flex}.portfolio-site .p-toolkit-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:37px;display:flex}.portfolio-site .p-toolkit-heading h2{font-size:clamp(36px,4vw,55px)}.portfolio-site .p-toolkit-heading p{max-width:320px;color:var(--p-muted);font-size:15px}.portfolio-site .p-tool-controls{border-top:1px solid var(--p-line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.portfolio-site .p-tool-controls>.p-mono{color:var(--p-green);font-size:11px}.portfolio-site .p-tool-controls button{font:11px var(--p-mono);background:0 0;border:0;min-height:34px}.portfolio-site .p-tool-controls button:disabled{color:#777d8c}.portfolio-site .p-tool-matrix{border-top:1px solid var(--p-line);border-left:1px solid var(--p-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.portfolio-site .p-tool-module{border-right:1px solid var(--p-line);border-bottom:1px solid var(--p-line);background:var(--p-bg);padding:24px 22px;transition:background .2s;position:relative}.portfolio-site .p-tool-module>button{text-align:left;background:0 0;border:0;align-items:flex-start;gap:13px;width:100%;padding:0 0 22px;display:flex}.portfolio-site .p-tool-id{color:var(--p-green);font:11px var(--p-mono);padding-top:4px}.portfolio-site .p-tool-label{font:12px var(--p-mono);letter-spacing:.02em;display:block}.portfolio-site .p-tool-purpose{color:var(--p-muted);margin-top:6px;font-size:11px;line-height:1.5;display:block}.portfolio-site .p-tool-indicator{color:var(--p-muted);font:16px var(--p-mono);margin-left:auto}.portfolio-site .p-tool-module ul{padding:0;list-style:none}.portfolio-site .p-tool-module li{border-top:1px solid #33363e88;align-items:center;gap:19px;padding:8px 0;font-size:15px;display:flex}.portfolio-site .p-tool-slot{color:#747a87;font:11px var(--p-mono)}.portfolio-site .p-tool-module:hover{background:#191e24}.portfolio-site .p-tool-module.is-selected{box-shadow:inset 0 3px 0 var(--p-green);background:#202e2c}.portfolio-site .p-tool-module.is-selected .p-tool-label,.portfolio-site .p-tool-module.is-selected .p-tool-indicator{color:var(--p-green)}.portfolio-site .p-tool-matrix.has-selection .p-tool-module:not(.is-selected){background:#0f1116}.portfolio-site .p-tool-end{border-right:1px solid var(--p-line);border-bottom:1px solid var(--p-line);background:#1d2228;flex-direction:column;justify-content:center;padding:25px;display:flex}.portfolio-site .p-tool-end>span:first-child{color:var(--p-green);margin-bottom:16px;font-size:60px;line-height:1}.portfolio-site .p-tool-end>p{letter-spacing:-.04em;font-size:24px;line-height:1.15}.portfolio-site .p-tool-end>.p-mono{color:var(--p-muted);margin-top:18px;font-size:11px}.portfolio-site .p-cert-strip{border:1px solid var(--p-line);width:100%;max-width:810px;min-height:0;margin-inline:auto;display:flex}.portfolio-site .p-cert-item{border:0;border-right:1px solid var(--p-line);background:var(--p-panel);text-align:left;flex:0 0 75px;min-width:0;padding:0;transition:flex .24s;display:flex;position:relative;overflow:hidden}.portfolio-site .p-cert-item:last-child{border-right:0}.portfolio-site .p-cert-item.is-active{flex:1 1 0}.portfolio-site .p-cert-spine{writing-mode:vertical-rl;width:74px;font-family:var(--p-mono);flex:0 0 74px;align-items:center;gap:24px;padding:24px 0;transition:background .18s,color .18s;display:flex}.portfolio-site .p-cert-spine>span:first-child{color:var(--p-brand-bright);font-size:12px}.portfolio-site .p-cert-spine>span:nth-child(2){letter-spacing:.01em;font-size:16px}.portfolio-site .p-cert-spine>span:nth-child(3){color:var(--p-muted);margin-top:auto;font-size:12px}.portfolio-site .p-cert-item:hover .p-cert-spine{color:var(--p-brand-bright);background:#25213a}.portfolio-site .p-cert-item:focus-visible{outline-offset:-3px;z-index:1}.portfolio-site .p-cert-item.is-active .p-cert-spine{color:#292533;box-shadow:inset 4px 0 var(--p-brand);background:#ded8e8;border-right:1px solid #29253326}.portfolio-site .p-cert-item.is-active .p-cert-spine>span{color:inherit}.portfolio-site .p-cert-item.is-active .p-cert-spine>span:first-child{text-underline-offset:6px;text-decoration:underline}.portfolio-site .p-cert-preview{flex-direction:column;flex:1;min-width:0;display:none}.portfolio-site .p-cert-item.is-active .p-cert-preview{display:flex}.portfolio-site .p-cert-paper{background:#dfddcf;flex:none;justify-content:center;align-items:center;height:400px;min-height:0;padding:16px;display:flex}.portfolio-site .p-cert-document{filter:drop-shadow(0 3px 3px #171a211f);width:100%;height:100%;display:block;overflow:hidden}.portfolio-site .p-cert-item.is-active .p-cert-document{animation:.24s ease-out both certificate-page-in}@keyframes certificate-page-in{0%{opacity:.35;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.portfolio-site .p-cert-caption{border-top:1px solid var(--p-line);min-height:85px;padding:12px 18px}.portfolio-site .p-cert-caption strong{letter-spacing:-.03em;font-size:19px;font-weight:500;line-height:1.25;display:block}.portfolio-site .p-cert-caption>span{font:12px var(--p-mono);color:var(--p-muted);margin-top:6px;display:block}.portfolio-site .p-cert-toolbar{justify-content:space-between;align-items:center;gap:20px;max-width:810px;margin-inline:auto;padding:10px 0;display:flex}.portfolio-site .p-cert-toolbar>.p-mono{color:var(--p-muted);font-size:11px}.portfolio-site .p-cert-toolbar a{font:11px var(--p-mono);border-bottom:1px solid var(--p-line);padding:8px 0}.portfolio-site .p-cert-toolbar a:hover{color:var(--p-brand-bright);border-color:var(--p-brand)}.portfolio-site .p-cert-toolbar a span{color:var(--p-brand-bright);margin-left:12px}.portfolio-site .p-contact{padding:100px 0 70px;scroll-margin-top:75px}.portfolio-site .p-contact .p-section-bar{margin-bottom:54px}.portfolio-site .p-contact-grid{grid-template-columns:1fr 1fr;gap:90px;display:grid}.portfolio-site .p-contact-intro>svg{width:50px;height:50px;color:var(--p-pink);margin-bottom:24px}.portfolio-site .p-contact-intro h2{font-size:clamp(40px,4.7vw,63px)}.portfolio-site .p-contact-intro>p{color:var(--p-muted);max-width:420px;margin-top:25px;font-size:16px}.portfolio-site .p-contact-intro>.p-contact-config{border-top:1px solid var(--p-line);margin-top:31px;padding-top:22px;font-size:12px;line-height:1.9}.portfolio-site .p-contact-config>span{color:var(--p-pink);margin-right:7px}.portfolio-site .p-contact-email{border-bottom:1px solid var(--p-yellow);color:var(--p-yellow);margin-top:28px;font-size:20px;display:inline-block}.portfolio-site .p-contact-socials{font:11px var(--p-mono);gap:25px;margin-top:20px;display:flex}.portfolio-site .p-contact-socials a:hover{color:var(--p-yellow)}.portfolio-site .p-contact-form{border-top:3px solid var(--p-yellow);background:var(--p-panel);align-self:start;padding:28px 30px 15px}.portfolio-site .p-form-title{color:var(--p-yellow);justify-content:space-between;margin-bottom:24px;display:flex}.portfolio-site .p-form-row{grid-template-columns:1fr 1fr;gap:17px;display:grid}.portfolio-site .p-contact-form label{font:11px/1.7 var(--p-mono);letter-spacing:.05em;color:var(--p-muted);display:block}.portfolio-site .p-contact-form input,.portfolio-site .p-contact-form textarea{width:100%;min-width:0;color:var(--p-ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #515561;border-radius:0;margin:9px 0 22px;padding:13px 0;font:14px/1.6 Arial,sans-serif;display:block}.portfolio-site .p-contact-form input::placeholder,.portfolio-site .p-contact-form textarea::placeholder{color:#9195a1;opacity:1}.portfolio-site .p-contact-form input:focus,.portfolio-site .p-contact-form textarea:focus{border-bottom-color:var(--p-yellow);box-shadow:0 1px 0 var(--p-yellow);outline:0}.portfolio-site .p-contact-form .p-button{width:100%;margin-top:2px}.portfolio-site .p-form-note{color:var(--p-muted);margin-top:15px;font-size:11px;line-height:1.65}.portfolio-site .p-form-status{color:var(--p-green);margin-top:14px;font-size:12px;line-height:1.7}.portfolio-site .p-brief-preview{margin-top:20px}.portfolio-site .p-contact-form .p-brief-preview textarea{font:12px/1.8 var(--p-mono)}.portfolio-site .p-footer{border-top:1px solid var(--p-line);justify-content:space-between;align-items:center;gap:30px;padding:30px 0 36px;display:flex}.portfolio-site .p-footer-brand{font:13px var(--p-pixel);align-items:center;gap:20px;display:flex}.portfolio-site .p-footer-brand>span{color:var(--p-pink);font:22px Arial,sans-serif}.portfolio-site .p-footer>.p-mono{color:var(--p-muted);font-size:11px}.portfolio-site .p-footer>div{gap:25px;display:flex}.portfolio-site .p-footer>div>a,.portfolio-site .p-footer button{font:11px var(--p-mono);background:0 0;border:0;padding:10px 0}.portfolio-site .p-footer button{color:var(--p-pink)}.portfolio-site .p-footer a:hover{color:var(--p-yellow)}@media (width>=1600px){.portfolio-site .p-hero{padding-top:50px}.portfolio-site .p-hero-title-wrap{padding-top:83px;padding-bottom:65px}.portfolio-site .p-hero-bottom{padding-bottom:70px}}@media (width<=1180px){.portfolio-site .p-container{width:calc(100% - 72px)}.portfolio-site .p-header{gap:18px;padding:0 25px}.portfolio-site .p-brand-suffix{display:none}.portfolio-site .p-header nav a{padding:0 12px}.portfolio-site .p-hero-bottom{grid-template-columns:40px minmax(0,1fr) 265px;gap:25px}.portfolio-site .p-hero-cross{font-size:45px}.portfolio-site .p-hero-bottom>p{font-size:16px}.portfolio-site .p-hero-actions{justify-content:flex-end}.portfolio-site .p-about-layout{grid-template-columns:1fr 2fr;gap:35px}.portfolio-site .p-dossier{padding-inline:25px}.portfolio-site .p-records{grid-template-columns:1fr;gap:17px}.portfolio-site .p-records>div{grid-template-columns:105px 1fr;column-gap:15px;display:grid}.portfolio-site .p-records .p-mono{grid-row:span 2;padding-top:2px}.portfolio-site .p-records h3{margin:0}.portfolio-site .p-project-tabs button{gap:9px;padding:16px 14px;font-size:12px}.portfolio-site .p-project-copy{padding:32px 27px 25px}.portfolio-site .p-project-map{padding-inline:25px}.portfolio-site .p-map-number{font-size:155px}.portfolio-site .p-map-symbol{font-size:95px;top:40px;right:9px}.portfolio-site .p-tool-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-site .p-tool-module{padding:25px 27px}.portfolio-site .p-tool-module ul{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.portfolio-site .p-tool-module li{gap:12px;font-size:14px}.portfolio-site .p-tool-end{padding:25px}.portfolio-site .p-tool-end>span:first-child{margin-bottom:9px;font-size:38px}.portfolio-site .p-contact-grid{gap:45px}.portfolio-site .p-form-row{grid-template-columns:1fr;gap:0}}@media (width<=850px){.portfolio-site .p-header{min-height:68px}.portfolio-site .p-menu-toggle{border:1px solid var(--p-line);font:11px var(--p-mono);background:0 0;order:2;min-height:40px;padding:12px;display:block}.portfolio-site .p-nav-play{margin-left:auto}.portfolio-site .p-header nav{background:var(--p-bg);border-bottom:1px solid var(--p-line);width:100%;padding:16px 25px;display:none;position:absolute;top:100%;left:0}.portfolio-site .p-header nav.is-open{flex-direction:column;display:flex}.portfolio-site .p-header nav a{gap:20px;padding:15px 5px;font-size:15px}.portfolio-site .p-hero-title-wrap{padding:63px 0 28px}.portfolio-site .p-hero h1{font-size:8.9vw;line-height:1.3}.portfolio-site .p-hero-signature{width:43px;height:43px;top:33px}.portfolio-site .p-hero-margin{display:none}.portfolio-site .p-hero-bottom{grid-template-columns:40px 1fr;row-gap:24px}.portfolio-site .p-hero-actions{grid-column:2;justify-content:flex-start;gap:16px 28px}.portfolio-site .p-section{padding-top:65px;scroll-margin-top:66px}.portfolio-site .p-about-layout{grid-template-columns:1fr;gap:28px}.portfolio-site .p-about-title{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.portfolio-site .p-side-note{margin:0}.portfolio-site .p-records{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portfolio-site .p-records>div{display:block}.portfolio-site .p-records h3{margin-top:7px}.portfolio-site .p-section-intro{gap:30px}.portfolio-site .p-section-intro>p{max-width:270px;font-size:14px}.portfolio-site .p-project-tabs button>span:last-child{display:none}.portfolio-site .p-project-tabs button{justify-content:center}.portfolio-site .p-project-spread{grid-template-columns:1fr}.portfolio-site .p-project-map{min-height:410px}.portfolio-site .p-map-number{font-size:170px}.portfolio-site .p-map-symbol{font-size:140px;top:15px;right:40px}.portfolio-site .p-map-guide{right:48px}.portfolio-site .p-project-map>h3{max-width:none}.portfolio-site .p-project-copy>h3{max-width:460px}.portfolio-site .p-project-copy>p{max-width:580px}.portfolio-site .p-toolkit-heading{display:block}.portfolio-site .p-toolkit-heading p{max-width:450px;margin-top:23px}.portfolio-site .p-tool-module ul{grid-template-columns:1fr}.portfolio-site .p-cert-strip{min-height:0}.portfolio-site .p-cert-item{flex-basis:54px}.portfolio-site .p-cert-spine{flex-basis:53px;width:53px}.portfolio-site .p-cert-paper{height:370px;padding:16px}.portfolio-site .p-cert-caption{padding:12px 16px}.portfolio-site .p-cert-caption strong{font-size:18px}.portfolio-site .p-contact-grid{grid-template-columns:1fr;gap:40px}.portfolio-site .p-contact-intro>p{max-width:530px}.portfolio-site .p-contact-form{padding:27px}.portfolio-site .p-form-row{grid-template-columns:1fr 1fr;gap:20px}.portfolio-site .p-footer{flex-wrap:wrap;gap:25px}.portfolio-site .p-footer>.p-mono{order:3;width:100%}}@media (width<=540px){.portfolio-site{font-size:16px}.portfolio-site .p-container{width:calc(100% - 40px)}.portfolio-site .p-header{gap:10px;min-height:65px;padding:0 20px}.portfolio-site .p-brand{gap:8px;font-size:11px}.portfolio-site .p-brand-mark{width:28px;height:28px;font-size:14px}.portfolio-site .p-nav-play{min-height:39px;padding:10px 8px;font-size:11px}.portfolio-site .p-nav-play>span{margin-right:2px}.portfolio-site .p-menu-toggle{padding:10px 8px;font-size:11px}.portfolio-site .p-hero{padding-top:25px}.portfolio-site .p-hero-meta{letter-spacing:.015em;font-size:11px}.portfolio-site .p-hero-meta>span:last-child span{display:none}.portfolio-site .p-status-dot{width:4px;height:4px}.portfolio-site .p-hero-title-wrap{padding:69px 0 20px}.portfolio-site .p-hero-title-wrap>.p-eyebrow{letter-spacing:.035em;font-size:11px}.portfolio-site .p-hero h1{letter-spacing:-.065em;white-space:nowrap;margin-top:19px;font-size:10.45vw;line-height:1.4}.portfolio-site .p-pixel-word{font-size:.52em}.portfolio-site .p-hero-signature{width:34px;height:34px;top:21px;right:1px}.portfolio-site .p-hero-bottom{grid-template-columns:25px 1fr;gap:18px;padding:13px 0 30px}.portfolio-site .p-hero-cross{align-self:start;margin-top:6px;font-size:31px}.portfolio-site .p-hero-bottom>p{font-size:15px;line-height:1.8}.portfolio-site .p-hero-actions{grid-column:1/-1;align-items:center;gap:10px 18px;margin-top:4px}.portfolio-site .p-button{gap:18px;min-height:48px;padding:13px 15px;font-size:11px}.portfolio-site .p-text-button{font-size:11px}.portfolio-site .p-text-button span{margin-left:8px}.portfolio-site .p-hero-foot{gap:15px;padding:19px 0;font-size:11px}.portfolio-site .p-hero-foot a{white-space:nowrap;gap:6px}.portfolio-site .p-section{padding-top:56px}.portfolio-site .p-section-bar{gap:15px;margin-bottom:31px;padding-top:15px}.portfolio-site .p-section-bar .p-eyebrow{font-size:11px}.portfolio-site .p-section-bar>.p-mono{max-width:120px;font-size:11px}.portfolio-site h2{font-size:39px}.portfolio-site .p-side-note{font-size:11px}.portfolio-site .p-dossier{padding:22px 23px 0}.portfolio-site .p-dossier-head>.p-mono{font-size:11px}.portfolio-site .p-dossier-head>svg{width:24px;height:24px}.portfolio-site .p-dossier-stamp{display:none}.portfolio-site .p-about-statement{font-size:29px}.portfolio-site .p-about-copy{font-size:14px}.portfolio-site .p-records{grid-template-columns:1fr;gap:21px}.portfolio-site .p-records>div{grid-template-columns:98px 1fr;gap:0 14px;display:grid}.portfolio-site .p-records h3{margin:0;font-size:12px}.portfolio-site .p-records p,.portfolio-site .p-records .p-mono{font-size:11px}.portfolio-site .p-section-intro{margin-bottom:26px;display:block}.portfolio-site .p-section-intro>p{max-width:100%;margin-top:22px}.portfolio-site .p-project-tabs{grid-template-columns:1fr 1fr}.portfolio-site .p-project-tabs button{border-bottom:1px solid var(--p-line);justify-content:flex-start;min-height:49px;padding:12px;font-size:11px}.portfolio-site .p-project-tabs button[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--p-yellow)}.portfolio-site .p-project-tabs button:nth-child(2){border-right:0}.portfolio-site .p-project-map{min-height:397px;padding:19px}.portfolio-site .p-map-top{font-size:11px}.portfolio-site .p-map-art{height:158px}.portfolio-site .p-map-number{font-size:132px;top:9px;left:6px}.portfolio-site .p-map-symbol{font-size:90px;top:30px;right:6px}.portfolio-site .p-map-guide{width:80px;bottom:19px;right:5px}.portfolio-site .p-map-coordinate{font-size:11px;left:6px}.portfolio-site .p-project-map>h3{font-size:23px}.portfolio-site .p-flow li{font-size:11px;line-height:1.8}.portfolio-site .p-flow li+li{padding-left:8px}.portfolio-site .p-map-caption{font-size:11px}.portfolio-site .p-project-copy{padding:27px 23px 24px}.portfolio-site .p-project-copy>h3{font-size:33px}.portfolio-site .p-project-copy>p{font-size:14px}.portfolio-site .p-project-copy dl>div{grid-template-columns:71px 1fr}.portfolio-site .p-project-footer{font-size:11px}.portfolio-site .p-toolkit-heading h2{font-size:35px}.portfolio-site .p-toolkit-heading p{font-size:14px}.portfolio-site .p-tool-controls>.p-mono,.portfolio-site .p-tool-controls button{font-size:11px}.portfolio-site .p-tool-module{padding:20px 13px}.portfolio-site .p-tool-module>button{gap:7px}.portfolio-site .p-tool-id{padding-top:3px;font-size:11px}.portfolio-site .p-tool-label{font-size:11px}.portfolio-site .p-tool-purpose{max-width:106px;font-size:11px}.portfolio-site .p-tool-module li{gap:10px;padding:8px 0;font-size:12px}.portfolio-site .p-tool-slot{font-size:11px}.portfolio-site .p-tool-end{padding:18px}.portfolio-site .p-tool-end>p{font-size:22px}.portfolio-site .p-tool-end>.p-mono{font-size:11px}.portfolio-site .p-cert-strip{flex-direction:column;min-height:0}.portfolio-site .p-cert-item{border:0;border-bottom:1px solid var(--p-line);flex-direction:column;flex-basis:auto;min-height:58px;display:flex}.portfolio-site .p-cert-item.is-active{flex:auto}.portfolio-site .p-cert-spine{writing-mode:horizontal-tb;flex:0 0 58px;gap:22px;width:100%;padding:14px 20px}.portfolio-site .p-cert-spine>span:nth-child(2){font-size:14px}.portfolio-site .p-cert-spine>span:nth-child(3){margin:0 0 0 auto}.portfolio-site .p-cert-item.is-active .p-cert-spine{box-shadow:inset 4px 0 var(--p-brand);border-bottom:1px solid #29253326;border-right:0}.portfolio-site .p-cert-preview{display:none}.portfolio-site .p-cert-item.is-active .p-cert-preview{display:flex}.portfolio-site .p-cert-paper{height:clamp(190px,66vw,370px);padding:12px}.portfolio-site .p-cert-caption{min-height:0}.portfolio-site .p-cert-caption strong{font-size:18px}.portfolio-site .p-cert-toolbar{align-items:flex-start;gap:10px}.portfolio-site .p-cert-toolbar>.p-mono{max-width:85px;font-size:11px}.portfolio-site .p-cert-toolbar>a{padding:0 0 8px;font-size:11px}.portfolio-site .p-cert-toolbar a span{margin-left:5px}.portfolio-site .p-contact{padding:70px 0 45px}.portfolio-site .p-contact .p-section-bar{margin-bottom:34px}.portfolio-site .p-contact-intro h2{font-size:42px}.portfolio-site .p-contact-intro>svg{width:39px;height:39px}.portfolio-site .p-contact-intro>p{font-size:15px}.portfolio-site .p-contact-intro>.p-contact-config{font-size:11px}.portfolio-site .p-contact-form{padding:24px 20px 13px}.portfolio-site .p-form-row{grid-template-columns:1fr;gap:0}.portfolio-site .p-footer{gap:22px 10px}.portfolio-site .p-footer-brand{gap:10px;font-size:11px}.portfolio-site .p-footer>div{gap:17px}.portfolio-site .p-footer>div>a,.portfolio-site .p-footer button,.portfolio-site .p-footer>.p-mono{font-size:11px}}@media (prefers-reduced-motion:reduce){.pf-root .portfolio-site *,.pf-root .portfolio-site :before,.pf-root .portfolio-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.portfolio-site .p-header nav a{font-size:13px;position:relative}.portfolio-site .p-header nav a:after{content:"";background:var(--p-yellow);transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:0;left:15px;right:15px;transform:scaleX(0)}.portfolio-site .p-header nav a:hover,.portfolio-site .p-header nav a[aria-current]{border-bottom-color:#0000}.portfolio-site .p-header nav a:is(:hover,:focus-visible,[aria-current]):after{transform:scaleX(1)}.portfolio-site .p-header nav a[aria-current] .p-nav-number{color:var(--p-yellow)}.portfolio-site .p-header nav a:focus-visible{outline-offset:-6px}.portfolio-site .p-nav-play{min-height:44px}.portfolio-site .p-hero-orbit{width:180px;height:194px;color:var(--p-yellow);position:absolute;top:142px;right:47px}.portfolio-site .p-orbit-lines{color:#646657;width:180px;height:174px;transition:transform .3s;position:absolute;inset:0}.portfolio-site .p-orbit-core{width:57px;height:57px;transition:transform .3s;position:absolute;top:54px;left:61px;transform:rotate(-8deg)}.portfolio-site .p-orbit-star{width:12px;height:12px;color:var(--p-pink);position:absolute;top:48px;right:14px}.portfolio-site .p-orbit-note{text-align:center;width:100%;color:var(--p-muted);letter-spacing:.02em;font-size:11px;position:absolute;bottom:0;left:0}.portfolio-site .p-hero-orbit:hover .p-orbit-core{transform:rotate(9deg)}.portfolio-site .p-hero-orbit:hover .p-orbit-lines{transform:rotate(-5deg)}.portfolio-site .p-hero-orbit:hover .p-orbit-star{animation:.35s ease-out p-signature-spark}.portfolio-site .p-signature-trail{color:#8b927a;flex-shrink:0;width:72px;height:16px;margin-left:auto;margin-right:24px}.portfolio-site .p-dossier{background-image:radial-gradient(#39413514 .6px,#0000 .6px);background-size:5px 5px;box-shadow:inset 0 0 0 1px #fff4}.portfolio-site .p-dossier:after{content:"";pointer-events:none;border-top:1px solid #8b9186;border-right:1px solid #8b9186;width:15px;height:15px;position:absolute;top:10px;right:10px}.portfolio-site .p-dossier-head{gap:13px}.portfolio-site .p-dossier-head>svg{transition:transform .22s}.portfolio-site .p-dossier:hover .p-dossier-head>svg{transform:rotate(10deg)}.portfolio-site .p-about-statement em{text-underline-offset:6px;-webkit-text-decoration:underline #899176;text-decoration:underline #899176;text-decoration-thickness:1px}.portfolio-site .p-records h3{margin-top:10px}.portfolio-site .p-records p{line-height:1.65}.portfolio-site .p-project-tabs button{color:var(--p-muted);transition:background .18s,color .18s}.portfolio-site .p-project-tabs button>.p-mono{text-align:center;border:1px solid #0000;min-width:27px;padding:3px 4px}.portfolio-site .p-project-tabs button[aria-selected=true]>.p-mono{color:var(--p-brand-bright);background:var(--p-brand-soft);border-color:#a78bfa66}.portfolio-site .p-project-tabs button>span:last-child{transition:transform .18s,color .18s}.portfolio-site .p-project-tabs button:is(:hover,:focus-visible)>span:last-child{color:var(--p-yellow);transform:translate(2px,-2px)}.portfolio-site .p-project-map{transition:background-color .2s}.portfolio-site .p-map-art{border-block:1px solid #272b2c26}.portfolio-site .p-project-copy{animation:.18s ease-out p-project-settle}.portfolio-site .p-project-copy dt{line-height:1.65}.portfolio-site .p-project-copy dl>div{padding-block:19px}.portfolio-site .p-project-copy>.p-project-link-note{font-size:12px}.portfolio-site .p-flow li{line-height:1.7}.portfolio-site .p-tool-module:before{content:"";background:var(--p-green);transform-origin:0;height:2px;transition:transform .2s;position:absolute;top:-1px;left:22px;right:22px;transform:scaleX(0)}.portfolio-site .p-tool-module:is(:hover,:focus-within,.is-selected):before{transform:scaleX(1)}.portfolio-site .p-tool-module.is-selected{box-shadow:inset 0 0 0 1px #a7cbb94d}.portfolio-site .p-tool-module>button>span:nth-child(2){min-width:0}.portfolio-site .p-tool-indicator{min-width:16px;height:18px}.portfolio-site .p-tool-indicator svg{width:14px;height:14px;margin-top:3px;animation:.28s ease-out p-signature-spark;display:block}.portfolio-site .p-tool-module li{transition:color .16s,transform .16s}.portfolio-site .p-tool-module li:hover{color:var(--p-green);transform:translate(2px)}.portfolio-site .p-tool-module.is-selected .p-tool-slot{color:var(--p-green)}.portfolio-site .p-tool-module:focus-within{background:#1a2426}.portfolio-site .p-tool-controls button{min-height:44px}.portfolio-site .p-cert-toolbar a,.portfolio-site .p-contact-socials a,.portfolio-site .p-footer>div>a,.portfolio-site .p-footer button{align-items:center;min-height:44px;display:inline-flex}.portfolio-site .p-hero-foot,.portfolio-site .p-project-footer{flex-wrap:wrap;gap:12px}@keyframes p-signature-spark{0%{transform:scale(.8)rotate(-12deg)}55%{transform:scale(1.14)rotate(7deg)}to{transform:scale(1)rotate(0)}}@keyframes p-project-settle{0%{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (width>=851px) and (width<=1180px){.portfolio-site .p-hero-orbit{width:138px;height:167px;top:116px;right:24px}.portfolio-site .p-orbit-lines{width:138px;height:138px}.portfolio-site .p-orbit-core{width:44px;height:44px;top:45px;left:46px}.portfolio-site .p-orbit-star{top:37px;right:10px}.portfolio-site .p-orbit-note{max-width:140px;font-size:11px}.portfolio-site .p-header nav a{padding-inline:10px}}@media (width<=850px){.portfolio-site .p-hero-orbit{width:64px;height:60px;top:23px;right:0}.portfolio-site .p-orbit-lines{width:64px;height:60px}.portfolio-site .p-orbit-core{width:30px;height:30px;top:16px;left:17px}.portfolio-site .p-orbit-star{width:7px;height:7px;top:12px;right:1px}.portfolio-site .p-orbit-note{display:none}.portfolio-site .p-header nav a{font-size:15px}.portfolio-site .p-menu-toggle{min-height:44px}.portfolio-site .p-footer{gap:18px 25px}}@media (width<=540px){.portfolio-site .p-header{gap:8px;padding-inline:16px}.portfolio-site .p-nav-play{letter-spacing:-.02em;padding-inline:7px}.portfolio-site .p-hero-orbit{width:54px;height:51px;top:15px}.portfolio-site .p-orbit-lines{width:54px;height:51px}.portfolio-site .p-orbit-core{width:25px;height:25px;top:13px;left:14px}.portfolio-site .p-orbit-star{width:6px;height:6px;top:12px}.portfolio-site .p-hero-foot>span{max-width:235px}.portfolio-site .p-section-bar{flex-wrap:wrap;gap:7px 15px}.portfolio-site .p-section-bar>.p-mono{text-align:left;flex-shrink:0;max-width:100%}.portfolio-site .p-signature-trail{display:none}.portfolio-site .p-side-note{font-size:12px}.portfolio-site .p-records>div{grid-template-columns:104px 1fr}.portfolio-site .p-records h3{margin:0;font-size:13px}.portfolio-site .p-records p{font-size:12px}.portfolio-site .p-project-tabs button{gap:9px;font-size:12px}.portfolio-site .p-project-copy dl>div{grid-template-columns:80px 1fr}.portfolio-site .p-tool-module{padding-inline:12px}.portfolio-site .p-tool-module>button{flex-wrap:wrap;gap:6px}.portfolio-site .p-tool-module>button>span:nth-child(2){order:3;width:100%}.portfolio-site .p-tool-purpose{max-width:none}.portfolio-site .p-tool-module li{gap:9px;font-size:13px}.portfolio-site .p-tool-indicator{margin-left:auto}.portfolio-site .p-cert-toolbar{flex-wrap:wrap}.portfolio-site .p-cert-toolbar>.p-mono{max-width:120px}.portfolio-site .p-contact-form label{letter-spacing:.025em}.portfolio-site .p-contact-form input,.portfolio-site .p-contact-form textarea{font-size:16px}}.portfolio-site .p-play-word{appearance:none;font:inherit;letter-spacing:inherit;color:inherit;vertical-align:baseline;background:0 0;border:0;margin:0;padding:0}.portfolio-site .p-play-letter{transform:translateY(var(--letter-lift,0px));transition:transform .16s ease-out;display:inline-block}.portfolio-site .p-play-word:focus-visible{outline-offset:9px}.portfolio-site .p-word-pulse .p-play-letter{animation:.36s ease-out p-letter-nudge;animation-delay:calc(var(--letter-order) * 22ms)}.portfolio-site .p-hero-title-wrap .p-hero-orbit .p-orbit-core{transform:translate(var(--hero-x,0px),var(--hero-y,0px)) rotate(calc(-8deg + var(--hero-turn,0deg) + var(--hero-click-turn,0deg)));transition:transform .3s ease-out}.portfolio-site .p-hero-title-wrap .p-hero-orbit .p-orbit-lines{transform:rotate(calc(var(--hero-turn,0deg) * -.3));transition:transform .3s ease-out}.portfolio-site .p-hero-title-wrap .p-orbit-star{transform:translate(calc(var(--hero-x,0px) * -.5),calc(var(--hero-y,0px) * -.5));transition:transform .25s ease-out}.portfolio-site .p-hero-title-wrap:has(.p-play-word:focus-visible){--hero-turn:14deg}@keyframes p-letter-nudge{0%,to{transform:translateY(0)}42%{transform:translateY(-5px)rotate(-2deg)}72%{transform:translateY(1px)}}.portfolio-site .p-side-link{appearance:none;font:inherit;color:inherit;text-underline-offset:6px;background:0 0;border:0;margin:0;padding:0;-webkit-text-decoration:underline #899176;text-decoration:underline #899176;text-decoration-thickness:1px}.portfolio-site .p-side-link:focus-visible{outline-color:#555d59}.portfolio-site :is(.p-about-interface,.p-about-system){-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#c4c8b5,#c4c8b5) 0 100%/0 1px no-repeat;transition:background-size .2s ease-out}.portfolio-site .p-dossier[data-linked=true] :is(.p-about-interface,.p-about-system){background-size:100% 100%}.portfolio-site .p-dossier:has(.p-side-link:focus-visible) :is(.p-about-interface,.p-about-system){background-size:100% 100%}.portfolio-site .p-dossier[data-linked=true] .p-dossier-head>svg{transform:rotate(90deg)}.portfolio-site .p-dossier:has(.p-side-link:focus-visible) .p-dossier-head>svg{transform:rotate(90deg)}.portfolio-site .p-dossier-stamp{transition:transform .2s}.portfolio-site .p-dossier[data-linked=true] .p-dossier-stamp{transform:rotate(0)}.portfolio-site .p-project-spread[data-direction="1"]{--file-offset:7px}.portfolio-site .p-project-spread[data-direction="-1"]{--file-offset:-7px}.portfolio-site .p-project-spread:not([data-direction="0"]) .p-map-number{animation:.24s ease-out p-file-register}.portfolio-site .p-project-spread:not([data-direction="0"]) .p-map-symbol{animation:.3s ease-out p-file-register}.portfolio-site .p-flow li:after{content:"";transform-origin:0;pointer-events:none;background:#272b2c;height:1px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.portfolio-site .p-project-spread:not([data-direction="0"]) .p-flow li:after{animation:.36s ease-out backwards p-workflow-trace;animation-delay:calc(var(--flow-step) * 90ms)}.portfolio-site .p-project-spread[data-direction="-1"] .p-flow li:after{transform-origin:100%}.portfolio-site .p-map-guide{transform-origin:100%;transition:transform .2s}.portfolio-site .p-project-spread:is(:hover,:focus-within) .p-map-guide{transform:scaleX(.85)}@keyframes p-file-register{0%{transform:translateX(var(--file-offset,0px))}to{transform:translate(0)}}@keyframes p-workflow-trace{0%{opacity:1;transform:scaleX(0)}65%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.portfolio-site .p-archive[data-direction="1"]{--archive-offset:8px}.portfolio-site .p-archive[data-direction="-1"]{--archive-offset:-8px}.portfolio-site .p-archive:not([data-direction="0"]) .p-archive-document{animation:.28s ease-out both p-archive-register}.portfolio-site .p-archive:not([data-direction="0"]) .p-archive-record-index{animation:.22s steps(3,end) p-index-register}.portfolio-site .p-archive-index-label svg{transition:transform .22s}.portfolio-site .p-archive:has(.p-archive-spine:is(:hover,:focus-visible)) .p-archive-index-label svg{transform:rotate(90deg)}.portfolio-site .p-archive-enlarge{transition:transform .18s,background .18s,color .18s}.portfolio-site .p-archive-paper:is(:hover,:focus-visible) .p-archive-enlarge{transform:translate(-2px,-2px)}@keyframes p-archive-register{0%{transform:translateX(var(--archive-offset,0px));opacity:.65}to{opacity:1;transform:translate(0)}}@keyframes p-index-register{0%{transform:translateY(2px)}to{transform:translateY(0)}}.portfolio-site .p-contact-intro>svg{transition:transform .25s}.portfolio-site .p-contact-grid:has(.p-contact-form:focus-within) .p-contact-intro>svg{transform:rotate(12deg)}.portfolio-site .p-contact-form label{transition:color .16s}.portfolio-site .p-contact-form label:focus-within{color:var(--p-brand-bright)}.portfolio-site .p-form-title>span:last-child{transition:transform .2s,color .2s;display:inline-block}.portfolio-site .p-contact-form:focus-within .p-form-title>span:last-child{transform:translate(2px,-2px)}.portfolio-site .p-contact-form[data-draft-ready=true] .p-form-title>span:last-child{color:var(--p-green);animation:.28s ease-out p-draft-register}@keyframes p-draft-register{0%{transform:translate(0)}45%{transform:translate(4px,-4px)}to{transform:translate(2px,-2px)}}@media (hover:hover){.portfolio-site .p-dossier:has(.p-side-link:hover) :is(.p-about-interface,.p-about-system){background-size:100% 100%}.portfolio-site .p-dossier:has(.p-side-link:hover) .p-dossier-head>svg{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.portfolio-site .p-play-letter,.portfolio-site .p-hero-title-wrap .p-hero-orbit .p-orbit-lines,.portfolio-site .p-hero-title-wrap .p-orbit-star{transform:none!important}.portfolio-site .p-hero-title-wrap .p-hero-orbit .p-orbit-core{transform:rotate(-8deg)!important}.portfolio-site .p-play-letter{transition:none!important;animation:none!important}}.portfolio-site .p-section-bar{position:relative}.portfolio-site .p-section-bar:before{content:"";background:var(--p-yellow);opacity:0;pointer-events:none;transform-origin:0;height:1px;position:absolute;inset:-1px 0 auto}.portfolio-site [data-chapter-entered=true] .p-section-bar:before{animation:.48s ease-out p-chapter-rule}.portfolio-site #certifications .p-section-bar:before{transform-origin:100%}.portfolio-site .p-section-bar>.p-eyebrow{position:relative}.portfolio-site .p-section-bar>.p-eyebrow:after{content:"";opacity:0;transform-origin:0;pointer-events:none;background:currentColor;width:16px;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:-5px;left:0;transform:scaleX(.25)}.portfolio-site [data-chapter-current=true] .p-section-bar>.p-eyebrow:after{opacity:.65;transform:scaleX(1)}.portfolio-site #about[data-chapter-entered=true] .p-signature-trail{animation:.42s ease-out p-chapter-mark}.portfolio-site #certifications[data-chapter-entered=true] .p-archive-index-label svg{animation:.42s ease-out p-chapter-star}@keyframes p-chapter-rule{0%{opacity:.45;transform:scaleX(0)}65%{opacity:.3;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes p-chapter-mark{0%,to{translate:0}45%{translate:0 -2px}}@keyframes p-chapter-star{0%,to{rotate:0deg}45%{rotate:22deg}}@media (prefers-reduced-motion:reduce){.portfolio-site [data-chapter-entered=true] .p-section-bar:before,.portfolio-site #about[data-chapter-entered=true] .p-signature-trail,.portfolio-site #certifications[data-chapter-entered=true] .p-archive-index-label svg{animation:none!important}.portfolio-site .p-section-bar>.p-eyebrow:after{transition:none!important}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}.pf-root{--identity:#8b5cf6;--identity-bright:#a78bfa;--identity-deep:#5f3daa;--identity-soft:#8b5cf61a;--gold:#edcf75;--success:#a7cbb9;--bg:#0b0b14;--surface:#15152a;--line:#2a2a45;--text:#f4f2e8;--muted:#8d8ba8;--amber:#ffb800;--pink:#ff3d6e;--mint:#00e6a0;background:var(--bg);color:var(--text);min-height:100vh;font-family:JetBrains Mono,monospace;overflow-x:hidden}.pf-root *{box-sizing:border-box}.pf-display{font-family:"Press Start 2P",monospace}.pf-scanlines,.pf-vignette{pointer-events:none;position:fixed;inset:0}.pf-scanlines{z-index:60;mix-blend-mode:multiply;opacity:.5;background:repeating-linear-gradient(0deg,#0000001f 0 1px,#0000 1px 3px)}.pf-vignette{z-index:59;box-shadow:inset 0 0 160px #000000a6}.site-header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#0b0b14b3;justify-content:space-between;align-items:center;padding:20px clamp(20px,6vw,64px);display:flex;position:fixed;inset:0 0 auto}.logo{color:var(--text);font-size:13px;text-decoration:none}.logo span{color:var(--amber)}.site-header nav{gap:28px;display:flex}.pf-nav-link{color:var(--muted);letter-spacing:.08em;padding:4px 2px;font-size:12px;text-decoration:none;position:relative}.pf-nav-link:hover,.pf-nav-link.active{color:var(--amber)}.pf-nav-link.active:before{content:"▸";color:var(--pink);position:absolute;left:-14px}.boot-screen{z-index:200;background:var(--bg);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:11px;display:flex;position:fixed;inset:0}.boot-screen .pf-display{color:var(--amber);font-size:14px}.pf-progress-track{border:2px solid var(--amber);width:260px;height:14px;padding:2px}.pf-progress-fill{background:repeating-linear-gradient(90deg,var(--amber) 0 6px,transparent 6px 9px);height:100%;transition:width 50ms linear}.pf-cursor-ring,.pf-cursor-dot{pointer-events:none;z-index:100;position:fixed;top:0;left:0}.pf-cursor-ring{border:2px solid var(--amber);width:20px;height:20px;transition:transform 80ms linear}.pf-cursor-dot{background:var(--pink);width:4px;height:4px}.hero{align-items:center;min-height:100vh;padding:0 clamp(20px,6vw,64px);display:flex;position:relative;overflow:hidden}.hero-grid{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-content{z-index:2;width:100%;max-width:900px;margin:auto;position:relative}.pf-section-label{color:var(--pink);letter-spacing:.05em;margin-bottom:16px;font-family:"Press Start 2P",monospace;font-size:11px}.hero h1{margin:0;font-size:clamp(28px,5vw,52px);line-height:1.5}.hero-lead{color:var(--muted);max-width:560px;margin:18px 0 0;font-size:clamp(16px,2.4vw,20px);line-height:1.7}.hero-subtitle{margin-top:10px;font-size:14px}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:40px;display:flex}.pf-btn{border:2px solid var(--amber);color:var(--amber);letter-spacing:.05em;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-family:"Press Start 2P",monospace;font-size:11px;text-decoration:none;transition:background .12s,color .12s,transform .12s;display:inline-flex}.pf-btn:hover{background:var(--amber);color:var(--bg);transform:translate(-2px,-2px)}.pf-btn-pink{border-color:var(--pink);color:var(--pink)}.scroll-cue{color:var(--muted);align-items:center;gap:10px;margin-top:64px;font-size:12px;display:flex}.pf-blink{animation:1s step-end infinite blink}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.section{width:100%;max-width:1100px;margin:auto;padding:100px clamp(20px,6vw,64px);scroll-margin-top:84px}.section h2{margin:0 0 20px;font-size:clamp(18px,2.6vw,24px);line-height:1.7}.section-help{color:var(--muted);margin:-8px 0 16px;font-size:12px}.about-grid{grid-template-columns:1.3fr 1fr;gap:48px;display:grid}.about-grid p{color:#d8d6e8;max-width:560px;font-size:15px;line-height:1.9}.stats-card{border:2px solid var(--line);background:var(--surface);margin:0;padding:24px}.stats-card div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:12px 0;font-size:12px;display:flex}.stats-card dt{color:var(--muted)}.stats-card dd{color:var(--mint);text-align:right;margin:0}.pf-proj-list{border-top:2px solid var(--line)}.pf-proj-row-wrap{border-bottom:2px solid var(--line)}.pf-proj-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:20px;padding:22px 4px;transition:padding-left .25s,background .25s;display:flex}.pf-proj-row:hover,.pf-proj-row.expanded{background:#ffb8000a;padding-left:16px}.pf-proj-index{flex-shrink:0;width:32px;font-family:"Press Start 2P";font-size:13px}.pf-proj-title{color:var(--text);text-transform:uppercase;flex:1;font-size:clamp(14px,2.4vw,22px);line-height:1.6}.pf-proj-row:hover .pf-proj-title,.pf-proj-row.expanded .pf-proj-title{color:var(--amber)}.pf-proj-cover-inline{border:0 solid var(--amber);flex-shrink:0;justify-content:center;align-items:center;width:0;height:0;transition:width .35s,height .35s,border-width .1s,margin .35s;display:flex;overflow:hidden}.pf-proj-row:hover .pf-proj-cover-inline,.pf-proj-row.expanded .pf-proj-cover-inline{border-width:2px;width:92px;height:66px}.pixel-sprite{display:grid}.pixel-sprite span{display:block}.pf-proj-tag{color:var(--muted);letter-spacing:.06em;flex-shrink:0;font-size:10px;display:none}.pf-proj-arrow{color:var(--muted);text-align:center;flex-shrink:0;width:16px;font-size:14px}.pf-proj-body{max-height:0;transition:max-height .35s;overflow:hidden}.pf-proj-body.open{max-height:220px}.pf-proj-body-inner{padding:4px 4px 24px 56px}.pf-proj-body-inner p{color:#a9a7c0;max-width:620px;margin:0 0 16px;font-size:13px;line-height:1.7}.pf-tag{border:1px solid var(--line);color:var(--muted);margin:0 8px 8px 0;padding:3px 8px;font-size:11px;transition:border-color .15s,color .15s,background .15s;display:inline-block}.pf-tag:hover{border-color:var(--mint);color:var(--mint);background:#00e6a00f}.skill-list{flex-direction:column;gap:22px;display:flex}.pf-skill-row{grid-template-columns:140px 1fr;align-items:start;gap:16px;display:grid}.pf-skill-row>span{color:var(--pink);letter-spacing:.06em;padding-top:6px;font-size:12px}.pf-cert-strip{border:2px solid var(--line);background:var(--surface);min-height:420px;display:flex;overflow:hidden}.pf-cert-item{appearance:none;border:0;border-right:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;flex:0 64px;transition:flex-grow .4s,background .3s;position:relative;overflow:hidden}.pf-cert-item:last-child{border-right:0}.pf-cert-item:hover,.pf-cert-item.active{background:#ffb8000d;flex-grow:1}.pf-cert-tab-label{writing-mode:vertical-rl;color:var(--muted);letter-spacing:.06em;white-space:nowrap;justify-content:center;align-items:center;font-size:12px;transition:opacity .2s;display:flex;position:absolute;inset:0;transform:rotate(180deg)}.pf-cert-item:hover .pf-cert-tab-label,.pf-cert-item.active .pf-cert-tab-label{opacity:0;pointer-events:none}.pf-cert-detail{opacity:0;pointer-events:none;flex-direction:column;transition:opacity .25s .12s;display:flex;position:absolute;inset:0;overflow:hidden}.pf-cert-item:hover .pf-cert-detail,.pf-cert-item.active .pf-cert-detail{opacity:1;pointer-events:auto}.pf-cert-detail-image{background:#fff;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:hidden}.pf-cert-detail-image img{object-fit:contain;width:100%;height:100%;display:block}.pf-cert-detail-caption{background:var(--bg);border-top:2px solid var(--line);text-align:left;flex-shrink:0;padding:20px 24px}.pf-cert-detail-caption strong{color:var(--text);text-transform:uppercase;margin-bottom:8px;font-size:clamp(15px,2.4vw,24px);line-height:1.6;display:block}.pf-cert-detail-caption em{color:var(--amber);font-size:13px;font-style:normal;display:block}.contact-section{padding-bottom:140px}.contact-section h2{font-size:clamp(20px,3.2vw,30px)}.contact-copy{color:#a9a7c0;max-width:480px;margin-bottom:36px;font-size:15px;line-height:1.8}.email-button{margin-bottom:32px}.social-links{gap:14px;margin-bottom:48px;display:flex}.pf-icon-btn{border:2px solid var(--line);width:44px;height:44px;color:var(--text);justify-content:center;align-items:center;transition:border-color .15s,color .15s,transform .12s;display:flex}.pf-icon-btn:hover{border-color:var(--mint);color:var(--mint);transform:translateY(-3px)}.pf-form{flex-direction:column;max-width:480px;display:flex}.pf-form label{color:var(--muted);letter-spacing:.06em;margin-bottom:8px;font-size:11px}.pf-form input,.pf-form textarea{background:var(--surface);border:2px solid var(--line);color:var(--text);resize:vertical;margin-bottom:20px;padding:12px 14px;font-family:inherit;font-size:13px}.pf-form input:focus,.pf-form textarea:focus{border-color:var(--amber);outline:none}.pf-form textarea{min-height:96px}.form-status{color:var(--mint);margin-top:12px;font-size:12px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:24px clamp(20px,6vw,64px);font-size:11px;display:flex}:focus-visible{outline:3px solid var(--mint);outline-offset:3px}::selection{background:var(--pink);color:var(--bg)}@media (width<=760px){.about-grid,.pf-skill-row{grid-template-columns:1fr}.site-header nav{gap:12px}.pf-nav-link{font-size:10px}.pf-proj-tag{display:inline}.pf-proj-row:hover .pf-proj-cover-inline,.pf-proj-row.expanded .pf-proj-cover-inline{width:56px;height:40px}}@media (width<=640px){.pf-cert-strip{flex-direction:column;min-height:0}.pf-cert-item{flex-basis:48px}.pf-cert-item:hover,.pf-cert-item.active{flex-grow:1;min-height:380px}.pf-cert-tab-label{writing-mode:horizontal-tb;justify-content:flex-start;padding:0 16px;transform:none}}@media (hover:hover) and (pointer:fine){.pf-root,.pf-root a,.pf-root button{cursor:none}.pf-root input,.pf-root textarea{cursor:text}}@media (hover:none),(pointer:coarse){.pf-cursor-ring,.pf-cursor-dot{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pf-root *,.pf-root :before,.pf-root :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero-level-select{margin-top:18px;font-size:11px}.hero-level-select a{color:var(--muted);text-decoration:none}.hero-level-select a:hover{color:var(--mint)}.inventory{border:2px solid var(--line);background:var(--surface);grid-template-columns:210px 1fr;min-height:290px;display:grid}.inventory-menu{border-right:2px solid var(--line);flex-direction:column;padding:12px;display:flex}.inventory-menu button,.inventory-items button{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;padding:11px 8px;font-family:inherit;font-size:12px}.inventory-menu button:hover,.inventory-menu button.selected,.inventory-items button:hover,.inventory-items button.selected{color:var(--amber);background:#ffb80012}.inventory-panel{padding:22px}.inventory-panel>p{color:var(--pink);margin:0 0 18px;font-size:12px}.inventory-items{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.inventory-items button span{color:var(--mint)}.inventory-inspect{border-left:3px solid var(--mint);flex-wrap:wrap;gap:16px;margin-top:22px;padding:8px 12px;font-size:11px;display:flex}.inventory-inspect small{width:100%;color:var(--muted)}.game-mode,.game-loading{z-index:300;background:var(--bg);color:var(--text);flex-direction:column;justify-content:center;align-items:center;padding:18px;font-family:JetBrains Mono,monospace;display:flex;position:fixed;inset:0}.game-loading{color:var(--mint);gap:8px;font-size:12px}.game-loading .pf-display{color:var(--amber);font-size:18px}.game-header{width:min(100%,900px);color:var(--mint);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;font-size:11px;display:flex}.game-header button,.mobile-controls button,.achievement button,.game-back,.dialog-close{border:2px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;padding:8px;font-family:inherit}.game-header button:hover,.mobile-controls button:hover,.achievement button:hover,.game-back:hover{border-color:var(--amber);color:var(--amber)}.game-stage{border:3px solid var(--line);width:min(100%,900px);position:relative;box-shadow:8px 8px #ff3d6e59}.game-canvas{width:100%;height:auto;image-rendering:pixelated;background:#101023;display:block}.interaction-prompt{background:var(--bg);border:2px solid var(--mint);color:var(--mint);padding:9px 14px;font-size:12px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.interaction-prompt kbd{color:var(--amber);border:1px solid var(--amber);padding:2px 5px}.game-instructions{color:var(--muted);margin-top:16px;font-size:11px}.game-dialog,.achievement{z-index:2;background:var(--bg);border:3px solid var(--amber);color:var(--text);box-shadow:8px 8px 0 var(--pink);padding:28px;position:absolute;inset:7% 8%;overflow:auto}.game-dialog h2,.achievement strong{color:var(--amber);margin:0 0 18px;font-family:"Press Start 2P";font-size:clamp(14px,2vw,21px);line-height:1.6}.dialog-close{font-size:18px;position:absolute;top:12px;right:12px}.game-list{flex-direction:column;gap:7px;display:flex}.game-list button{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);cursor:pointer;padding:12px;font-family:inherit}.game-list button:hover{border-color:var(--mint);color:var(--mint)}.game-list button span{float:right}.game-detail h3,.game-dialog h3{color:var(--mint)}.game-detail small{color:var(--pink);margin:12px 0;display:block}.game-tabs{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.game-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;padding:8px}.game-tabs button.selected,.game-tabs button:hover{color:var(--amber);border-color:var(--amber)}.game-certificate{object-fit:contain;background:#fff;width:100%;max-height:260px}.game-profile div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;padding:10px 0;font-size:12px;display:grid}.game-profile dt{color:var(--muted)}.game-profile dd{color:var(--mint);margin:0}.achievement{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.achievement span{color:var(--pink);font-family:"Press Start 2P";font-size:11px}.achievement p{color:var(--amber)}.mobile-controls{display:none}.game-dialog a.pf-btn{margin:6px}@media (width<=640px){.inventory{grid-template-columns:1fr}.inventory-menu{border-right:0;border-bottom:2px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.inventory-items{grid-template-columns:1fr}.game-header span:nth-child(2),.game-instructions{display:none}.game-header{font-size:9px}.game-dialog,.achievement{padding:22px 16px;inset:3%}.mobile-controls{z-index:301;pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:fixed;bottom:14px;left:14px;right:14px}.mobile-controls button{pointer-events:auto;background:#0b0b14d9;min-width:45px;min-height:42px;font-size:18px}.mobile-controls>div>div{display:flex}.mobile-interact{color:var(--amber)!important;font-family:"Press Start 2P"!important}.game-stage{margin-bottom:64px}}.game-mode,.game-loading{cursor:default}.game-mode *,.game-loading *{cursor:inherit}.game-mode button,.game-loading button,.game-mode a{cursor:pointer}.game-header,.game-stage{width:min(100%,1200px)}.game-header{margin-bottom:8px}.game-brand,.game-hud{align-items:center;gap:14px;display:flex}.game-brand small{color:#77759b;font-size:10px}.game-home{border:2px solid var(--line);color:var(--paper,#f4f2e8);padding:7px 10px}.game-hud{text-align:center;font-size:10px}.game-hud>span,.game-hud button{border:2px solid var(--line);color:var(--text);background:#10101e;min-height:39px;padding:7px 11px;box-shadow:2px 2px #070811}.game-hud>span{color:var(--amber)}.game-hud button:last-child{border-color:var(--pink);color:var(--pink)}.game-instructions{z-index:302;border:2px solid var(--line);color:#8d8ba8;background:#10101e;flex-direction:column;gap:10px;padding:16px;line-height:1.1;display:flex;position:fixed;bottom:28px;left:28px;box-shadow:3px 3px #070811}.game-instructions b{color:var(--text);font-weight:500}.interaction-prompt{color:#f1eee4;letter-spacing:.02em;background:#10101e;border-color:#7f7b9e;padding:8px 13px;box-shadow:4px 4px #070811}.interaction-prompt kbd{background:#17131c;margin-right:5px}
