/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:"Inter", system-ui, sans-serif;--font-display:"Inter", system-ui, sans-serif;--font-code:"IBM Plex Mono", monospace;--container-content:76rem;--spacing-page:clamp(1rem, 4vw, 3rem);--spacing-section:clamp(2.5rem, 5vw, 4.5rem);--radius-card:1rem;--radius-control:.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{background:var(--bg);color:var(--text);scroll-behavior:smooth;scroll-padding-top:2rem}body{min-width:280px;font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3{font-family:var(--font-display)}a{text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--accent-ink)}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.contents{display:contents}}@font-face{font-family:IBM Plex Mono;src:url(../../../fonts/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(../../../fonts/IBMPlexMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../../../fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--site-font-hero:var(--font-display);--site-font-project:var(--font-display);--bg:#171c1e;--text:#f5f1e9;--text-muted:#d9d3c9;--text-subtle:#cbc5bb;--accent:#e5c49c;--project-logo-stroke:2;--project-chora-color:#b2bbff;--project-label-color:var(--accent);--accent-hover:#f0d6b5;--accent-ink:#27221c;--surface-solid:#252a2b;--surface:#1c2123b8;--surface-strong:#1e2324d6;--border:#e6dbcb40;--border-strong:#e6dbcb8f;--chip:#e6dbcb0d;--highlight:#fff4de14;--shadow:0 20px 60px #0000002e;--scene-shade:#0c121447;--scene-floor:#0f1517bd;--transition-fast:.18s ease;--glass-blur:18px;--glass-sheen:#f2ce9c0a;--divider:#e6dbcb1f;--ambient-light:#e9b77829;--chip-hover:#e6dbcb1a}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dad4c9;--text:#252b2d;--text-muted:#444b4c;--text-subtle:#515859;--accent:#704c28;--project-logo-stroke:3.5;--project-chora-color:#454e94;--project-label-color:var(--text);--accent-hover:#624322;--accent-ink:#fff9ef;--surface-solid:#eee8de;--surface:#f1eade99;--surface-strong:#f2ece2b3;--border:#433e3459;--border-strong:#433e34a6;--chip:#4d42310d;--highlight:#ffffff80;--shadow:0 20px 60px #1f1c1726;--scene-shade:#2e29201f;--scene-floor:#5b544573;--glass-sheen:#fff7e71f;--divider:#433e3433;--ambient-light:#f3c4841f;--chip-hover:#4d42311a}}.atmosphere{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.atmosphere picture,.atmosphere img{width:100%;height:100%}.atmosphere img{object-fit:cover;object-position:60% center}.atmosphere:after{content:"";background:linear-gradient(180deg, var(--scene-shade), var(--scene-floor));position:absolute;inset:0}.atmosphere:before{content:"";z-index:1;background:radial-gradient(ellipse at 70% 30%, var(--ambient-light), transparent 65%);opacity:.35;animation:18s ease-in-out infinite alternate ambient-light;position:absolute;inset:-5%}@keyframes ambient-light{0%{opacity:.25;transform:translate(-1%)}to{opacity:.45;transform:translate(1%,1%)}}.page-shell{max-width:var(--container-content);padding:var(--spacing-page);margin-inline:auto;position:relative}.glass{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:inset 0 1px 0 var(--highlight), var(--shadow)}@supports ((-webkit-backdrop-filter:blur(18px)) or (backdrop-filter:blur(18px))){.glass{background:linear-gradient(145deg, var(--glass-sheen), transparent 45%), linear-gradient(110deg, var(--surface-strong), var(--surface));-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}}.eyebrow{font-family:var(--font-code);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:400}.hero{flex-direction:column;justify-content:center;align-items:flex-start;min-height:37rem;padding:clamp(1.5rem,5.5vw,4.5rem);display:flex}.hero .eyebrow{color:var(--accent);margin-bottom:2rem}.hero h1{font-family:var(--site-font-hero);letter-spacing:-.05em;font-size:clamp(2.2rem,5.2vw,4.25rem);font-weight:450;line-height:1.04}.hero-description{max-width:34rem;color:var(--text-muted);margin-top:1.75rem;font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.8}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.btn,.control{border-radius:var(--radius-control);background:var(--accent);min-height:48px;color:var(--accent-ink);transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.8rem;padding:.8rem 1.2rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary,.btn-quiet,.control{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-secondary:hover,.btn-quiet:hover,.control:hover{background:var(--chip);border-color:var(--accent)}.btn-quiet{border-color:var(--border);background:var(--chip)}.skills-strip{grid-template-columns:10rem minmax(0,1fr);align-items:center;gap:1.5rem;margin-top:1.5rem;padding:2rem;display:grid}.tech-list{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.skills-strip .tech-list{gap:.65rem}.skills-strip .tech-list li{transition:background-color var(--transition-fast), border-color var(--transition-fast);border-radius:999px;padding:.6rem .9rem;font-size:.75rem}.project-logo.chora-icon{width:5.5rem;height:5.5rem;color:var(--project-chora-color);filter:drop-shadow(0 0 10px #b2bbff29)}@media (hover:hover){.skills-strip .tech-list li:hover{color:var(--text);background:var(--chip-hover);border-color:var(--border-strong)}}.tech-list li{border:1px solid var(--border);background:var(--chip);color:var(--text-muted);border-radius:.3rem;padding:.4rem .65rem;font-size:.72rem;line-height:1.4}.project-section{margin-block:var(--spacing-section);scroll-margin-top:2rem}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.section-heading>.eyebrow{color:var(--text);background:var(--surface-strong);border-radius:var(--radius-control);padding:.65rem .9rem}.section-heading>.eyebrow,.section-heading>.project-position{align-items:center;min-height:2.5rem;display:inline-flex}.section-heading .project-position{background:var(--surface-strong);border-radius:var(--radius-control);min-height:2.25rem;color:var(--text);font-family:var(--font-code);letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;padding:.65rem .9rem;font-size:.7rem;display:inline-flex}.project-card{grid-template-columns:minmax(14rem,25%) minmax(0,1fr);min-height:30rem;display:grid;position:relative;overflow:hidden}.project-identity{border-right:1px solid var(--divider);background:linear-gradient(150deg, var(--highlight), transparent);color:var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 2rem;display:flex}.project-logo-frame{flex-shrink:0;place-items:center;width:6rem;height:6rem;display:grid}.project-logo{stroke-width:var(--project-logo-stroke);width:5rem;height:6rem}.project-identity-label{color:var(--project-label-color);font:.6rem var(--font-code);letter-spacing:.15em;text-transform:uppercase;overflow-wrap:anywhere}.project-monogram{font:3rem var(--font-code)}.project-copy{min-width:0;padding:clamp(2rem,4vw,3.5rem) clamp(2rem,4vw,3.5rem) 7rem;position:relative}.project-label{font:.65rem/1.6 var(--font-code);color:var(--text-subtle)}.project-copy h3{font-family:var(--site-font-project);letter-spacing:-.04em;margin-top:.5rem;font-size:clamp(2.2rem,3.5vw,3rem);font-weight:500}.project-description{color:var(--text-muted);max-width:55rem;margin:1.75rem 0;font-size:1rem;line-height:1.85}.project-copy .tech-list li{font-family:var(--font-code);font-size:.65rem}.project-validation{color:var(--text-subtle);margin:1.25rem 0 1.75rem;font-size:.8rem;line-height:1.8}.project-controls{border-radius:var(--radius-control);background:0 0;align-items:center;gap:.75rem;padding:0;display:flex;position:absolute;bottom:2.5rem;right:3rem}.control{min-width:44px;padding:.5rem}.project-controls .control{border-radius:50%;width:3.25rem;min-width:0;height:3.25rem;padding:0;font-size:1.25rem}.project-controls .control:last-child{border-color:var(--accent)}.project-position{font:.7rem var(--font-code);color:var(--text-muted);white-space:nowrap}.contact-section{grid-template-columns:minmax(0,1.6fr) minmax(12rem,1fr);align-items:center;gap:3rem;padding:clamp(1.5rem,5vw,3.5rem);scroll-margin-top:2rem;display:grid}.contact-section h2{letter-spacing:-.045em;margin-top:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.15}.contact-description{max-width:29rem;color:var(--text-muted);margin-top:1.25rem;font-size:.95rem;line-height:1.8}.contact-links{flex-direction:column;display:flex}.contact-links a{border-bottom:1px solid var(--border-strong);min-height:60px;transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:.3rem;justify-content:space-between;align-items:center;padding:.85rem .6rem;font-size:.9rem;display:flex}.contact-links a:hover,.contact-links a:focus-visible{color:var(--text);background:var(--chip-hover)}.contact-label{align-items:center;gap:.9rem;display:inline-flex}.contact-icon{fill:currentColor;flex-shrink:0;width:1.1rem;height:1.1rem}.contact-links a>span[aria-hidden]{color:var(--accent);transition:transform var(--transition-fast)}@media (hover:hover){.contact-links a:hover>span[aria-hidden]{transform:translate(2px,-2px)}}.site-footer{border-radius:var(--radius-control);color:var(--text-muted);background:var(--surface-strong);font:.65rem/1.6 var(--font-code);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:.9rem 1rem;display:flex}.site-footer a{text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.error-shell{place-items:center;min-height:100svh;display:grid}.error-panel{text-align:center;width:min(100%,48rem);padding:clamp(2rem,6vw,4.5rem)}.error-panel .eyebrow{color:var(--accent)}.error-code{font:400 clamp(6rem, 14vw, 10rem)/1 var(--font-code);letter-spacing:-.08em;margin:1.5rem 0}.error-message{font:500 clamp(1.5rem, 3vw, 2.25rem)/1.3 var(--font-display);letter-spacing:-.03em;text-wrap:balance;min-height:2.6em}.error-description{max-width:27rem;color:var(--text-muted);margin:1rem auto 2rem;font-size:.95rem;line-height:1.8}@media (width<=1024px){.hero{min-height:auto;padding-block:3rem}}@media (width<=760px){.skills-strip{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.project-card{grid-template-columns:minmax(0,1fr);min-height:0}.project-copy{min-width:0;padding-bottom:6rem;font-size:clamp(2rem,7vw,2.5rem);position:relative}.project-copy h3{font-size:clamp(2rem,7vw,2.5rem)}.project-description{margin:1.25rem 0;font-size:.925rem;line-height:1.75}.project-copy .tech-list{gap:.4rem}.project-copy .tech-list li{padding:.4rem .55rem;font-size:.6rem}.project-controls{background:0 0;align-items:center;gap:.75rem;padding:0;display:flex;position:absolute;bottom:1.5rem;right:1.5rem}.project-controls .control{width:3rem;height:3rem}.project-controls .control:last-child{border-color:var(--accent)}.project-identity{border-right:none;border-bottom:1px solid var(--divider);flex-direction:row;justify-content:flex-start;gap:1rem;padding:1.25rem 1.5rem}.project-logo-frame{width:3.5rem;height:3.5rem}.project-logo{width:3rem;height:3.5rem}.project-logo.chora-icon{width:3rem;height:3rem}.project-identity-label{letter-spacing:.08em;font-size:.75rem;font-weight:600;line-height:1.5}.project-label{letter-spacing:.02em;font-size:.6875rem;font-weight:600}.contact-section{grid-template-columns:1fr;gap:1.5rem}}@media (width<=480px){.hero{padding:2rem 1.4rem}.hero h1{font-size:clamp(1.85rem,7.4vw,2.15rem)}.hero .eyebrow{margin-bottom:1.5rem}.hero-actions{gap:.6rem}.hero-actions .btn{flex-grow:1}.site-footer{flex-wrap:wrap;align-items:center}.section-heading{flex-wrap:wrap}.error-panel{padding:2rem 1.25rem}.atmosphere img{object-position:66% center}.error-scene img{object-position:58% center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.btn:hover,.contact-links a:hover>span[aria-hidden]{transform:none}}
