:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--paper:#efe1c7;--paper-dark:#e3d1b3;--paper-deep:#d6c29f;--ink:#2b2118;--muted-ink:#5b4a3b;--soft-ink:#2b211859;--card-bg:#fffaf1ad;--card-shadow:#2b21181f;--font-main:Georgia, "Times New Roman", serif;--font-note:"Caveat", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-main);text-shadow:0 0 .3px #2b211814;background:linear-gradient(#f3e7cf 0%,#ead8b8 100%);margin:0;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}body:before{content:"";pointer-events:none;opacity:.08;mix-blend-mode:multiply;background-image:radial-gradient(circle at 20% 20%,#00000014 0 1px,#0000 1px),radial-gradient(circle at 75% 30%,#0000000f 0 1px,#0000 1px),radial-gradient(circle at 35% 75%,#0000000d 0 1px,#0000 1px);background-size:180px 180px,220px 220px,260px 260px;position:fixed;inset:0}body:after{content:"";pointer-events:none;background:radial-gradient(#0000 58%,#0000000d 100%),linear-gradient(#ffffff0a,#0000 20%);position:fixed;inset:0}.app-shell{isolation:isolate;min-height:100vh;position:relative;overflow-x:hidden}.app-shell:before,.app-shell:after{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#efe1c759,#ead8b873),url(/assets/camping-Db2PqHF1.png);background-repeat:no-repeat;background-size:cover;width:max(0px,50vw - 660px);position:fixed;top:0;bottom:0}.app-shell:before{background-position:0;left:0}.app-shell:after{background-position:100%;right:0}.top-bar{z-index:40;background:linear-gradient(#af7040 0%,#a96a3a 100%);border-bottom:2px solid #2b21182e;justify-content:space-between;align-items:center;width:100%;min-height:76px;padding:.8rem 1.4rem;display:flex;position:sticky;top:0;box-shadow:0 6px 20px #2b21181f,inset 0 -2px #ffffff14}.top-bar-decor{width:46px;height:46px;font-family:var(--font-note);color:var(--ink);background:#fffaf1e6;border:2px solid #2b211840;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex;transform:rotate(-6deg);box-shadow:0 3px 8px #2b21181f}.top-bar-name{letter-spacing:.08em;color:#fffaf1f2;font-size:1.15rem;font-weight:700}.top-bar-nav{align-items:center;gap:1.5rem;display:flex}.top-bar-nav a{font-family:var(--font-note);color:#fffaf1f2;font-size:1rem;transition:transform .18s,opacity .18s}.top-bar-nav a:hover{opacity:.85;transform:translateY(-2px)}.page-content{padding:1.5rem 2rem 4rem;position:relative}.page-sheet{background:linear-gradient(#f7efe1f7,#f0e5d0f7);border:1px solid #2b211814;border-radius:18px;width:min(1320px,100% - 3rem);margin:0 auto 3rem;padding:3.2rem 3rem 3.8rem;transition:transform .22s,box-shadow .22s;position:relative;overflow:visible;box-shadow:0 18px 30px #2b211814,0 4px #2b21180a}.page-sheet:before{content:"";pointer-events:none;border:1px solid #2b211814;border-radius:14px;position:absolute;inset:14px}.page-sheet:after{content:"";z-index:-1;background:#e9dcc273;border-radius:18px;position:absolute;inset:0;transform:translate(12px,12px)rotate(.8deg)}#projects.page-sheet{transform:rotate(-.45deg)}#blender.page-sheet{transform:rotate(.35deg)}#about.page-sheet{transform:rotate(-.3deg)}#contact.page-sheet{transform:rotate(.25deg)}#projects.page-sheet:hover{transform:rotate(-.2deg)translateY(-4px)}#blender.page-sheet:hover{transform:rotate(.15deg)translateY(-4px)}#about.page-sheet:hover{transform:rotate(-.1deg)translateY(-4px)}#contact.page-sheet:hover{transform:rotate(.1deg)translateY(-4px)}.page-sheet:hover{box-shadow:0 22px 36px #2b21181a,0 5px #2b21180d}.hero-new,.sketchbook-projects,.tech-work-block,.about-layout,.contact-content,.section-heading-wrap,.section-intro{z-index:2;position:relative}.section-heading-wrap{text-align:center;margin-bottom:1rem}.page-label{font-family:var(--font-note);color:var(--muted-ink);z-index:2;margin-bottom:.35rem;font-size:1rem;position:relative;transform:rotate(-4deg)}.page-corner-sketch,.page-circle-sketch{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1;filter:drop-shadow(0 6px 10px #2b21180d);position:absolute}.page-corner-sketch{opacity:.26;width:170px}.page-circle-sketch{opacity:.18;width:220px}.projects-sketch-top{top:18px;right:28px;transform:rotate(12deg)}.projects-circle-bottom{bottom:14px;left:18px;transform:rotate(-8deg)}.blender-sketch-top{top:22px;left:24px;transform:rotate(-10deg)}.blender-sketch-bottom{bottom:18px;right:24px;transform:rotate(10deg)}.blender-circle-mid{top:44%;right:10%;transform:rotate(8deg)}.about-sketch-top{top:20px;right:24px;transform:rotate(10deg)}.about-sketch-bottom{bottom:14px;left:14px;transform:rotate(-14deg)}.contact-sketch-top{top:18px;left:18px;transform:rotate(24deg)}.contact-circle-bottom{bottom:14px;right:18px;transform:rotate(10deg)}.sticker-board{z-index:900;pointer-events:none;touch-action:none;min-height:100%;position:absolute;inset:0}.sticker-tray{pointer-events:auto;background:#fffaf1f0;border:1px solid #2b211829;border-radius:18px;flex-direction:column;align-items:center;gap:.75rem;padding:.8rem .7rem;display:flex;position:fixed;top:92px;left:1rem;right:auto;box-shadow:0 10px 24px #2b21181f}.sticker-tray-label{font-family:var(--font-note);color:var(--muted-ink);font-size:1rem;transform:rotate(-4deg)}.sticker-tray-item{cursor:grab;touch-action:none;background:#2b21180f;border:none;border-radius:16px;width:82px;height:82px;padding:.2rem;transition:transform .16s,background .16s}.sticker-tray-item:hover{background:#2b21181a;transform:translateY(-2px)rotate(-3deg)}.sticker-tray-item:active{cursor:grabbing}.sticker-tray-item img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 8px #2b211824);width:100%;height:100%}.placed-sticker{pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.placed-sticker.is-selected img{filter:drop-shadow(0 10px 14px #2b211833)drop-shadow(0 0 .35px #2b211840)}.sticker-hint{white-space:nowrap;pointer-events:none;font-family:var(--font-note);color:var(--muted-ink);background:#fffaf1f2;border:1px solid #2b211824;border-radius:999px;align-items:center;gap:.45rem;padding:.28rem .5rem;font-size:.82rem;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 14px #2b21181a}.sticker-hint span+span:before{content:"•";opacity:.55;margin-right:.45rem}.sticker-scale-handle{cursor:nwse-resize;background:#fffaf1;border:1px solid #2b211840;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-6px;right:-6px;box-shadow:0 3px 6px #2b211826}.sticker-scale-handle:hover{transform:scale(1.1)}@media (width<=768px){.sticker-hint{display:none}}.placed-sticker.is-dragging{cursor:grabbing}.placed-sticker img{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 14px #2b211833);width:100%;transition:opacity .15s,filter .15s;display:block}.placed-sticker.is-invalid img{opacity:.45;filter:drop-shadow(0 6px 10px #2b211814)}.sticker-remove{width:24px;height:24px;color:var(--ink);cursor:pointer;background:#fffaf1f5;border:1px solid #2b211829;border-radius:50%;font-size:1rem;line-height:1;position:absolute;top:-8px;right:-8px;box-shadow:0 4px 10px #2b21181f}@media (width<=768px){.sticker-tray{padding:.65rem .55rem;top:78px;left:.8rem;right:auto}.sticker-tray-item{width:68px;height:68px}}.page-sheet{position:relative}.page-doodle-canvas{z-index:6;pointer-events:none;border-radius:18px;width:100%;height:100%;position:absolute;inset:0}.page-doodle-canvas.is-active{pointer-events:auto;cursor:crosshair}.doodle-status{z-index:1000;font-family:var(--font-note);color:var(--muted-ink);background:#fffaf1eb;border:1px solid #2b21182e;border-radius:999px;padding:.45rem .8rem;font-size:1rem;transition:transform .18s,opacity .18s,background .18s;position:fixed;bottom:1rem;right:1rem;box-shadow:0 8px 18px #2b21181a}.doodle-status.is-active{color:#2f5e3b;background:#e8f5ebf5;border-color:#2f5e3b40}@media (width<=768px){.doodle-status{text-align:center;width:max-content;max-width:calc(100vw - 2rem);font-size:.92rem;bottom:.8rem;left:50%;right:auto;transform:translate(-50%)}}.sketch-heading{z-index:2;justify-content:center;align-items:center;gap:1.6rem;margin-bottom:1rem;display:flex;position:relative}.heading-text-wrap{text-align:center;position:relative}.heading-icon{opacity:.98;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(5px 7px #2b211814);transition:transform .2s}.axis-icon{width:120px}.blender-heading-icon{width:110px}.heading-icon.left{transform:rotate(-10deg)translateY(8px)}.heading-icon.right{transform:rotate(8deg)translateY(-4px)}.page-sheet:hover .heading-icon.left{transform:rotate(-8deg)translateY(6px)}.page-sheet:hover .heading-icon.right{transform:rotate(6deg)translateY(-2px)}.heading-arrow{font-family:var(--font-note);color:#2b21188c;font-size:1.35rem;position:absolute}.left-arrow{top:2.35rem;left:calc(50% - 170px);transform:rotate(-18deg)}.right-arrow{top:2.35rem;right:calc(50% - 165px);transform:rotate(16deg)}.hero-sheet{min-height:88vh;padding-top:4.2rem}.hero-new{z-index:2;justify-content:center;display:flex;position:relative}.sketchbook-page{text-align:center;background:0 0;width:100%;max-width:1120px;min-height:620px;padding:2.3rem 2.5rem 4rem;position:relative}.hero-sub,.hero-name,.hero-desc,.hero-shuffle,.hero-actions,.hero-bottom-note{z-index:3;position:relative}.hero-pencil{opacity:.96;filter:drop-shadow(0 8px 12px #2b21181f);z-index:5;pointer-events:none;width:130px;position:absolute;top:-24px;left:34px;transform:rotate(-18deg)}.doodle{font-family:var(--font-note);opacity:.38;pointer-events:none;transition:transform .22s,opacity .22s;position:absolute}.hero-sheet:hover .doodle.star{opacity:.45;transform:rotate(14deg)translateY(-2px)}.hero-sheet:hover .doodle.arrow{opacity:.45;transform:rotate(-14deg)translateY(2px)}.doodle.star{font-size:1.8rem;top:1rem;right:2rem;transform:rotate(10deg)}.doodle.arrow{font-size:1.8rem;bottom:1rem;left:1rem;transform:rotate(-18deg)}.hero-sub{font-family:var(--font-note);color:var(--ink);max-width:100%;margin:0 auto 1rem;font-size:1.15rem}.hero-name{flex-direction:column;align-items:center;gap:.15rem;max-width:100%;margin:0 0 1.15rem;line-height:1;display:flex}.hero-first-name{letter-spacing:-.02em;color:#2b2118eb;font-size:clamp(2.4rem,4.7vw,4rem);font-weight:500;display:block}.hero-last-name{letter-spacing:-.03em;color:var(--ink);font-size:clamp(3.2rem,7vw,5.8rem);font-weight:600;display:block}.hero-desc{max-width:760px;color:var(--muted-ink);margin:0 auto 1rem;font-size:1.08rem;line-height:1.7}.hero-shuffle{color:var(--ink);font-family:var(--font-note);cursor:pointer;background:#2b211814;border:none;border-radius:4px;width:fit-content;margin:0 auto 1.8rem;padding:.2rem .45rem;font-size:1.15rem;transition:transform .15s,background .15s;display:block}.hero-shuffle:hover{background:#2b21181f;transform:rotate(-3deg)translateY(-1px)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero-bottom-note{font-family:var(--font-note);color:#2b211873;font-size:1rem;position:absolute;bottom:1.2rem;left:1.8rem;transform:rotate(-7deg)}.hero-fox-new{z-index:1;filter:drop-shadow(14px 16px #2b211824);pointer-events:none;width:455px;transition:transform .24s,filter .24s;position:absolute;bottom:-34px;right:-120px;transform:rotate(6deg)}.hero-sheet:hover .hero-fox-new{filter:drop-shadow(16px 18px #2b211829);transform:rotate(5deg)translateY(-4px)}.primary-btn,.secondary-btn{font-family:var(--font-note);color:var(--ink);background:#fffcf6eb;border:2px solid #2b211859;border-radius:999px;align-items:center;padding:.7rem 1.3rem;font-size:1.15rem;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:3px 4px #2b211829,inset 0 0 0 1px #ffffff59}.primary-btn{transform:rotate(-1deg)}.secondary-btn{transform:rotate(1deg)}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-2px)rotate(0);box-shadow:5px 7px #2b211824,inset 0 0 0 1px #ffffff59}.primary-btn:active,.secondary-btn:active{transform:translateY(1px)rotate(0);box-shadow:2px 3px #2b211824,inset 0 0 0 1px #ffffff59}.fun-fact-btn{cursor:pointer;width:fit-content;font-family:var(--font-note);color:var(--muted-ink);text-align:left;background:0 0;border:none;margin:0 0 .7rem;padding:0;font-size:1.1rem;transition:transform .18s,opacity .18s,filter .18s;display:block;transform:rotate(-2deg)}.fun-fact-btn:hover{opacity:.78;transform:rotate(-4deg)translateY(-1px)}.fun-fact-btn.rewriting{opacity:.25;filter:blur(.5px);transform:rotate(-1deg)translate(6px)}.fun-fact-btn:focus{outline:none}h2{color:var(--ink);text-align:center;z-index:2;margin:0 0 .9rem;font-size:clamp(2rem,5vw,3rem);line-height:1.1;display:inline-block;position:relative}h2:after{content:"";border-bottom:2px solid #2b211866;width:110%;margin-top:.35rem;display:block;transform:rotate(-1.5deg)}h3{color:var(--ink);margin:0 0 .6rem;line-height:1.15}.section-intro{color:var(--muted-ink);text-align:center;z-index:2;max-width:720px;margin:0 auto 1.2rem;line-height:1.75;position:relative}#projects .section-heading-wrap:after{content:"design notes";font-family:var(--font-note);color:#2b211861;font-size:.95rem;position:absolute;top:.25rem;right:8rem;transform:rotate(8deg)}#blender .section-heading-wrap:after{content:"studio page";font-family:var(--font-note);color:#2b21185c;font-size:.95rem;position:absolute;top:.2rem;left:8rem;transform:rotate(-7deg)}.about-art:after{content:"campfire sketch";font-family:var(--font-note);color:#2b21185c;font-size:.95rem;position:absolute;bottom:-.7rem;right:1.5rem;transform:rotate(5deg)}#contact .section-intro:after{content:"say hi";font-family:var(--font-note);color:#2b211861;font-size:1rem;position:absolute;bottom:-1.2rem;right:5rem;transform:rotate(6deg)}.about-sheet{position:relative;overflow:visible}.about-helper{text-align:center;font-family:var(--font-note);color:var(--muted-ink);margin:0 auto 1.2rem;font-size:1.15rem;transform:rotate(-1deg)}.about-word-pool{flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:920px;margin:0 auto 1.5rem;display:flex}.about-chip{color:var(--ink);font-family:var(--font-note);cursor:grab;background:#fffaf1f5;border:2px solid #2b211829;border-radius:999px;padding:.65rem 1rem;font-size:1.15rem;transition:transform .18s,box-shadow .18s,background .18s;box-shadow:3px 4px #2b211814}.about-chip:hover{transform:translateY(-3px)rotate(-2deg);box-shadow:5px 7px #2b21181a}.about-chip.is-selected{background:#ece2cafa;border-color:#2b211847}.about-dropzone{background:#fffaf1c7;border:2px dashed #2b211847;border-radius:20px;justify-content:center;align-items:center;gap:.55rem;width:min(560px,100%);min-height:74px;margin:0 auto 2rem;padding:.95rem 1.2rem;transition:transform .18s,background .18s,border-color .18s;display:flex;box-shadow:inset 0 0 0 1px #ffffff47,0 8px 18px #2b21180d}.about-dropzone.is-active{background:#e8f5ebf5;border-color:#2f5e3b4d;transform:translateY(-2px)scale(1.01)}.about-dropzone-prefix{color:var(--ink);font-size:1.4rem}.about-dropzone-word{font-family:var(--font-note);color:var(--muted-ink);font-size:1.5rem}.about-bottom-layout{z-index:2;grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid;position:relative}.about-photo-card{background:#fffaf1d6;border:2px solid #2b211824;border-radius:18px;padding:1rem 1rem 1.2rem;position:relative;transform:rotate(1deg);box-shadow:10px 12px #2b211814,0 14px 30px #2b21181a}.about-landscape-photo{aspect-ratio:16/10;object-fit:cover;border:2px solid #2b211824;border-radius:12px;width:100%}.about-photo-caption{text-align:center;font-family:var(--font-note);color:#2b211885;margin-top:.7rem;font-size:1rem}.about-corner-illustration{z-index:1;pointer-events:none;opacity:.95;filter:drop-shadow(8px 10px #2b211814);width:min(260px,22vw);position:absolute;top:-28px;left:-32px;transform:rotate(-6deg)}.about-rewrite-card{background:#fffaf1c7;border:1px solid #2b21181f;border-radius:18px;min-height:280px;padding:1.4rem 1.35rem 1.1rem;position:relative;overflow:hidden;box-shadow:0 10px 24px #2b211814}.about-rewrite-card:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(90deg,#efe1c700 0%,#efe1c7e0 38%,#efe1c7f5 50%,#efe1c7e0 62%,#efe1c700 100%);position:absolute;inset:0;transform:translate(-120%)}.about-rewrite-card.is-erasing:before{opacity:1;animation:.28s forwards aboutErase}.about-rewrite-title{text-align:center;margin:0 0 .8rem;font-size:1.8rem}.about-rewrite-body p{color:var(--muted-ink);text-align:center;margin:0 0 .8rem;line-height:1.75}.about-rewrite-card.is-writing .reveal-title{opacity:0;filter:blur(3px);animation:.32s forwards aboutLineIn}.about-rewrite-card.is-writing .reveal-line{opacity:0;filter:blur(3px);animation:.34s forwards aboutLineIn}@keyframes aboutErase{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes aboutLineIn{0%{opacity:0;filter:blur(3px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@media (width<=900px){.about-bottom-layout{grid-template-columns:1fr}.about-helper{text-align:center}.about-corner-illustration{opacity:.85;width:min(160px,36vw);top:-16px;left:-12px}}.contact-sheet{overflow:visible}.contact-content{text-align:center;z-index:2;flex-direction:column;align-items:center;max-width:760px;margin:0 auto;display:flex;position:relative}.contact-content h2{text-align:center;display:inline-block}.contact-content .section-intro{text-align:center;max-width:620px;margin:0 auto 1rem}.contact-note{font-family:var(--font-note);color:var(--muted-ink);margin-top:1rem;font-size:1.05rem;transform:rotate(-1.5deg)}#contact .hero-actions{justify-content:center;margin-top:1rem}#contact .primary-btn,#contact .secondary-btn{justify-content:center;min-width:120px}.sketchbook-projects{z-index:2;flex-direction:column;gap:3.8rem;margin-top:2.2rem;display:flex;position:relative}.sketch-project{grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem;display:grid;position:relative}.sketch-project-right{grid-template-columns:.95fr 1.05fr}.sketch-project-right .sketch-project-image-wrap{order:2}.sketch-project-right .sketch-project-copy{order:1}.sketch-project-image-link{display:block}.sketch-project-image-wrap{will-change:transform;background:#fffaf1a6;border:2px solid #2b211838;border-radius:18px;padding:1.2rem;transition:transform .22s,box-shadow .22s;position:relative;overflow:visible;transform:rotate(-1.2deg);box-shadow:8px 10px #2b211814,0 12px 25px #2b211814,inset 0 0 0 1px #2b21180a}.sketch-project-image-wrap:before{content:"";pointer-events:none;background:linear-gradient(#ffffff1f,#0000 30%);border-radius:14px;position:absolute;inset:6px}.sketch-project-right .sketch-project-image-wrap{transform:rotate(1.2deg)}.sketch-project:hover .sketch-project-image-wrap,.sketch-project-image-link:hover .sketch-project-image-wrap{transform:translateY(-6px)rotate(-1deg);box-shadow:12px 16px #2b21181a,0 18px 35px #2b21181c,inset 0 0 0 1px #2b21180a}.sketch-project-right:hover .sketch-project-image-wrap{transform:translateY(-6px)rotate(1deg)}.sketch-project-image{filter:contrast(1.02)saturate(1.02);transform-origin:50%;border:2px solid #2b211833;border-radius:10px;width:100%;transition:transform .25s;display:block;box-shadow:0 4px 14px #2b211814}.sketch-project:hover .sketch-project-image,.sketch-project-image-link:hover .sketch-project-image{transform:scale(1.03)}.sketch-project-image-wrap:after{content:"";pointer-events:none;border:1px dashed #2b21182e;border-radius:12px;position:absolute;inset:18px}.tape{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:2;background:linear-gradient(#fff8dc9e,#fff8dc5c);border:1px solid #2b211814;width:82px;height:22px;transition:transform .2s;position:absolute;box-shadow:0 2px 3px #2b21180f}.tape:after{content:"";opacity:.7;background:linear-gradient(90deg,#0000,#ffffff24,#0000);position:absolute;inset:0}.tape-1{top:-10px;left:22px;transform:rotate(-8deg)}.tape-2{top:-10px;right:24px;transform:rotate(10deg)}.sketch-project:hover .tape-1{transform:rotate(-10deg)translateY(-1px)}.sketch-project:hover .tape-2{transform:rotate(12deg)translateY(-1px)}.sketch-project-doodle{font-family:var(--font-note);color:#2b21187a;font-size:1.5rem;position:absolute;bottom:-1.2rem;right:1rem;transform:rotate(12deg)}.image-caption{font-family:var(--font-note);color:#2b211880;margin-top:.6rem;font-size:.95rem;transform:rotate(-2deg)}.sketch-project-copy{z-index:2;max-width:520px;transition:transform .2s;position:relative}.sketch-project:hover .sketch-project-copy{transform:translateY(-2px)}.project-entry-label{font-family:var(--font-note);color:var(--muted-ink);margin-bottom:.3rem;font-size:1rem;transform:rotate(-2deg)}.sketch-project-copy h3{font-size:clamp(2rem,4vw,2.8rem)}.project-subtitle{font-family:var(--font-note);color:var(--muted-ink);margin-bottom:.9rem;font-size:1.15rem}.project-description{color:var(--muted-ink);margin-bottom:.9rem;line-height:1.8}.project-notes{font-family:var(--font-note);color:var(--muted-ink);margin-bottom:1.4rem;font-size:1.1rem;transform:rotate(-1deg)}.blender-projects .sketch-project{grid-template-columns:1.2fr .8fr}.blender-projects .sketch-project-image-wrap{padding:1.4rem}.blender-projects .sketch-project-image{object-fit:cover;min-height:360px;max-height:460px}.tech-work-block{z-index:2;text-align:center;border-top:1px dashed #2b211833;max-width:1100px;margin:5rem auto 0;padding-top:2rem;position:relative}.tech-work-block:before{font-family:var(--font-note);opacity:.42;margin-bottom:.8rem;font-size:.95rem;display:block;transform:rotate(-2deg)}.tech-work-title{margin:.5rem 0 1rem;font-size:2rem}.tech-images-row{flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:2rem;display:flex}.tech-img-card{background:#fffaf1a3;border:2px solid #2b211829;border-radius:14px;width:100%;max-width:360px;padding:1rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:6px 8px #2b211814,0 10px 24px #2b211814}.tech-img-card.left{transform:rotate(-2deg)}.tech-img-card.right{transform:rotate(2deg)}.tech-img-card:hover{transform:translateY(-4px)rotate(0);box-shadow:8px 10px #2b211814,0 14px 30px #2b21181a}.tech-img{border:2px solid #2b21181f;border-radius:8px;width:100%;transition:transform .22s;box-shadow:0 4px 14px #2b211814}.tech-img-card:hover .tech-img{transform:scale(1.025)}.tech-copy{text-align:center;max-width:760px;margin:2rem auto 0}.tech-copy .project-description,.tech-copy .project-notes,.tech-copy .project-subtitle{text-align:center}@media (width<=1100px){.blender-projects .sketch-project{grid-template-columns:1fr}}@media (width<=900px){.page-sheet{width:min(100%,100% - 1rem);padding:2.5rem 1.5rem 3rem}.hero-sheet{min-height:auto}.hero-name,.hero-desc,.hero-sub{text-align:center;max-width:100%}.hero-actions{justify-content:center}.hero-fox-new{width:min(320px,86%);margin:2rem auto 0;display:block;position:relative;bottom:auto;right:auto}.hero-pencil{width:90px;top:-18px;left:14px}.hero-bottom-note{display:none}.fun-fact-btn{text-align:center;margin-left:auto;margin-right:auto}.sketch-project,.sketch-project-right,.blender-projects .sketch-project{grid-template-columns:1fr;gap:1.5rem}.sketch-project-right .sketch-project-image-wrap,.sketch-project-right .sketch-project-copy{order:unset}.sketch-project-copy{text-align:center;max-width:100%}.blender-projects .sketch-project-image{min-height:auto;max-height:none}.tech-images-row{justify-content:center}.tech-copy{text-align:center;max-width:100%}.tech-copy .project-description,.tech-copy .project-notes,.tech-copy .project-subtitle{text-align:center}.page-corner-sketch{opacity:.18;width:120px}.page-circle-sketch{opacity:.12;width:160px}#projects .section-heading-wrap:after,#blender .section-heading-wrap:after,.about-art:after,#contact .section-intro:after{display:none}}@media (width<=768px){.top-bar{flex-wrap:wrap;justify-content:center;gap:.55rem;min-height:auto;padding:.7rem .9rem}.top-bar-name{text-align:center;order:-1;width:100%;font-size:1rem}.top-bar-nav{flex-wrap:wrap;justify-content:center;gap:.7rem 1rem}.top-bar-nav a{font-size:.92rem}.top-bar-decor{display:none}.page-content{padding:.9rem .85rem 2.5rem}.page-sheet{border-radius:16px;width:min(100%,100% - .25rem);margin-bottom:1.5rem;padding:1.6rem .95rem 2rem}.page-sheet:before{border-radius:12px;inset:10px}.page-sheet:after{border-radius:16px;transform:translate(6px,6px)rotate(.35deg)}.hero-sheet{padding-top:2.2rem}.hero-pencil{width:62px;top:-14px;left:10px}.sketchbook-page{min-height:auto;padding:1.1rem .3rem 0}.hero-sub{margin-bottom:.7rem;font-size:1rem}.hero-first-name{font-size:clamp(2rem,9vw,2.8rem)}.hero-last-name{font-size:clamp(2.7rem,12vw,4rem)}.hero-desc{margin-bottom:.9rem;font-size:1rem;line-height:1.6}.hero-shuffle{margin-bottom:1.2rem;padding:.35rem .55rem;font-size:1rem}.hero-actions{flex-direction:column;align-items:center;gap:.75rem}.primary-btn,.secondary-btn{justify-content:center;width:min(250px,100%);font-size:1.05rem}.hero-fox-new{width:min(250px,78%);margin:1.4rem auto 0}.hero-bottom-note,.doodle.star,.doodle.arrow{display:none}.about-helper{margin-bottom:.9rem;font-size:1rem}.about-word-pool{gap:.6rem;margin-bottom:1.1rem}.about-chip{padding:.55rem .85rem;font-size:1rem}.about-dropzone{width:100%;min-height:64px;margin-bottom:1.3rem;padding:.8rem 1rem}.about-dropzone-prefix{font-size:1.2rem}.about-dropzone-word{font-size:1.25rem}.about-bottom-layout{grid-template-columns:1fr;gap:1.2rem}.about-rewrite-card,.about-photo-card{min-height:auto}.about-rewrite-title{font-size:1.55rem}.about-rewrite-body p{font-size:.98rem;line-height:1.65}.about-corner-illustration{display:none}.contact-content .section-intro{margin-bottom:.8rem}.sketch-project,.sketch-project-right,.blender-projects .sketch-project{grid-template-columns:1fr;gap:1.2rem}.sketch-project-copy{text-align:center;max-width:100%}.sketch-project-copy h3{font-size:clamp(1.7rem,8vw,2.2rem)}.project-description,.project-notes,.project-subtitle{text-align:center}.sketch-project-image-wrap{padding:.85rem}.blender-projects .sketch-project-image{min-height:auto;max-height:none}.tech-images-row{gap:1.25rem}.tech-img-card{max-width:100%;padding:.8rem}.left-arrow,.right-arrow,.page-corner-sketch,.page-circle-sketch{display:none}}
