@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_8f8d718c-module__HPcqWW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_8f8d718c-module__HPcqWW__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.3gpqod6e6kd7d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1ay-qk1u8nydy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_a632d168-module__jFlGDq__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_a632d168-module__jFlGDq__variable{--font-sans:"Outfit", "Outfit Fallback"}
@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c9bd7381a27f2960-s.p.07v3xujt8_t9f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Share Tech Mono Fallback;src:local(Arial);ascent-override:73.06%;descent-override:19.98%;line-gap-override:0.0%;size-adjust:121.13%}.share_tech_mono_6ad61ed7-module__dn9sgq__className{font-family:Share Tech Mono,Share Tech Mono Fallback;font-style:normal;font-weight:400}.share_tech_mono_6ad61ed7-module__dn9sgq__variable{--font-mono:"Share Tech Mono", "Share Tech Mono Fallback"}
.cursor-grid{pointer-events:none;width:100%;height:100%;position:relative;overflow:hidden}.cursor-grid__canvas{width:100%;height:100%;display:block}
:root,[data-aesthetic=cream-amber]{--bg:#ece6c2;--bg-deep:#e0d8b0;--text:#3d2e24;--muted:#6f5643;--accent:#cc6b49;--accent-soft:#d2a24c;--accent-alt:#73bda8;--panel:#e0d8b0;--stroke:#6f5643;--glow-warm:#cc6b49;--glow-amber:#d2a24c;--grain-opacity:.1;--radius:0;--header-h:4.25rem;--btn-fg:#ece6c2}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg-deep)}html::-webkit-scrollbar{width:10px}html::-webkit-scrollbar-track{background:var(--bg-deep)}html::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--bg-deep)}html::-webkit-scrollbar-thumb:hover{background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100vh;font-family:var(--font-sans), system-ui, sans-serif;color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}.page-shell{isolation:isolate;min-height:100vh;position:relative}.bg-atmosphere{pointer-events:none;z-index:-2;background:linear-gradient(90deg, var(--glow-warm) 0 12px, transparent 12px), linear-gradient(90deg, transparent calc(100% - 12px), var(--accent-alt) 0), var(--bg);position:fixed;inset:0}.bg-grain{pointer-events:none;z-index:-1;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");position:fixed;inset:0}.dark .bg-grain{mix-blend-mode:soft-light}main{z-index:1;width:min(1120px,100% - 2*clamp(1.1rem,5vw,3rem));padding:calc(var(--header-h) + 1.5rem) 0 5rem;margin:0 auto;position:relative}h1,h2,h3,h4,.brand-mark,.logo{font-family:var(--font-display), Georgia, serif;letter-spacing:-.01em;font-weight:700;line-height:1.12}h1{margin:.35rem 0 1rem;font-size:clamp(2.4rem,6vw,4.4rem)}h2{margin:0 0 1.1rem;font-size:clamp(1.8rem,3.5vw,2.6rem)}h3{margin:0 0 .55rem;font-size:1.25rem}p{color:var(--text);margin:0 0 .85rem}.lede,.section-lede{max-width:42rem;color:var(--muted);font-size:1.05rem}.eyebrow,.card-eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:700;font-family:var(--font-sans), system-ui, sans-serif;margin:0 0 .4rem}.brand-mark{color:var(--text);margin:0 0 .6rem;font-size:clamp(2.8rem,8vw,5.5rem)}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:2px}a:hover{color:var(--accent-alt)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scroll-progress{z-index:50;pointer-events:none;background:var(--bg-deep);height:6px;position:fixed;inset:0 0 auto;container-type:inline-size}.scroll-progress__reveal{width:0%;height:100%;overflow:hidden}.scroll-progress__segments{width:100cqw;height:100%;display:flex}.scroll-progress__segment{flex:1 0 0;min-width:0;height:100%}.site-header{z-index:40;min-height:var(--header-h);background:var(--bg);border-bottom:3px solid var(--stroke);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.7rem clamp(1.1rem,5vw,3rem);display:grid;position:fixed;inset:0 0 auto}.logo{color:var(--text);font-size:1.15rem;text-decoration:none}.site-nav{flex-wrap:wrap;justify-content:center;gap:.85rem 1.1rem;display:flex}.site-nav a{color:var(--muted);font-size:.92rem;font-weight:600;text-decoration:none}.site-nav a:hover{color:var(--accent)}.header-actions{align-items:center;gap:.55rem;display:flex}.header-linkedin,.lang-toggle,.icon-btn,.nav-toggle{appearance:none;border:2px solid var(--stroke);background:var(--panel);color:var(--text);border-radius:var(--radius);font:inherit;cursor:pointer;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .16s,color .16s,border-color .16s}.header-linkedin:hover,.lang-toggle:hover,.icon-btn:hover,.nav-toggle:hover{background:var(--accent-soft);color:var(--text);border-color:var(--stroke)}.icon-btn{place-items:center;width:2.2rem;height:2.2rem;padding:0;display:grid}.theme-toggle{font-size:1rem}.aesthetic-switcher{width:var(--as-w-closed,max-content);min-width:var(--as-w-closed,max-content);vertical-align:middle;transition:width .28s cubic-bezier(.22,1,.36,1);display:inline-block;position:relative}.aesthetic-switcher.is-open{width:var(--as-w-open,max-content)}.aesthetic-switcher__probe{visibility:hidden;pointer-events:none;z-index:-1;position:absolute;top:0;left:0}.aesthetic-switcher__probe .aesthetic-switcher__trigger{width:max-content}.aesthetic-switcher__probe .aesthetic-switcher__menu{width:max-content;box-shadow:none;animation:none;position:static}.aesthetic-switcher__trigger{appearance:none;box-sizing:border-box;border:2px solid var(--stroke);background:var(--panel);width:100%;color:var(--text);border-radius:var(--radius);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem .65rem .35rem .8rem;font-size:.78rem;font-weight:600;transition:border-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.aesthetic-switcher__trigger:hover,.aesthetic-switcher.is-open .aesthetic-switcher__trigger{border-color:var(--accent)}.aesthetic-switcher__label{white-space:nowrap;flex-shrink:0}.aesthetic-switcher__chevron{flex-shrink:0;font-size:.7rem;line-height:1;transition:transform .22s cubic-bezier(.22,1,.36,1)}.aesthetic-switcher.is-open .aesthetic-switcher__chevron{transform:rotate(180deg)}.aesthetic-switcher__menu{z-index:60;box-sizing:border-box;border:2px solid var(--stroke);background:var(--panel);border-radius:var(--radius);width:100%;box-shadow:3px 3px 0 var(--stroke);transform-origin:top;margin:0;padding:.25rem;list-style:none;animation:.32s cubic-bezier(.34,1.45,.64,1) both aesthetic-menu-in;position:absolute;top:calc(100% + .35rem);left:0;right:0}.aesthetic-switcher__option{width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:.45rem .65rem;font-size:.78rem;font-weight:600;display:block}.aesthetic-switcher__option:hover,.aesthetic-switcher__option:focus-visible{background:var(--accent);color:var(--btn-fg,#ece6c2);outline:none}.aesthetic-switcher__option.is-selected{background:var(--accent-soft);color:var(--text)}.aesthetic-switcher__option.is-selected:hover,.aesthetic-switcher__option.is-selected:focus-visible{background:var(--accent);color:var(--btn-fg,#ece6c2)}@keyframes aesthetic-menu-in{0%{opacity:0;transform:translateY(-10px)scaleY(.92)}72%{opacity:1;transform:translateY(3px)scaleY(1.03)}to{opacity:1;transform:translateY(0)scaleY(1)}}@media (prefers-reduced-motion:reduce){.aesthetic-switcher{transition:none}.aesthetic-switcher__menu{animation:none}.aesthetic-switcher__chevron{transition:none}}.nav-toggle{display:none}.btn{border-radius:var(--radius);border:2px solid var(--accent);background:var(--accent);color:var(--btn-fg,#ece6c2);letter-spacing:.02em;justify-content:center;align-items:center;gap:.35rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.btn:hover{background:var(--accent-soft);border-color:var(--stroke);color:var(--text);box-shadow:3px 3px 0 var(--stroke);transform:translate(-2px,-2px)}.btn-ghost{color:var(--text);border-color:var(--stroke);background:0 0}.btn-ghost:hover{background:var(--accent-alt);border-color:var(--stroke);color:var(--text)}.btn-small{padding:.45rem .85rem;font-size:.85rem}.section{border-top:3px solid var(--stroke);padding:clamp(3rem,8vw,5.5rem) 0}.hero{min-height:calc(100vh - var(--header-h) - 2rem);align-items:end;padding:2rem 0 4rem;display:grid;position:relative}.hero-atmosphere{z-index:0;pointer-events:none;grid-template-rows:28% 1fr;grid-template-columns:36% 1fr;width:min(42%,22rem);height:min(48%,18rem);display:grid;position:absolute;inset:auto 0 12% auto}.hero-block{pointer-events:auto;opacity:.95;transform-origin:50%;cursor:default;transition:transform .32s cubic-bezier(.34,1.45,.64,1);display:block}.hero-block:hover{transform:scale(.9)translate(3px,5px)}.hero-block--amber{background:var(--glow-amber);grid-area:1/1/auto/-1}.hero-block--teal{background:var(--accent-alt);grid-area:2/1}.hero-block--warm{background:var(--glow-warm);grid-area:2/2}.hero-inner{z-index:1;border-left:6px solid var(--accent);max-width:48rem;padding-left:1.15rem;position:relative}.hero-cta{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.project-grid,.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.project-card,.panel-card{border-radius:var(--radius);background:var(--panel);border:3px solid var(--stroke);height:100%;padding:1.15rem;transition:transform .16s,box-shadow .16s}.project-card:hover,.panel-card:hover{box-shadow:4px 4px 0 var(--stroke);transform:translate(-3px,-3px)}.skills-stack{flex-direction:column;gap:1.5rem;margin-top:.85rem;display:flex}.skills-category{flex-direction:column;align-items:flex-start;width:100%;display:flex}.skills-category .case-banner{margin:0 0 .85rem;display:flex}.skill-chips{flex-wrap:wrap;justify-content:flex-start;gap:.55rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.skill-chip{border:2px solid var(--stroke);border-radius:var(--radius);background:var(--panel);color:var(--text);align-items:center;gap:.45rem;padding:.5rem .75rem;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:2px 2px #0000}.skill-chip:hover{box-shadow:3px 3px 0 var(--stroke);background:var(--bg);color:var(--text);transform:translate(-2px,-2px)}.skill-chip-img{object-fit:contain;flex-shrink:0;width:1.15rem;height:1.15rem;display:block}html.dark .skill-chip-img{filter:invert()brightness(.95)}.project-media{border-radius:var(--radius);aspect-ratio:16/10;background:var(--bg-deep);border:2px solid var(--stroke);margin-bottom:.85rem;position:relative;overflow:hidden}.project-poster,.project-video{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.card-text{color:var(--muted);font-size:.95rem}.card-text strong,.panel-card strong{color:var(--text)}.card-link{margin:.4rem 0 .8rem;font-weight:700;text-decoration:none;display:inline-block}.project-links{flex-wrap:wrap;gap:.5rem;display:flex}.about-grid{grid-template-columns:minmax(160px,240px) 1fr;align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.about-photo{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:3px solid var(--stroke);width:100%;max-width:220px;box-shadow:6px 6px 0 var(--accent)}.about-location{color:var(--muted);margin-top:.75rem}.about-bullets,.panel-card ul,.case-block ul,.roadmap-group ul{color:var(--muted);margin:.5rem 0 0;padding-left:1.15rem}.about-bullets li,.panel-card li,.case-block li{margin-bottom:.45rem}.about-pro{color:var(--muted);margin:.35rem 0 0}.about-projects-label{color:var(--text);margin:1.15rem 0 .25rem;font-size:.95rem;font-weight:700}.about-highlight{color:var(--text);margin-top:1rem;font-weight:600}.about-links{justify-content:center;align-items:center;gap:.85rem;margin-top:clamp(1.75rem,4vw,2.75rem);display:flex}.about-link{width:2.6rem;height:2.6rem;color:var(--text);border:2px solid var(--stroke);border-radius:var(--radius);background:var(--panel);place-items:center;transition:background .16s,color .16s,border-color .16s,transform .16s;display:grid}.about-link:hover{background:var(--accent-soft);border-color:var(--stroke);color:var(--text);transform:translateY(-2px)}.about-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.about-link--resume{width:auto;min-height:2.6rem;font:inherit;padding:.35rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none}.eng-local{--crt-bg:#030805;--crt-phosphor:#39ff14;--crt-phosphor-dim:#26b810;--crt-phosphor-glow:#39ff1473;--crt-bezel:#1a1f1a;background:0 0;border:none;margin-top:1.5rem;padding:0}.eng-local__bezel{background:linear-gradient(160deg, #2a2f2a 0%, var(--crt-bezel) 40%, #0d100d 100%);border:3px solid var(--stroke);box-shadow:4px 4px 0 var(--stroke), inset 0 1px 0 #ffffff14;border-radius:1.1rem;padding:.85rem}.eng-local__screen{background:radial-gradient(ellipse 120% 90% at 50% 40%, #0a140a 0%, var(--crt-bg) 72%);color:var(--crt-phosphor);font-family:var(--font-mono), ui-monospace, "Cascadia Code", Consolas, monospace;text-shadow:0 0 6px var(--crt-phosphor-glow);box-shadow:inset 0 0 60px #000000a6, inset 0 0 24px var(--crt-phosphor-glow), 0 0 18px #39ff141f;border-radius:.65rem;padding:1.15rem 1.25rem 1.25rem;font-size:.95rem;line-height:1.55;position:relative;overflow:hidden}.eng-local__screen:before{content:"";pointer-events:none;z-index:1;opacity:.55;background:repeating-linear-gradient(#0000 0 2px,#0000002e 2px 3px);position:absolute;inset:0}.eng-local__screen:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(85% 75% at 50% 45%,#0000 45%,#00000073 100%);position:absolute;inset:0}.eng-local__screen>*{z-index:2;position:relative}.eng-local h3{letter-spacing:.04em;text-transform:uppercase;color:var(--crt-phosphor);text-shadow:0 0 8px var(--crt-phosphor-glow), 0 0 16px #39ff1440;margin:0 0 .65rem;font-family:inherit;font-size:1.15rem;font-weight:400}.eng-local p,.eng-local li,.eng-local .note{color:var(--crt-phosphor-dim);text-shadow:0 0 5px var(--crt-phosphor-glow)}.eng-local p{margin:0 0 .75rem}.eng-local ul,.eng-local ol{color:var(--crt-phosphor-dim);margin:.5rem 0 .85rem;padding-left:1.25rem}.eng-local li{margin-bottom:.4rem}.eng-local strong{color:var(--crt-phosphor);font-weight:400}.eng-local code{color:var(--crt-phosphor);text-shadow:0 0 6px var(--crt-phosphor-glow);background:#39ff1414;border:1px solid #39ff1438;padding:.05em .25em;font-family:inherit;font-size:.92em}.eng-local .note{margin:.85rem 0 0;font-size:.9rem}.crt-cursor{vertical-align:-.15em;background:var(--crt-phosphor);width:.7em;height:1.05em;box-shadow:0 0 10px var(--crt-phosphor-glow);margin-left:.2em;animation:1.45s step-end infinite crt-cursor-blink;display:inline-block}@keyframes crt-cursor-blink{0%,48%{opacity:1}52%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.crt-cursor{opacity:1;animation:none}}.note{color:var(--muted);font-size:.92rem}.cursor-grid-page{pointer-events:none;z-index:0;mix-blend-mode:multiply;position:fixed;inset:0}.dark .cursor-grid-page{mix-blend-mode:screen}.contact-email{font-family:var(--font-display), Georgia, serif;margin:.4rem 0 1rem;font-size:clamp(1.4rem,3vw,2rem)}.contact-links,.contact-social{flex-wrap:wrap;gap:.65rem;margin-bottom:.9rem;display:flex}.contact-social a{color:var(--muted);border-bottom:2px solid var(--stroke);padding-bottom:.1rem;font-weight:600;text-decoration:none}.contact-social a:hover{color:var(--accent-alt);border-bottom-color:var(--accent-alt)}.roadmap-phase{border-radius:var(--radius);border:3px solid var(--stroke);background:var(--panel);margin-bottom:.9rem;padding:.85rem 1rem}.now-list{color:var(--muted);max-width:42rem;margin:1rem 0 0;padding-left:1.15rem}.now-list li{color:var(--text);margin-bottom:.65rem}.milestone-list{gap:.85rem;max-width:44rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.milestone-card{border:2px solid var(--stroke);border-radius:var(--radius);background:var(--panel);gap:.4rem;padding:.95rem 1.1rem;display:grid}.milestone-card__title{color:var(--text);font-size:1.02rem}.milestone-card__body{color:var(--muted);margin:0;line-height:1.45}.roadmap-phase summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;list-style:none;display:flex}.roadmap-phase summary::-webkit-details-marker{display:none}.roadmap-phase__panel{overflow:hidden}.badge{border-radius:var(--radius);border:2px solid var(--stroke);background:var(--bg);color:var(--muted);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.badge-done{color:var(--text);background:var(--accent-alt);border-color:var(--stroke)}.badge-in-progress,.badge-active,.badge-current{color:var(--btn-fg,#ece6c2);background:var(--accent);border-color:var(--stroke)}.badge-pending{color:var(--muted);background:var(--bg);border-color:var(--stroke)}.roadmap-group{margin-top:.85rem}.roadmap-group h4{font-size:.95rem;font-family:var(--font-sans), system-ui, sans-serif;margin:0 0 .35rem}.site-footer{z-index:1;border-top:1px solid color-mix(in srgb, var(--stroke) 35%, transparent);color:var(--muted);letter-spacing:.02em;text-align:center;background:0 0;padding:.7rem clamp(1.1rem,5vw,3rem) 1rem;font-size:.72rem;font-weight:500;position:relative}.site-footer p{margin:0}.back-to-top{z-index:45;border:2px solid var(--stroke);border-radius:var(--radius);background:var(--accent);color:var(--btn-fg,#ece6c2);font:inherit;letter-spacing:.02em;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.78rem;font-weight:700;transition:opacity .28s,transform .32s cubic-bezier(.34,1.45,.64,1),visibility .28s,background .16s,box-shadow .16s;display:inline-flex;position:fixed;bottom:clamp(.85rem,3vw,1.5rem);right:clamp(.85rem,3vw,1.5rem);transform:translateY(12px)scale(.94)}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.back-to-top:hover{background:var(--accent-soft);color:var(--text);border-color:var(--stroke);box-shadow:3px 3px 0 var(--stroke);transform:translate(-2px,-2px)}.back-to-top:focus-visible{outline:2px solid var(--accent-alt);outline-offset:3px}.back-to-top__icon{font-size:.95rem;line-height:1}@media (max-width:560px){.back-to-top__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.back-to-top{justify-content:center;width:2.5rem;height:2.5rem;padding:0}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity .16s,visibility .16s;transform:none}.back-to-top.is-visible,.back-to-top:hover{transform:none}}.case-study{padding-bottom:3rem}.back-link{margin:.4rem 0 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.case-gallery{margin:1.5rem 0 2.5rem}.case-gallery-frame{border-radius:var(--radius);border:3px solid var(--stroke);background:linear-gradient(135deg, var(--bg-deep) 0%, var(--panel) 100%);aspect-ratio:16/9;max-width:920px;box-shadow:5px 5px 0 var(--stroke);margin-inline:auto;position:relative;overflow:hidden}.case-gallery-img{object-fit:contain;object-position:center;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .52s cubic-bezier(.33,1,.68,1),transform .52s cubic-bezier(.33,1,.68,1);display:block;position:absolute;inset:0;transform:scale(1.012)}.case-gallery-img.is-active{opacity:1;z-index:1;transform:scale(1)}.case-gallery-zoom{z-index:3;border:2px solid var(--stroke);background:var(--panel);width:2.15rem;height:2.15rem;color:var(--text);pointer-events:none;box-shadow:2px 2px 0 var(--stroke);place-items:center;font-size:1.25rem;font-weight:700;line-height:1;display:grid;position:absolute;top:.65rem;right:.65rem}.case-gallery-hit{z-index:2;cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.case-gallery-cap{z-index:3;pointer-events:none;border-radius:var(--radius);background:var(--accent);border:0;border-top:2px solid var(--stroke);border-right:2px solid var(--stroke);letter-spacing:.04em;text-transform:uppercase;color:var(--btn-fg,#ece6c2);margin:0;padding:.35rem .65rem;font-size:.8rem;font-weight:700;position:absolute;bottom:0;left:0}.case-gallery-controls{justify-content:center;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.case-gallery-dots{gap:.4rem;display:flex}.dot{border-radius:var(--radius);border:2px solid var(--stroke);background:var(--panel);cursor:pointer;width:.7rem;height:.7rem;padding:0;transition:background .2s,transform .16s}.dot.is-active{background:var(--accent);transform:scale(1.12)}.case-lightbox{z-index:200;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.case-lightbox-backdrop{cursor:pointer;background:color-mix(in srgb, var(--stroke) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;margin:0;padding:0;position:absolute;inset:0}.case-lightbox-panel{z-index:1;background:var(--bg);border:3px solid var(--stroke);width:min(1100px,100%);max-height:min(92vh,900px);box-shadow:8px 8px 0 var(--stroke);pointer-events:auto;flex-direction:column;gap:.65rem;padding:.75rem;display:flex;position:relative}.case-lightbox-close,.case-lightbox-nav .btn,.case-lightbox-toolbar .btn{z-index:2;pointer-events:auto;cursor:pointer;position:relative}.case-lightbox-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.case-lightbox-title{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.case-lightbox-media{border:2px solid var(--stroke);background:var(--bg-deep);flex:1;min-height:0;position:relative;overflow:auto}.case-lightbox-img{object-fit:contain;width:100%;height:auto;display:block}.case-lightbox-nav{justify-content:center;align-items:center;gap:1rem;font-weight:700;display:flex}.case-block{text-align:left;margin-top:.5rem;padding:1.75rem 0 .35rem}.case-block--right .case-banner{margin-left:auto}.case-banner{background:var(--panel);border:3px solid var(--stroke);width:fit-content;max-width:100%;box-shadow:4px 4px 0 var(--stroke);align-items:stretch;gap:.75rem;margin:0 0 1rem;display:inline-flex}.case-banner--left{border-left:6px solid var(--accent);margin-right:auto;padding:.45rem .85rem .45rem .45rem}.case-banner--right{border-right:6px solid var(--accent);text-align:right;flex-direction:row-reverse;margin-left:auto;padding:.45rem .45rem .45rem .85rem}.case-banner h2,.case-banner h3{white-space:nowrap;align-self:center;width:max-content;margin:0;font-size:clamp(1.15rem,2.4vw,1.55rem);line-height:1.15}.case-banner-mark{border:2px solid var(--stroke);background:var(--bg-deep);flex:0 0 2.75rem;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:3px;width:2.75rem;min-height:2.75rem;padding:3px;display:grid;position:relative}.case-banner-square{min-height:0;display:block}.case-banner-square--amber{background:var(--glow-amber);grid-area:1/1}.case-banner-square--teal{background:var(--accent-alt);grid-area:1/2/span 2}.case-banner-square--warm{background:var(--glow-warm);grid-area:2/1}.theme-water-drop{z-index:9999;background:var(--text);width:.72rem;height:.95rem;box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent) 70%, transparent), 0 8px 18px color-mix(in srgb, var(--text) 28%, transparent);opacity:0;pointer-events:none;will-change:transform, opacity, border-radius;border-radius:55% 45% 50% 50%/60% 60% 40% 40%;margin-left:-.36rem;position:fixed;top:0;left:50%}.theme-water-drop[data-to=dark]{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent) 80%, transparent), 0 10px 22px #00000047;background:#2a211a}.theme-water-drop[data-to=light]{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--stroke) 55%, transparent), 0 10px 22px #3d2e242e;background:#ece6c2}.theme-water-drop.is-falling{animation:.72s cubic-bezier(.55,.06,.68,.19) forwards theme-drop-fall}@keyframes theme-drop-fall{0%{opacity:0;border-radius:55% 45% 50% 50%/60% 60% 40% 40%;transform:translateY(-18vh)scale(.55)}12%{opacity:1}70%{opacity:1;border-radius:55% 45% 50% 50%/60% 60% 40% 40%;transform:translateY(calc(50vh - .55rem))scale(1)}82%{opacity:1;border-radius:50%;transform:translateY(calc(50vh - .2rem))scale(1.55,.42)}to{opacity:0;border-radius:50%;transform:translateY(calc(50vh - .35rem))scale(.15)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-theme-transition=to-light]::view-transition-new(root){z-index:2;animation:1.28s cubic-bezier(.16,.84,.28,1) both theme-ripple-in}html[data-theme-transition=to-dark]::view-transition-new(root){z-index:2;animation:1.28s cubic-bezier(.16,.84,.28,1) both theme-ripple-in}html[data-theme-transition=to-light]::view-transition-old(root){z-index:1}html[data-theme-transition=to-dark]::view-transition-old(root){z-index:1}@keyframes theme-ripple-in{0%{clip-path:circle(0%)}6%{clip-path:circle(2.2%)}11%{clip-path:circle(1.5%)}to{clip-path:circle(150%)}}@media (prefers-reduced-motion:reduce){.theme-water-drop,.theme-water-drop.is-falling{animation:none;display:none}html[data-theme-transition=to-light]::view-transition-new(root){animation:none}html[data-theme-transition=to-dark]::view-transition-new(root){animation:none}}@media (max-width:820px){.site-header{grid-template-columns:1fr auto auto}.nav-toggle{display:inline-flex}.site-nav{top:calc(var(--header-h) - .2rem);background:var(--bg);border-bottom:3px solid var(--stroke);flex-direction:column;padding:1rem clamp(1.1rem,5vw,3rem) 1.2rem;display:none;position:absolute;left:0;right:0}.site-nav.is-open{display:flex}.about-grid{grid-template-columns:1fr}.header-linkedin{display:none}.hero-atmosphere{width:min(55%,14rem);height:min(36%,11rem)}.bg-atmosphere{background:linear-gradient(90deg, var(--glow-warm) 0 8px, transparent 8px), linear-gradient(90deg, transparent calc(100% - 8px), var(--accent-alt) 0), var(--bg)}}@media (max-width:560px){.aesthetic-switcher__trigger{padding:.3rem .5rem .3rem .6rem;font-size:.7rem}.aesthetic-switcher__option{font-size:.7rem}.case-gallery-frame{aspect-ratio:16/10;max-width:none}.case-banner{max-width:100%}.case-banner h2,.case-banner h3{white-space:normal}.case-lightbox-panel{max-height:96vh;padding:.55rem}.hero-inner{border-left-width:4px;padding-left:.85rem}}
