:root{--color-cream:#f7f0df;--color-cream-deep:#eee2c8;--color-charcoal:#25231f;--color-muted:#686456;--color-sage:#6f8a67;--color-sage-dark:#415942;--color-orange:#df8541;--color-blue:#126dff;--color-line:#25231f29;--color-panel:#fffaedc2;--shadow-panel:0 24px 70px #46361d24;--font-display:"Arial Rounded MT Bold", "Nunito Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-body:"Nunito Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-page:clamp(1rem, 4vw, 4.75rem);--radius-panel:22px;--radius-small:10px;--ease-smooth:cubic-bezier(.19, 1, .22, 1);color:var(--color-charcoal);background:var(--color-cream);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--color-cream);scroll-behavior:auto}body{background:radial-gradient(circle at 85% 16%, #126dff14, transparent 21rem), radial-gradient(circle at 12% 78%, #df85411f, transparent 22rem), linear-gradient(#25231f09 1px, transparent 1px), linear-gradient(90deg, #25231f09 1px, transparent 1px), var(--color-cream);background-size:auto,auto,48px 48px,48px 48px,auto;min-width:320px;margin:0;overflow-x:hidden}body:before{z-index:100;pointer-events:none;content:"";opacity:.24;mix-blend-mode:multiply;background-image:radial-gradient(#25231f33 .7px,#0000 .7px),radial-gradient(#ffffff80 .7px,#0000 .7px);background-position:0 0,13px 17px;background-size:24px 24px;position:fixed;inset:0}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-blue);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2{max-width:12ch;font-family:var(--font-display);letter-spacing:0;font-weight:900;line-height:.95}h1{font-size:clamp(4.8rem,8.6vw,8.4rem)}h2{font-size:clamp(2.9rem,5.6vw,5.8rem)}h3{letter-spacing:0;font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}main{position:relative}.site-header{z-index:50;padding:1.35rem var(--space-page);pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;top:0;left:0;right:0}.site-header button{color:var(--color-charcoal);cursor:pointer;pointer-events:auto;background:0 0;border:0}.site-header nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f0dfb8;border:1px solid #25231f1f;border-radius:999px;gap:clamp(.6rem,2vw,1.55rem);padding:.42rem;display:flex}.site-header nav button{color:var(--color-charcoal);text-transform:uppercase;border-radius:999px;padding:.5rem 1.3rem;font-size:.93rem;font-weight:900;transition:color .18s,background .18s}.site-header nav button:hover{color:var(--color-charcoal);background:#6f8a671f}.site-header nav button[aria-current=page]{color:#fff;background:#ff7a00}.site-header .header-cta{color:#fff;cursor:pointer;letter-spacing:.01em;text-transform:uppercase;pointer-events:auto;background:#ff7a00;border:0;border-radius:999px;min-height:2.75rem;padding:.72rem 1.35rem;font-size:.93rem;font-weight:900;box-shadow:0 14px 30px #ff7a002e}.site-header .header-cta:hover{background:#df6100}.site-header .header-cta:focus-visible{outline:2px solid var(--color-charcoal);outline-offset:3px}.site-header__actions{pointer-events:auto;align-items:center;gap:.65rem;display:flex}@media (width>=1200px){.site-header__actions{transform:translate(clamp(-12rem,-10vw,-7rem))}}.music-control{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f0dfe0;border:1px solid #25231f24;border-radius:999px;align-items:center;gap:.15rem;padding-right:.7rem;transition:border-color .18s,background .18s;display:flex;box-shadow:0 12px 28px #25231f14}.music-control:hover,.music-control:focus-within{background:#fff9edf5;border-color:#e98a1885}.site-header .music-toggle{min-width:3.5rem;min-height:2.75rem;color:var(--color-charcoal);box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.48rem;padding:.65rem .78rem;transition:color .18s,border-color .18s,background .18s,transform .18s;display:inline-flex;position:relative}.site-header .music-toggle:hover{color:var(--color-orange);background:#fff9edf0;border-color:#e98a1885;transform:translateY(-1px)}.site-header .music-toggle:focus-visible{outline:2px solid var(--color-orange);outline-offset:3px}.site-header .music-toggle.is-playing{color:var(--color-orange);background:0 0}.music-volume{width:5rem;height:1rem;accent-color:var(--color-orange);cursor:pointer}.music-toggle__bars{align-items:flex-end;gap:2px;width:.8rem;height:.78rem;display:inline-flex}.music-toggle__bars i{transform-origin:50% 100%;background:currentColor;border-radius:999px;width:2px;height:38%;display:block}.music-toggle.is-playing .music-toggle__bars i{animation:.72s ease-in-out infinite alternate musicBarPulse}.music-toggle.is-playing .music-toggle__bars i:nth-child(2){animation-delay:-360ms}.music-toggle.is-playing .music-toggle__bars i:nth-child(3){animation-delay:-180ms}@keyframes musicBarPulse{0%{transform:scaleY(.45)}to{transform:scaleY(1.4)}}.brand-mark{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;transition:color .6s var(--ease-smooth);align-items:center;gap:.62rem;font-size:.82rem;font-weight:700;display:inline-flex}.brand-mark span{border:2px solid var(--color-sage);background:linear-gradient(90deg, transparent 45%, var(--color-orange) 45% 55%, transparent 55%), linear-gradient(transparent 45%, var(--color-orange) 45% 55%, transparent 55%);border-radius:50%;width:1rem;height:1rem}.section-progress{z-index:55;background:#25231f29;border-radius:999px;width:2px;height:34vh;position:fixed;top:50%;left:1.3rem;overflow:hidden;transform:translateY(-50%)}.section-progress span{width:100%;height:100%;transform:scaleY(var(--progress,.02));transform-origin:50% 0;background:var(--color-blue);display:block}.section-nav{z-index:55;gap:.62rem;display:grid;position:fixed;top:50%;right:1.1rem;transform:translateY(-50%)}.section-nav__dot{width:2.4rem;height:2.4rem;color:var(--color-muted);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f0dfb8;border:1px solid #25231f24;border-radius:50%;place-items:center;transition:background .2s,border-color .2s,transform .2s,color .2s;display:grid}.section-nav__dot span{font-family:var(--font-mono);font-size:.66rem}.section-nav__dot[aria-current=step],.section-nav__dot:hover{border-color:var(--color-blue);background:var(--color-blue);color:#fff;transform:scale(1.08)}.portfolio-section{min-height:100svh;padding:clamp(5rem, 10vh, 7rem) var(--space-page) clamp(3.5rem, 8vh, 5.5rem);display:grid;position:relative;overflow:clip}.section-inner{width:min(1200px,100%);margin:auto}.split-layout,.hero-grid,.toolkit-layout,.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.section-copy,.hero-support,.hero-statement,.contact-support{max-width:38rem;color:var(--color-muted);font-size:clamp(1.02rem,1.35vw,1.18rem);line-height:1.65}.hero-support{margin-top:1.35rem}.hero-statement,.contact-support{color:var(--color-charcoal);margin:1.05rem 0 1.8rem;font-size:clamp(1.45rem,2.15vw,2.35rem);font-weight:850;line-height:1.32}.reveal-mask{vertical-align:top;padding-block:.08em .14em;display:inline-block;overflow:hidden}.reveal-line{white-space:nowrap;display:block}.reveal-word{display:inline-block}.magnetic-button{--magnet-x:0px;--magnet-y:0px;background:var(--color-sage-dark);color:#fff;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;min-height:2.85rem;transform:translate3d(var(--magnet-x), var(--magnet-y), 0);transition:transform .22s var(--ease-smooth), background .18s ease, border-color .18s ease;border:1px solid #25231f29;border-radius:999px;justify-content:center;align-items:center;gap:.58rem;padding:.82rem 1.1rem;font-size:.83rem;font-weight:700;display:inline-flex}.magnetic-button:hover{background:var(--color-charcoal)}.magnetic-button svg{flex:none}.hero-section{background:radial-gradient(circle at 88% 24%,#ff880026,#0000 20rem);align-items:start;min-height:360svh;padding-top:0}.hero-section .section-inner{align-content:start;min-height:100svh;margin:0 auto;padding-top:clamp(7.4rem,15vh,9.3rem);display:grid;position:sticky;top:0}.hero-grid{grid-template-columns:minmax(33rem,.84fr) minmax(0,1.16fr);align-items:start;min-height:calc(100svh - 8rem);position:relative}.hero-copy{z-index:3;transition:color .26s;position:relative}.hero-copy h1{white-space:nowrap;max-width:none;font-size:clamp(5.15rem,7vw,7rem)}.hero-role{color:#d96d00;font-family:var(--font-mono);letter-spacing:.04em;margin-bottom:1.15rem;font-size:clamp(.86rem,1.2vw,1.08rem);font-weight:900;transition:color .26s}.hero-actions{flex-wrap:wrap;gap:.85rem;display:flex}.hero-actions .magnetic-button{background:#ff7a00;border-color:#ff7a00}.hero-actions .magnetic-button:hover{background:#df6100}.hero-section.is-blue .brand-mark,.hero-section.is-blue .hero-copy,.hero-section.is-blue .hero-role,.hero-section.is-blue .hero-statement{color:#f9fbff}.hero-section.is-blue .hero-role{color:#7fe8ff}.hero-section.is-blue .site-header nav{background:#ffffffb8}.hero-section.is-blue .scroll-cue{opacity:0}.secondary-button{min-height:2.85rem;color:var(--color-charcoal);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#fffaedc7;border:1px solid #25231f26;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.82rem 1.2rem;font-size:.83rem;font-weight:900;display:inline-flex}.hero-art-panel{--art-shift-x:0vw;--art-shift-y:0vh;--art-scale:1;z-index:1;pointer-events:none;justify-self:end;width:min(100%,68rem);height:clamp(38rem,58vw,52rem);margin-top:-4.6rem;position:relative}.hero-art-panel img{width:min(96rem,118vw);max-width:none;transform:translate(var(--art-shift-x), calc(-47% + var(--art-shift-y))) scale(var(--art-scale));transform-origin:58% 62%;filter:drop-shadow(0 26px 48px #472d0c24);-webkit-user-select:none;user-select:none;position:absolute;top:50%;right:min(-11vw,-3.5rem)}.hero-blue-stage{z-index:2;inset:calc(-1 * clamp(7.4rem, 15vh, 9.3rem)) calc(var(--space-page) * -1) calc(-1 * clamp(4rem, 8vh, 6rem));opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 72%,#0dc5ff57,#0000 18rem) 50%,radial-gradient(circle,#017dff2e,#0000 32rem) 50%,linear-gradient(#3cd0ff21 1px,#0000 1px) 50%/72px 72px,linear-gradient(90deg,#3cd0ff21 1px,#0000 1px) 50%/72px 72px,linear-gradient(#001c5be6,#004794db) 50%;position:absolute;-webkit-mask-image:linear-gradient(#0000002e,#000 24% 100%);mask-image:linear-gradient(#0000002e,#000 24% 100%)}.rigged-avatar-stage{z-index:4;inset:calc(-1 * clamp(7.4rem, 15vh, 9.3rem)) calc(var(--space-page) * -1) calc(-1 * clamp(4rem, 8vh, 6rem));opacity:0;pointer-events:none;position:absolute}.rigged-avatar-stage canvas{width:100%;height:100%;display:block}.hero-profile-overlay{z-index:5;color:#d9f8ff;opacity:0;pointer-events:none;position:absolute;inset:0}.profile-card{color:#d9f8ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#023774ad;border:1px solid #69e0ffc7;border-radius:12px;box-shadow:0 0 34px #29cdff38,inset 0 0 28px #29cdff21}.profile-card--identity{gap:.4rem;min-width:13.5rem;padding:.95rem 1.05rem;display:grid;position:absolute;top:clamp(12rem,26vh,16.8rem);left:clamp(8rem,19vw,21rem)}.profile-card--identity strong{font-family:var(--font-mono);font-size:1.45rem;line-height:1}.profile-card--identity span{font-family:var(--font-mono);align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;display:inline-flex}.profile-card--code{width:min(19rem,100%);padding:1rem;position:absolute;bottom:clamp(7rem,14vh,11rem);left:clamp(8rem,15vw,18rem)}.profile-card--code code{color:#9ff2ff;font-family:var(--font-mono);font-size:clamp(.72rem,1vw,.88rem);font-weight:800;line-height:1.75}.profile-card--systems{width:min(17rem,100%);padding:1rem;position:absolute;bottom:clamp(8rem,15vh,12rem);right:clamp(7rem,13vw,17rem)}.profile-card--systems p{color:#8ff0ff;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.8rem;font-size:.78rem;font-weight:900}.profile-card--systems ul{gap:.58rem;margin:0;padding:0;list-style:none;display:grid}.profile-card--systems li{padding-left:1.15rem;font-size:.82rem;font-weight:800;position:relative}.profile-card--systems li:before{content:"";background:#5cff95;border-radius:50%;width:.42rem;height:.42rem;position:absolute;top:.42rem;left:0;box-shadow:0 0 12px #5cff95d9}.profile-count{color:#9ff2ff;font-family:var(--font-mono);background:#00183e8f;border:1px solid #5ddaff57;border-radius:7px;align-items:center;gap:.35rem;padding:.42rem .6rem;font-size:1.05rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;bottom:clamp(2.6rem,6vh,4.6rem);left:50%;transform:translate(-50%);box-shadow:0 0 18px #29cdff2e}.scroll-cue{bottom:calc(50svh - 24rem);left:var(--space-page);color:#ffffffdb;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.7rem;display:inline-flex;position:absolute}.process-board{grid-template-columns:minmax(14rem,1fr) auto minmax(16rem,1fr);align-items:center;gap:clamp(1rem,3vw,2.4rem);display:grid}.process-section .section-copy{margin-top:1.4rem}.process-section h2{max-width:none;font-size:clamp(3rem,4vw,4rem);line-height:.98}.messy-stack{min-height:27rem;position:relative}.messy-card{top:calc(1rem + var(--card-index) * 4.5rem);left:calc(var(--card-index) * .9rem);width:min(14rem,70vw);min-height:5rem;transform:rotate(calc(-4deg + var(--card-index) * 2deg));background:#fffaedeb;border:1px solid #25231f24;border-radius:12px;padding:1rem;position:absolute;box-shadow:0 20px 44px #49381e1f}.messy-card span{background:var(--color-orange);width:2.2rem;height:.18rem;margin-bottom:.85rem;display:block}.messy-card p{font-family:var(--font-display);font-size:1.15rem;line-height:1.15}.process-arrow{color:var(--color-sage-dark)}.process-transform{min-width:5.25rem;color:var(--color-sage-dark);place-items:center;gap:.38rem;display:grid}.process-transform small{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;font-size:.62rem;font-weight:800}.process-transform__track{background:#4159422e;border-radius:999px;width:4.8rem;height:2px;display:block;position:relative;overflow:hidden}.process-transform__track i{background:var(--color-orange);width:.42rem;height:.42rem;animation:process-signal 1.8s var(--ease-smooth) infinite;border-radius:50%;position:absolute;top:-2px;left:0;box-shadow:0 0 12px #df8541b3}@keyframes process-signal{0%{transform:translate(-.5rem)}to{transform:translate(5.1rem)}}.workflow{gap:.95rem;display:grid}.workflow-step{color:var(--color-sage-dark);background:#6f8a671f;border:1px solid #41594238;border-radius:999px;align-items:center;gap:.85rem;padding:1rem;font-weight:800;display:flex}.work-section{min-height:auto}.work-section .section-inner{margin-block:clamp(2rem,5vh,4rem)}.work-section h2{max-width:none;margin-bottom:clamp(2.5rem,6vw,5rem);font-size:clamp(3.4rem,7vw,7rem)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4.25rem) clamp(1rem,2.2vw,1.75rem);display:grid}.project-pagination{justify-content:center;gap:.65rem;margin-top:clamp(2.5rem,5vw,4rem);display:flex}.project-pagination button{width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;font:800 .9rem var(--font-mono);background:#fffaedb8;border:1px solid #25231f2e;border-radius:999px;transition:all .18s}.project-pagination button:hover,.project-pagination button:focus-visible,.project-pagination button[aria-current=page]{border-color:var(--color-orange);background:var(--color-orange);color:#fff;transform:translateY(-2px)}.project-pagination button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-blue) 38%, transparent);outline-offset:3px}.project-card{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:none;display:block}.project-card:hover .project-card__media,.project-card:focus-visible .project-card__media{border-color:color-mix(in srgb, var(--project-accent) 64%, transparent);transform:translateY(-8px)rotate(-.5deg);box-shadow:0 24px 55px #25231f2e}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.055)}.project-card:hover .project-card__title svg,.project-card:focus-visible .project-card__title svg{transform:translate(3px,-3px)}.project-card:focus-visible{outline:0}.project-card:focus-visible .project-card__media{outline:3px solid var(--color-blue);outline-offset:4px}.project-card__media{--project-accent:var(--color-sage);aspect-ratio:16/10;background:var(--color-cream-deep);transition:border-color .3s ease, box-shadow .42s var(--ease-smooth), transform .42s var(--ease-smooth);border:1px solid #25231f24;border-radius:18px;display:block;position:relative;overflow:hidden;box-shadow:0 12px 32px #46361d1a}.project-card__media[data-accent=orange]{--project-accent:var(--color-orange)}.project-card__media[data-accent=blue]{--project-accent:var(--color-blue)}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease-smooth)}.project-card__copy{padding-top:1rem;display:block}.project-card__category{color:var(--color-orange);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.8rem;font-size:.72rem;font-weight:800;display:block}.project-card__title{font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(1.55rem,2.1vw,2.25rem);font-weight:900;line-height:1.05;display:flex}.project-card__title svg{transition:transform .28s var(--ease-smooth);flex:none}.project-card__description{max-width:34rem;color:var(--color-muted);margin-top:.55rem;font-size:.98rem;line-height:1.5;display:block}.modal-tags{flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 1.6rem;display:flex}.modal-tags span{color:var(--color-muted);background:#fffaedb3;border:1px solid #25231f1f;border-radius:999px;padding:.48rem .68rem;font-size:.78rem}.toolkit-layout{grid-template-columns:minmax(22rem,.62fr) minmax(0,1.38fr)}.toolkit-section h2{max-width:none;font-size:clamp(2.65rem,4vw,4rem);line-height:.95}.tool-wall{border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);background-color:#fffaed8f;background-image:radial-gradient(circle at 1px 1px,#25231f2e 1px,#0000 0),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #25231f29;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.tool-group-label{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.14em;grid-column:1/-1;margin:.15rem 0 -.25rem;font-size:.72rem;font-weight:800}.tool-tile{min-height:13.5rem;transition:transform .22s var(--ease-smooth), background .18s ease, border-color .18s ease;background:#f7f0dfe0;border:1px solid #25231f1f;border-radius:16px;padding:1rem}.tool-tile:hover,.tool-tile:focus-visible{border-color:var(--color-blue);background:#fffaedfa;transform:translateY(-8px)}.tool-tile:hover p,.tool-tile:focus-visible p{opacity:1;transform:translateY(0)}.tool-tile h3{margin-top:1.3rem;font-size:1.2rem}.tool-tile p{color:var(--color-muted);opacity:.58;margin-top:.85rem;font-size:.9rem;line-height:1.5;transition:opacity .18s,transform .18s;transform:translateY(4px)}.tool-icon{width:3.8rem;height:3.8rem;color:var(--color-sage-dark);background:#fff8e8;border:1px solid #25231f21;border-radius:14px;place-items:center;display:grid;box-shadow:0 12px 26px #49381e1c}.contact-layout{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);min-height:72svh}.contact-copy{max-width:38rem}.contact-section h2{max-width:none;font-size:clamp(2.45rem,4.6vw,4.5rem)}.contact-support{margin-bottom:.8rem}.contact-description{max-width:34rem;color:var(--color-muted);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.65}.contact-email{color:var(--color-charcoal);font-family:var(--font-display);overflow-wrap:anywhere;-webkit-text-decoration-color:var(--color-orange);text-decoration-color:var(--color-orange);text-underline-offset:.28em;margin-top:1.3rem;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:900;text-decoration-thickness:2px;display:inline-block}.contact-email:hover{color:var(--color-orange)}.contact-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.contact-button{color:var(--color-charcoal);background:#fffaedb3;text-decoration:none;box-shadow:0 12px 28px #46361d1a}.contact-button>span{align-items:center;gap:.5rem;display:inline-flex}.contact-button:hover{background:#fffaf0;border-color:#25231f4d}.contact-button--primary{color:#fff;background:#ff7a00;border-color:#0000}.contact-button--primary:hover{color:#fff;background:#df6100;border-color:#0000}.contact-closing-scene{isolation:isolate;opacity:0;min-height:clamp(31rem,48vw,42rem);transition:opacity .7s var(--ease-smooth), transform .9s var(--ease-smooth);position:relative;transform:translate(2.4rem)}.contact-closing-scene.is-visible{opacity:1;transform:none}.contact-avatar-canvas{cursor:pointer;background:0 0;border:0;padding:0}.contact-avatar-canvas:focus-visible{outline-offset:4px;border-radius:2rem;outline:3px solid #ff8500}.contact-avatar-canvas{z-index:2;position:absolute;inset:1.5rem 0 0 4%}.contact-avatar-canvas canvas{opacity:0;width:100%;height:100%;transition:opacity .5s .12s;display:block}.is-ready .contact-avatar-canvas canvas{opacity:1}.contact-avatar-shadow{z-index:1;filter:blur(12px);background:#43331e2e;border-radius:50%;width:58%;height:7%;position:absolute;bottom:4.5%;right:13%;transform:scaleX(.85)}.contact-speech{z-index:5;max-width:12rem;color:var(--color-charcoal);font-family:var(--font-display);background:#fffaedf0;border:1px solid #25231f2e;border-radius:14px 14px 4px;padding:.85rem 1rem;font-size:clamp(.9rem,1.25vw,1.05rem);line-height:1.25;position:absolute;top:8%;left:1%;transform:rotate(-2deg);box-shadow:0 14px 34px #46361d1f}.contact-speech:after{content:"";background:#fffaf0;border-bottom:1px solid #25231f2e;border-right:1px solid #25231f2e;width:.9rem;height:.9rem;position:absolute;bottom:-.42rem;right:-.4rem;transform:rotate(28deg)skew(12deg)}.contact-envelope{z-index:4;color:#fff8e8;width:clamp(4.2rem,7vw,5.5rem);height:clamp(3.25rem,5.5vw,4.25rem);transition:transform .26s var(--ease-smooth), box-shadow .26s ease;background:#f47b20;border:2px solid #a84e0b;border-radius:10px;place-items:center;display:grid;position:absolute;bottom:26%;left:30%;transform:rotate(-5deg);box-shadow:0 14px 26px #76370d3d}.contact-envelope svg{stroke-width:1.7px;width:54%;height:54%}.contact-envelope span{width:max-content;color:var(--color-charcoal);font-family:var(--font-mono);opacity:0;pointer-events:none;background:#fffaf0;border:1px solid #25231f24;border-radius:8px;padding:.45rem .65rem;font-size:.68rem;font-weight:800;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + .65rem);left:50%;transform:translate(-50%,.35rem)}.contact-envelope:hover,.contact-envelope:focus-visible{transform:translateY(-.45rem)rotate(-2deg)scale(1.04);box-shadow:0 18px 32px #76370d4d}.contact-envelope:hover span,.contact-envelope:focus-visible span{opacity:1;transform:translate(-50%)}.contact-closing-scene[data-reaction=email] .contact-envelope,.contact-closing-scene[data-reaction=copied] .contact-envelope{transform:translateY(-.38rem)rotate(-2deg)scale(1.03)}.contact-closing-scene[data-reaction=copied] .contact-envelope{animation:contact-envelope-thanks .52s var(--ease-smooth)}@keyframes contact-envelope-thanks{50%{transform:translateY(-.8rem)rotate(2deg)scale(1.06)}}footer{width:min(1200px,100%);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin:0 auto;font-size:.72rem;display:flex}@media (width<=960px){.contact-closing-scene{justify-self:center;width:min(34rem,100%);min-height:32rem}}@media (width<=640px){.contact-section h2{font-size:clamp(2.35rem,10.4vw,2.7rem)}.contact-actions{display:grid}.contact-button{width:100%}.contact-closing-scene{min-height:27rem}.contact-speech{top:4%;left:3%}.contact-envelope{bottom:23%;left:29%}}.modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#25231f5c;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.project-modal{border-radius:var(--radius-panel);background:var(--color-cream);border:1px solid #25231f29;width:min(34rem,100%);padding:clamp(1.5rem,4vw,2.5rem);position:relative;box-shadow:0 32px 90px #25231f47}.project-modal h2{max-width:none;margin-bottom:1rem;font-size:clamp(2.8rem,8vw,5rem)}.project-modal p:not(.label){color:var(--color-muted);line-height:1.6}.modal-close{width:2.4rem;height:2.4rem;color:var(--color-charcoal);cursor:pointer;background:0 0;border:1px solid #25231f26;border-radius:50%;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}@keyframes slow-spin{to{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.tool-tile p{opacity:1;transform:none}.project-card,.project-card__media,.project-card__media img,.project-card__title svg{opacity:1!important;transform:none!important}}@media (width<=960px){.site-header nav{display:none}.section-progress{top:auto;right:var(--space-page);bottom:1rem;left:var(--space-page);width:auto;height:2px;transform:none}.section-progress span{transform-origin:0;transform:scaleX(var(--progress,0))}.section-nav{grid-auto-flow:column;top:auto;bottom:1.45rem;right:50%;transform:translate(50%)}.section-nav__dot{width:2rem;height:2rem}.split-layout,.hero-grid,.toolkit-layout,.contact-layout{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section{min-height:100svh;padding-top:5.2rem}.hero-grid{min-height:calc(100svh - 7rem)}.hero-copy h1{white-space:normal}.hero-art-panel{order:2;width:100%;height:30rem;margin-top:1.25rem}.hero-art-panel img{width:54rem;transform:translate(calc(50% + var(--art-shift-x)), calc(-40% + var(--art-shift-y))) scale(var(--art-scale));top:52%;right:50%}.hero-profile-overlay{grid-template-columns:1fr;align-content:end;gap:.75rem;padding:0 1rem 5rem;display:grid}.profile-card--identity{justify-self:start;min-width:min(16rem,100%);margin:0 0 1rem;position:static}.profile-card--code{display:none}.profile-card--systems{justify-self:end;width:min(16rem,100%);margin:0;position:static}.profile-count{bottom:2.1rem}.process-board{grid-template-columns:1fr}.process-transform{margin-block:-.25rem}.process-transform .process-transform__track,.process-transform .process-arrow{transform:rotate(90deg)}.messy-stack{min-height:27rem}.tool-wall{grid-template-columns:1fr}.tool-tile{min-height:auto}.tool-tile p{opacity:1;transform:none}}@media (width<=640px){h1{font-size:clamp(3.3rem,18vw,5.2rem)}h2{font-size:clamp(2.7rem,15vw,4.4rem)}.process-section h2{font-size:clamp(2.35rem,10.5vw,2.65rem)}.portfolio-section{min-height:auto;padding-bottom:6.2rem}.hero-section{min-height:100svh}.abstract-stage{order:-1;min-height:20rem}.abstract-object{width:min(20rem,84vw);height:min(20rem,84vw)}.scroll-cue{display:none}.site-header{gap:.5rem;padding-top:.8rem;padding-left:.8rem;padding-right:.8rem}.site-header__actions{gap:.4rem}.site-header .music-toggle{min-width:2.5rem;min-height:2.5rem;padding:.55rem}.music-toggle__bars{display:none}.music-control{padding-right:.45rem}.music-volume{width:3rem}.site-header .header-cta{white-space:nowrap;align-items:center;min-height:2.5rem;padding:.58rem .72rem;font-size:.68rem;display:inline-flex}.brand-mark{font-size:0}.project-grid{grid-template-columns:1fr}footer{flex-direction:column;padding-bottom:2rem}}.cinematic-intro{--room-progress:1;--stand-progress:0;--blue-progress:0;--scan-progress:0;--callout-progress:0;z-index:2;background:#f4ebdd;height:300svh;position:relative}.cinematic-sticky{isolation:isolate;height:100svh;min-height:36rem;position:sticky;top:0;overflow:hidden}.cinematic-canvas,.cinematic-webgl{width:100%;height:100%;position:absolute;inset:0}.cinematic-canvas{z-index:0}@media (width>=900px){.cinematic-intro.is-studio-mobile-preview .cinematic-canvas{aspect-ratio:390/844;box-sizing:border-box;background:#10131b;border:.45rem solid #10131b;border-radius:2.2rem;width:min(24.375rem,46.21svh - .9242rem);height:auto;inset:50% clamp(1rem,9vw,10rem) auto auto;overflow:hidden;transform:translateY(-50%);box-shadow:0 1.5rem 4rem #04050880}}.cinematic-webgl{opacity:0;transition:opacity .7s var(--ease-smooth);touch-action:pan-y;display:block}.cinematic-intro.is-ready .cinematic-webgl{opacity:1}.cinematic-room-copy{z-index:2;top:50%;left:var(--space-page);pointer-events:none;width:min(36rem,39vw);opacity:var(--room-progress);transform:translate3d(0, calc(-50% - (1 - var(--room-progress)) * 12vh), 0) scale(calc(.96 + var(--room-progress) * .04));transform-origin:0;will-change:opacity, transform;position:absolute}.cinematic-room-copy h1{color:#1e1c19;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 2px #ffffff2e;max-width:8ch;transition:color .6s var(--ease-smooth), text-shadow .6s var(--ease-smooth);font-size:clamp(4.6rem,8vw,8.2rem);line-height:.92}.cinematic-room-copy>p{color:#4f4a43;text-wrap:balance;max-width:26rem;transition:color .6s var(--ease-smooth);margin:1.45rem 0 2rem;font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:720;line-height:1.5}.cinematic-actions{pointer-events:auto;align-items:center;gap:.85rem;display:flex}.cinematic-actions .magnetic-button{color:#1e1c19;background:#fffdf7;border-color:#1e1c1929;border-radius:14px;min-height:3.3rem;padding-inline:1.45rem;font-size:.82rem;font-weight:850;box-shadow:0 14px 36px #34251324}.cinematic-actions .magnetic-button:hover{background:#fff;border-color:#1e1c1952}.cinematic-secondary{color:#1e1c19;cursor:pointer;text-transform:uppercase;min-height:3.3rem;transition:color .6s var(--ease-smooth), background .6s var(--ease-smooth), border-color .6s var(--ease-smooth), transform .18s ease;background:#fffdf724;border:1px solid #1e1c1947;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;padding:.82rem 1.3rem;font-size:.82rem;font-weight:850;display:inline-flex}.cinematic-secondary:hover{background:#fffdf78f;border-color:#1e1c197a;transform:translateY(-2px)}.cinematic-scan-ui{z-index:2;pointer-events:none;opacity:var(--callout-progress);will-change:opacity;position:absolute;inset:0}.scan-callout{color:#eafbff;width:min(19rem,24vw);font-family:var(--font-mono);-webkit-backdrop-filter:blur(16px)saturate(1.5);transform:translate3d(calc((1 - var(--callout-progress)) * -22px), 0, 0);will-change:opacity, transform;background:linear-gradient(135deg,#0a50b48c,#04306e6b),#021e5580;border:1.5px solid #27dfffd1;border-radius:14px;padding:1.1rem 1.2rem;transition:box-shadow .4s;position:absolute;box-shadow:inset 0 0 40px #27dfff1f,inset 0 1px #ffffff14,0 0 45px #27dfff33,0 0 80px #27dfff14,0 8px 32px #00000040}.scan-callout:hover{box-shadow:inset 0 0 50px #27dfff2e,inset 0 1px #ffffff1f,0 0 60px #27dfff47,0 0 100px #27dfff1f,0 8px 32px #0000004d}.scan-callout:after{content:"";border-top:1.5px solid #27dfffc7;width:clamp(2.5rem,6vw,7rem);position:absolute;top:50%;left:100%;box-shadow:0 0 8px #27dfff59}.scan-callout:before{content:"";background:#27dfff;border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite dot-pulse;position:absolute;top:calc(50% - 5px);left:calc(100% + clamp(2.5rem,6vw,7rem) - 5px);box-shadow:0 0 12px #27dfff,0 0 24px #27dfff99,0 0 48px #27dfff40}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.3)}}.scan-callout strong,.scan-callout span{align-items:center;display:flex}.scan-callout strong{color:#fff;font-family:var(--font-display);text-shadow:0 0 20px #27dfff59;font-size:1.7rem;line-height:1.05}.scan-callout span{color:#b6e8f4;gap:.45rem;margin-top:.42rem;font-size:.79rem;line-height:1.45}.scan-callout--identity{top:26%;left:clamp(2.5rem,13vw,15rem)}.scan-callout .scan-callout__tagline{color:#eafbff;letter-spacing:.015em;border-top:1px solid #8efaff3d;margin-top:.78rem;padding-top:.68rem;font-size:.68rem;font-weight:700;line-height:1.5}.scan-callout--role strong,.scan-callout--skills strong{font-family:var(--font-mono);letter-spacing:.01em;margin-bottom:.7rem;font-size:.82rem;line-height:1.35}.scan-callout--role span,.scan-callout--skills span{margin-top:.28rem}.scan-callout--role span:before,.scan-callout--skills span:before{content:"";border:1px solid #27dfff;flex:none;width:.36rem;height:.36rem;transform:rotate(45deg)}.scan-callout--role{top:54%;left:clamp(2.5rem,10vw,12rem)}.scan-callout--skills{transform:translate3d(calc((1 - var(--callout-progress)) * 22px), 0, 0);top:54%;right:clamp(2.5rem,10vw,12rem)}.scan-callout--skills:after{left:auto;right:100%}.scan-callout--skills:before{left:auto;right:calc(100% + clamp(2.5rem,6vw,7rem) - 5px)}.scan-counter{color:#8efaff;min-width:5.5rem;font-family:var(--font-mono);background:linear-gradient(#0a3c8cb3,#021a42e6);border:1.5px solid #27dfffd1;border-radius:8px;place-items:center;padding:.52rem .95rem;animation:3s ease-in-out infinite counter-breathe;display:grid;position:absolute;bottom:7.5%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 24px #27dfff2e,0 0 30px #27dfff4d,0 0 60px #27dfff1f,0 4px 20px #0000004d}@keyframes counter-breathe{0%,to{box-shadow:inset 0 0 24px #27dfff2e,0 0 30px #27dfff4d,0 0 60px #27dfff1f,0 4px 20px #0000004d}50%{box-shadow:inset 0 0 30px #27dfff40,0 0 40px #27dfff66,0 0 80px #27dfff2e,0 4px 20px #0000004d}}.scan-counter span{letter-spacing:.1em;text-shadow:0 0 14px #8efaff80;font-size:1.15rem;font-weight:800}.scan-counter small{letter-spacing:.18em;color:#8efaffb3;margin-top:.15rem;font-size:.58rem;font-weight:800}.cinematic-scroll-cue{z-index:3;bottom:max(1.4rem, env(safe-area-inset-bottom));color:#39352f;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;opacity:var(--room-progress);transition:color .6s var(--ease-smooth);align-items:center;gap:.48rem;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.cinematic-loading{z-index:6;color:#4f4a43;font-family:var(--font-mono);letter-spacing:.04em;opacity:1;background:#f4ebdd;align-content:center;justify-items:center;gap:.85rem;font-size:.72rem;font-weight:700;transition:opacity .5s,visibility .5s;display:grid;position:absolute;inset:0}.cinematic-intro.is-ready .cinematic-loading,.cinematic-intro.has-error .cinematic-loading{visibility:hidden;opacity:0}.cinematic-loading__bar{background:#1e1c191f;border-radius:999px;width:min(15rem,62vw);height:3px;overflow:hidden}.cinematic-loading__bar i{border-radius:inherit;transform-origin:0;background:#e98a18;width:100%;height:100%;transition:transform .32s;display:block}.cinematic-error{z-index:7;right:var(--space-page);color:#684521;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf7db;border:1px solid #894b1c3d;border-radius:10px;max-width:26rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.45;position:absolute;bottom:2rem}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}html[data-room-theme=night] .brand-mark,html[data-room-theme=night] .cinematic-room-copy h1,html[data-room-theme=night] .cinematic-secondary{color:#fff4df}html[data-room-theme=night] .cinematic-room-copy>p,html[data-room-theme=night] .cinematic-scroll-cue{color:#e7ddc9}html[data-room-theme=night] .cinematic-room-copy h1{text-shadow:0 2px 18px #00000059}html[data-room-theme=night] .cinematic-secondary{background:#0a122747;border-color:#fff4df80}html[data-intro-phase=scan] .site-header button,html[data-intro-phase=scan] .brand-mark{color:#eafbff}html[data-intro-phase=scan] .site-header nav{background:#04306e8f;border-color:#27dfff38}html[data-intro-phase=scan] .site-header nav button{color:#eafbff}html[data-intro-phase=scan] .site-header nav button[aria-current=page]:first-child{color:#fff;background:#27dfff38}html[data-intro-phase=scan] .brand-mark span{border-color:#27dfff}html[data-intro-phase=scan] .music-control{background:#04306e94;border-color:#27dfff57}html[data-intro-phase=scan] .music-volume{accent-color:#27dfff}html[data-intro-phase=scan] .site-header .music-toggle{color:#eafbff;background:0 0}html[data-intro-phase=scan] .site-header .music-toggle.is-playing{color:#27dfff;border-color:#27dfffb8}html[data-intro-phase=scan] .section-progress{background:#8efaff38}html[data-intro-phase=scan] .section-progress span{background:#27dfff}@media (width<=960px){.cinematic-room-copy{width:min(34rem,52vw);top:42%}.cinematic-room-copy h1{font-size:clamp(4rem,10vw,6.4rem)}.scan-callout{width:min(16rem,29vw)}.scan-callout--identity{left:clamp(1.5rem,7vw,6rem)}.scan-callout--role{left:clamp(1.5rem,5vw,4rem)}.scan-callout--skills{right:clamp(1.5rem,5vw,4rem)}}@media (width<=640px){.cinematic-intro{height:300svh}.cinematic-sticky{min-height:100svh}.cinematic-room-copy{width:auto;transform:translate3d(0, calc((1 - var(--room-progress)) * -10vh), 0);background:#fffdf7e6;border:1px solid #1e1c1924;border-radius:14px;padding:.9rem;inset:auto 1rem 4.5rem;box-shadow:0 12px 32px #34251324}.cinematic-room-copy h1{max-width:none;font-size:clamp(2.5rem,11vw,3.2rem)}.cinematic-room-copy>p{max-width:none;margin:.45rem 0 .65rem;font-size:.78rem;line-height:1.4}.cinematic-actions{flex-direction:row;align-items:stretch;gap:.6rem}.cinematic-actions .magnetic-button,.cinematic-actions .cinematic-secondary{border-radius:11px;flex:1;width:auto;min-height:2.85rem;padding:.7rem .92rem;font-size:.68rem}.scan-callout{border-radius:9px;width:min(13rem,54vw);padding:.72rem .8rem}.scan-callout:after{width:1.5rem}.scan-callout:before{left:calc(100% + 1.5rem - 4px)}.scan-callout strong{font-size:1.25rem}.scan-callout span{font-size:.67rem}.scan-callout--identity{top:18%;left:1rem}.scan-callout--role{top:auto;bottom:13%;left:1rem}.scan-callout--skills{width:min(10.5rem,44vw);top:auto;bottom:32%;right:1rem}.scan-callout--skills:before{left:auto;right:calc(100% + 1.5rem - 4px)}.scan-callout--role strong,.scan-callout--skills strong{margin-bottom:.38rem;font-size:.68rem}.scan-callout--role span,.scan-callout--skills span{gap:.32rem;margin-top:.18rem;font-size:.59rem;line-height:1.3}.scan-callout--role span:before,.scan-callout--skills span:before{width:.26rem;height:.26rem}.scan-counter{min-width:4.5rem;padding:.3rem .62rem;bottom:3.8rem}.cinematic-scroll-cue{display:none}.cinematic-error{bottom:5rem;left:1rem;right:1rem}html[data-room-theme=night] .cinematic-room-copy{background:#0a1227e6;border-color:#fff4df2e}}@media (prefers-reduced-motion:reduce){.cinematic-webgl,.cinematic-loading,.cinematic-loading__bar i,.brand-mark,.cinematic-room-copy h1,.cinematic-room-copy>p,.cinematic-secondary,.cinematic-scroll-cue{transition:none}.cinematic-room-copy,.scan-callout{transform:none}.music-toggle.is-playing .music-toggle__bars i{animation:none;transform:scaleY(.85)}.process-transform__track i{animation:none;transform:translate(2.2rem)}}.studio-tuner-trigger{z-index:9999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;cursor:pointer;background:#121620e0;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;bottom:2rem;left:2rem;box-shadow:0 12px 32px #0006,0 0 16px #27dfff40}.studio-tuner-trigger:hover{background:#1a2030f2;border-color:#27dfff;transform:translateY(-2px)scale(1.03);box-shadow:0 16px 40px #00000080,0 0 24px #27dfff80}.studio-tuner-trigger svg{color:#27dfff}.studio-tuner-panel{z-index:9999;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:#e2e8f0;background:#0f121af0;border:1px solid #ffffff2e;border-radius:1.25rem;flex-direction:column;width:26rem;max-width:calc(100vw - 4rem);max-height:80vh;animation:.25s cubic-bezier(.16,1,.3,1) studioTunerPop;display:flex;position:fixed;bottom:5.5rem;left:2rem;overflow:hidden;box-shadow:0 24px 48px #0009,0 0 32px #27dfff33}@keyframes studioTunerPop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.studio-tuner-header{background:#ffffff08;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.studio-tuner-header .studio-tuner-title{color:#27dfff;align-items:center;gap:.6rem;display:flex}.studio-tuner-header .studio-tuner-title h3{color:#fff;letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:800}.studio-tuner-header .studio-tuner-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.4rem;justify-content:center;align-items:center;padding:.3rem;display:flex}.studio-tuner-header .studio-tuner-close:hover{color:#fff;background:#ffffff1a}.studio-tuner-tabs{scrollbar-width:none;background:#00000040;border-bottom:1px solid #ffffff14;display:flex;overflow-x:auto}.studio-tuner-tabs::-webkit-scrollbar{display:none}.studio-tuner-tabs button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 0 5rem;justify-content:center;align-items:center;gap:.35rem;padding:.65rem .5rem;font-size:0;font-weight:700;transition:all .15s;display:inline-flex}.studio-tuner-tabs button span{font-size:.68rem}.studio-tuner-tabs button svg{flex:none}.studio-tuner-tabs button:hover{color:#e2e8f0}.studio-tuner-tabs button:focus-visible{outline-offset:-3px;outline:2px solid #27dfff}.studio-tuner-tabs button.is-active{color:#27dfff;background:#27dfff0f;border-bottom-color:#27dfff}.studio-tuner-body{flex:1;padding:1rem 1.25rem;overflow-y:auto}.studio-tuner-body::-webkit-scrollbar{width:6px}.studio-tuner-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.studio-tuner-body h4{text-transform:uppercase;letter-spacing:.06em;color:#38bdf8;margin:1.1rem 0 .6rem;font-size:.75rem;font-weight:800}.studio-tuner-body h4:first-child{margin-top:0}.tuner-section-heading{color:#27dfff;align-items:center;gap:.45rem;margin:1.15rem 0 .65rem;display:flex}.tuner-section-heading:first-child{margin-top:0}.tuner-section-heading h4{margin:0}.tuner-section-copy{color:#94a3b8;margin:-.15rem 0 1rem;font-size:.74rem;line-height:1.5}.tuner-choice-group,.tuner-color-control{margin-bottom:1rem}.tuner-choice-label,.tuner-color-header{color:#cbd5e1;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.78rem;font-weight:700;display:flex}.tuner-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.tuner-preset{color:#aeb9c8;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1c;border-radius:.55rem;align-items:center;gap:.45rem;min-height:2.25rem;padding:.5rem .6rem;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform .15s;display:flex}.tuner-preset:hover{color:#fff;border-color:#27dfff73;transform:translateY(-1px)}.tuner-preset:focus-visible{outline-offset:2px;outline:2px solid #27dfff}.tuner-preset.is-selected{color:#e8fcff;background:#27dfff21;border-color:#27dfff}.tuner-preset.is-selected .tuner-preset-dot{background:#27dfff;box-shadow:0 0 0 3px #27dfff29}.tuner-preset-dot{background:#556173;border-radius:999px;flex:none;width:.45rem;height:.45rem}.tuner-color-header output{color:#7eeeff;letter-spacing:.03em;font-family:monospace;font-size:.72rem}.tuner-color-options{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.tuner-color-swatches{align-items:center;gap:.42rem;display:flex}.tuner-color-swatches button{background:var(--tuner-swatch);cursor:pointer;border:2px solid #ffffff2e;border-radius:999px;width:1.65rem;height:1.65rem;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #0000002e}.tuner-color-swatches button:hover{border-color:#ffffffb3;transform:scale(1.08)}.tuner-color-swatches button:focus-visible{outline-offset:2px;outline:2px solid #27dfff}.tuner-color-swatches button.is-selected{border-color:#27dfff;box-shadow:0 0 0 3px #27dfff2e,inset 0 0 0 1px #0000002e}.tuner-custom-color{color:#cbd5e1;cursor:pointer;border:1px solid #ffffff1f;border-radius:.45rem;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex;position:relative}.tuner-custom-color input{cursor:pointer;background:0 0;border:0;border-radius:.3rem;width:1.35rem;height:1.35rem;padding:0;overflow:hidden}.tuner-custom-color:focus-within{outline-offset:2px;outline:2px solid #27dfff}.tuner-row{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.tuner-label-group{color:#cbd5e1;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:600;display:flex}.tuner-label-group .tuner-number-input{color:#27dfff;text-align:right;background:#0006;border:1px solid #ffffff26;border-radius:.4rem;width:4.2rem;padding:.2rem .4rem;font-family:monospace;font-size:.78rem;font-weight:700}.tuner-label-group .tuner-number-input:focus{border-color:#27dfff;outline:none}.tuner-slider-group{align-items:center;gap:.5rem;display:flex}.tuner-slider-group .tuner-range-input{accent-color:#27dfff;cursor:pointer;flex:1;height:4px}.tuner-slider-group .tuner-step-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:.35rem;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.88rem;font-weight:800;display:flex}.tuner-slider-group .tuner-step-btn:hover{color:#fff;background:#27dfff33;border-color:#27dfff}.studio-tuner-footer{background:#0000004d;border-top:1px solid #ffffff1a;gap:.5rem;padding:.88rem 1.25rem;display:flex}.studio-tuner-footer .tuner-btn{color:#38bdf8;cursor:pointer;background:#27dfff1f;border:1px solid #27dfff4d;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .6rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.studio-tuner-footer .tuner-btn:hover{color:#fff;background:#27dfff40;border-color:#27dfff}.studio-tuner-footer .tuner-btn.tuner-btn-danger{color:#f87171;background:#ef44441f;border-color:#ef44444d}.studio-tuner-footer .tuner-btn.tuner-btn-danger:hover{color:#fff;background:#ef444440;border-color:#ef4444}.studio-viewport-toggle{background:#00000047;border:1px solid #ffffff1f;border-radius:.55rem;gap:.2rem;padding:.2rem;display:inline-flex}.studio-viewport-toggle button{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:.4rem;align-items:center;gap:.32rem;min-height:1.9rem;padding:.35rem .55rem;font-size:.68rem;font-weight:800;display:inline-flex}.studio-viewport-toggle button[aria-pressed=true]{color:#7eeeff;background:#27dfff26}.studio-viewport-toggle button:focus-visible{outline-offset:2px;outline:2px solid #27dfff}.workshop-journal{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18110c9e;place-items:center;padding:clamp(1rem,3vw,2.5rem);display:grid;position:fixed;inset:0}.workshop-journal[hidden],.workshop-journal [hidden]{display:none!important}.workshop-journal__dialog{perspective:1400px;background:#6f4b31;border:1px solid #fff1cd6b;border-radius:1.4rem;width:min(64rem,96vw);max-height:min(48rem,94vh);position:relative;overflow:hidden;box-shadow:0 2rem 5rem #0f08037a}.workshop-journal__header{z-index:10;color:#513820;background:#fff8e1f5;border-bottom:1px solid #3e281633;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:4rem;padding:.7rem 1rem;display:grid;position:relative}.workshop-journal__header>div,.workshop-journal__header nav,.workshop-journal__header button{align-items:center;display:inline-flex}.workshop-journal__header>div{gap:.55rem}.workshop-journal__header nav{background:#68482a1a;border-radius:999px;gap:.35rem;padding:.25rem}.workshop-journal__header nav button,.workshop-journal__header .workshop-journal__close{color:#6b4b2d;cursor:pointer;background:0 0;border:0;border-radius:999px;gap:.38rem;min-height:2.2rem;padding:.45rem .75rem;font-weight:800}.workshop-journal__header nav button[aria-pressed=true]{color:#fffaf0;background:#df8541}.workshop-journal__close{justify-self:end;padding-inline:.6rem!important}.workshop-journal__cover{z-index:8;transform-origin:0;background:radial-gradient(circle at 50% 42%,#f6b95b42,#0000 34%),linear-gradient(135deg,#9b6035,#5c3824);border:.7rem solid #56371f;border-radius:.7rem 1rem 1rem .7rem;animation:.9s cubic-bezier(.2,.75,.2,1) forwards workshop-cover-open;position:absolute;inset:4rem 1rem 1rem;box-shadow:inset 0 0 0 2px #ffdc9b3d,0 1rem 2rem #1f10064d}@keyframes workshop-cover-open{0%,12%{opacity:1;transform:rotateY(0)}78%{opacity:1;transform:rotateY(-154deg)}to{opacity:0;transform:rotateY(-176deg)}}.workshop-journal__projects{padding:1rem 1rem 4.35rem;position:relative}.workshop-journal__spread{filter:drop-shadow(0 1rem 1.5rem #23130840);grid-template-columns:repeat(2,minmax(0,1fr));min-height:min(34rem,94vh - 10rem);display:grid}.workshop-journal__page{color:#433321;background-color:#f5ecd6;background-image:linear-gradient(90deg,#4e331b14,#0000 12%),url(/textures/workshop-journal-paper.webp);background-size:auto,36rem 36rem;min-width:0;padding:clamp(1.25rem,3vw,2.5rem);position:relative;overflow:hidden}.workshop-journal__page--copy{border-radius:.65rem 0 0 .65rem;box-shadow:inset -1rem 0 1.6rem -1rem #3b251259}.workshop-journal__page--copy small,.workshop-journal__page--copy>p:first-of-type{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.workshop-journal__page--copy>p:first-of-type{color:#b0632e;margin:2rem 0 .5rem}.workshop-journal__page--copy h2{font-family:var(--font-display);margin:0;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.92}.workshop-journal__page--copy .workshop-journal__description{max-width:31rem;margin:1.2rem 0;font-size:clamp(.9rem,1.4vw,1.08rem);line-height:1.65}.workshop-journal__page--copy ul{flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.workshop-journal__page--copy li{font-family:var(--font-mono);border:1px solid #50382033;border-radius:999px;padding:.35rem .55rem;font-size:.64rem}.workshop-journal__page--copy a{color:#97501f;align-items:center;gap:.4rem;margin-top:1.2rem;font-weight:900;display:inline-flex}.workshop-journal__page--photo{transform-origin:0;border-radius:0 .65rem .65rem 0;place-items:center;animation:.44s cubic-bezier(.2,.7,.2,1) workshop-page-turn;display:grid;box-shadow:inset 1rem 0 1.6rem -1rem #3b251259}.workshop-journal__page--photo figure{background:#fff9e9;border:1px solid #4f371f21;width:min(100%,27rem);margin:0;padding:.8rem .8rem 1.6rem;transform:rotate(1.2deg);box-shadow:0 .8rem 1.7rem #3a25112e}.workshop-journal__page--photo img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.78)contrast(.96)sepia(.08);width:100%;display:block}.workshop-journal__page--photo figcaption{font-family:var(--font-mono);color:#70583d;text-align:center;margin-top:.8rem;font-size:.64rem}@keyframes workshop-page-turn{0%{opacity:.35;transform:rotateY(-72deg)}to{opacity:1;transform:rotateY(0)}}.workshop-journal__pager{color:#fff4df;text-align:center;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;display:grid;position:absolute;bottom:.85rem;left:1.5rem;right:1.5rem}.workshop-journal__pager button{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:#fff4df1f;border:1px solid #fff4df59;border-radius:50%;place-items:center;display:grid}.workshop-journal__pager button:disabled{cursor:default;opacity:.35}.studio-tuner-panel.is-embedded{z-index:1;width:100%;max-width:none;max-height:calc(94vh - 7rem);box-shadow:none;border-radius:.8rem;animation:none;position:relative;bottom:auto;left:auto}.workshop-settings{z-index:10000;pointer-events:none;background:0 0;position:fixed;inset:0}.workshop-settings[hidden]{display:none}.workshop-settings__dialog{pointer-events:auto;background:#10131b;border:1px solid #ffffff2e;border-radius:.9rem;width:min(23.75rem,100vw - 2rem);max-height:min(70vh,46rem);position:absolute;bottom:1rem;left:1rem;overflow:hidden;box-shadow:0 1rem 3rem #04050885}.workshop-settings__header{color:#f8fafc;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;min-height:3.2rem;padding:.8rem 1rem;display:flex}.workshop-settings__header>div,.workshop-settings__header button{align-items:center;display:inline-flex}.workshop-settings__header>div{gap:.55rem}.workshop-settings__header svg{color:#27dfff}.workshop-settings__header button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;width:2.2rem;height:2.2rem}.workshop-settings .studio-tuner-panel.is-embedded{-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;max-height:calc(min(70vh,46rem) - 3.2rem)}.workshop-settings .studio-tuner-panel.is-embedded .studio-tuner-header{justify-content:center;padding:.55rem .75rem}.workshop-settings .studio-tuner-panel.is-embedded .studio-tuner-title{display:none}@media (width<=720px){.workshop-journal{padding:.5rem}.workshop-journal__dialog{width:100%;max-height:96vh}.workshop-journal__header{grid-template-columns:1fr auto}.workshop-journal__header>div strong{display:none}.workshop-journal__header nav{grid-area:2/1/auto/-1;justify-self:stretch}.workshop-journal__header nav button{flex:1;justify-content:center}.workshop-journal__spread{min-height:0;max-height:calc(96vh - 10rem);display:block;overflow-y:auto}.workshop-journal__page{border-radius:0;padding:1.25rem}.workshop-journal__page--copy h2{font-size:2.5rem}.workshop-journal__page--photo figure{width:100%}.workshop-settings__dialog{width:auto;max-height:58svh;bottom:.5rem;left:.5rem;right:.5rem}.workshop-settings .studio-tuner-panel.is-embedded{max-height:calc(58svh - 3.2rem)}}@media (prefers-reduced-motion:reduce){.workshop-journal__cover{display:none}.workshop-journal__page--photo{animation:none}}.workshop-journal[data-reduced-motion=true] .workshop-journal__cover{display:none}.workshop-journal[data-reduced-motion=true] .workshop-journal__page--photo{animation:none}
