html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}.profile-card{--pc-light-x: 50%;--pc-light-y: 50%;--pc-pointer-x: 50%;--pc-pointer-y: 50%;--pc-band-x: 50%;--pc-band-y: 50%;--pc-reach: 0;--pc-rotate-x: 0deg;--pc-rotate-y: 0deg;--pc-shift-x: 0px;--pc-shift-y: 0px;--pc-tilt: 0;--pc-active: 0;position:relative;width:340px;max-width:100%;perspective:1000px;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.profile-card__body{position:relative;display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:calc(var(--pc-radius) + 10px);background:var(--pc-frame);box-shadow:var(--pc-frame-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);transform:rotateX(var(--pc-rotate-x)) rotateY(var(--pc-rotate-y));will-change:transform}.profile-card__tile{position:relative;aspect-ratio:4 / 5;border-radius:var(--pc-radius);background:var(--pc-backdrop);box-shadow:var(--pc-tile-shadow);overflow:hidden;isolation:isolate}.profile-card__sheen,.profile-card__holo,.profile-card__scrim,.profile-card__tile-rim,.profile-card__glare,.profile-card__shade,.profile-card__rim{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.profile-card__sheen{background:radial-gradient(farthest-corner circle at calc(var(--pc-light-x) - 10px) calc(var(--pc-light-y) - 10px),var(--pc-sheen) 0%,transparent 55%);opacity:calc(var(--pc-holo) * var(--pc-active))}.profile-card__holo{--pc-spectrum: repeating-linear-gradient( 0deg, hsl(2, 100%, 73%) 5%, hsl(53, 100%, 69%) 10%, hsl(93, 100%, 69%) 15%, hsl(176, 100%, 76%) 20%, hsl(228, 100%, 74%) 25%, hsl(260, 100%, 76%) 30%, hsl(2, 100%, 73%) 35% );--pc-bars: repeating-linear-gradient( -45deg, #0e152e 0%, hsl(180, 10%, 60%) 3.8%, hsl(180, 29%, 66%) 4.5%, hsl(180, 10%, 60%) 5.2%, #0e152e 10%, #0e152e 12% );--pc-falloff: radial-gradient( farthest-corner circle at var(--pc-pointer-x) var(--pc-pointer-y), hsla(0, 0%, 0%, .1) 12%, hsla(0, 0%, 0%, .15) 20%, hsla(0, 0%, 0%, .25) 120% );background-image:var(--pc-spectrum),var(--pc-bars),var(--pc-falloff);background-position:0 var(--pc-band-y),var(--pc-band-x) var(--pc-band-y),center;background-size:500% 500%,300% 300%,200% 200%;background-blend-mode:color,hard-light;mix-blend-mode:var(--pc-blend);filter:brightness(calc(.66 + .19 * var(--pc-active))) contrast(calc(1.33 + .17 * var(--pc-active))) saturate(calc(.33 + .17 * var(--pc-active))) var(--pc-holo-filter);opacity:calc(var(--pc-holo) * var(--pc-holo-gain) * (.5 + .5 * var(--pc-active)));-webkit-mask-image:var(--pc-pattern);-webkit-mask-size:var(--pc-pattern-size);-webkit-mask-position:calc(50% - var(--pc-shift-x) * 1.5) calc(65% - var(--pc-shift-y) * 1.5);-webkit-mask-repeat:repeat;mask-image:var(--pc-pattern);mask-size:var(--pc-pattern-size);mask-position:calc(50% - var(--pc-shift-x) * 1.5) calc(65% - var(--pc-shift-y) * 1.5);mask-repeat:repeat}.profile-card__holo-glow,.profile-card__holo-shift{position:absolute;inset:0;opacity:calc(var(--pc-active) * var(--pc-holo-detail))}.profile-card__holo-glow{background-image:linear-gradient(45deg,#85fff7,#7a95ff,#ad85ff,#ff7a75,#ffed61,#a8ff61),radial-gradient(circle at var(--pc-pointer-x) var(--pc-pointer-y),hsl(0,0%,70%) 0%,hsla(0,0%,30%,.2) 90%),var(--pc-grain);background-size:250% 250%,100% 100%,220px 220px;background-position:var(--pc-pointer-x) var(--pc-pointer-y),center,0 0;background-blend-mode:color-dodge;filter:brightness(calc(2 - var(--pc-reach))) contrast(calc(var(--pc-reach) + 2)) saturate(calc(.5 + var(--pc-reach)));mix-blend-mode:luminosity}.profile-card__holo-shift{background-image:var(--pc-spectrum),var(--pc-bars),var(--pc-falloff);background-position:0 var(--pc-band-y),calc(var(--pc-band-x) * .4) calc(var(--pc-band-y) * .5),center;background-size:200% 300%,700% 700%,100% 100%;background-blend-mode:color,hard-light;mix-blend-mode:difference;filter:brightness(.8) contrast(1.5)}.profile-card__photo{position:absolute;inset:calc(var(--pc-parallax) * -1);width:calc(100% + var(--pc-parallax) * 2);height:calc(100% + var(--pc-parallax) * 2);object-fit:cover;object-position:center bottom;transform:translate3d(var(--pc-shift-x),var(--pc-shift-y),0);pointer-events:none;user-select:none;-webkit-user-select:none}.profile-card__scrim{background:linear-gradient(to top,#0009,#00000091,#00000080 12%,#0006,#00000047,#00000029,#00000012 40%,#00000005,#0000 52%)}.profile-card__info{position:absolute;left:20px;right:20px;bottom:18px;color:#fff}.profile-card__name{margin:0;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:inherit}.profile-card__title{margin:4px 0 0;font-size:14px;line-height:1.45;color:#ffffffc7}.profile-card__tile-rim{box-shadow:inset 0 0 0 1px var(--pc-tile-edge),inset 0 1px 0 var(--pc-tile-highlight)}.profile-card__footer{display:flex;align-items:center;gap:12px;min-width:0;padding:6px 20px 8px}.profile-card__avatar{position:relative;flex:none;width:36px;height:36px;border-radius:50%;background:var(--pc-tile);overflow:hidden}.profile-card__avatar:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--pc-tile-edge)}.profile-card__avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.profile-card__meta{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.profile-card__handle{overflow:hidden;font-size:14px;font-weight:600;line-height:1.25;color:var(--pc-ink);white-space:nowrap;text-overflow:ellipsis}.profile-card__status{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.25;color:var(--pc-muted);white-space:nowrap}.profile-card__status:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--pc-status)}.profile-card__contact{display:flex;align-items:center;gap:6px;flex:none;height:36px;padding:0 14px;border:none;border-radius:calc(var(--pc-radius) * .75);background:var(--pc-tile);box-shadow:inset 0 0 0 1px var(--pc-tile-edge),inset 0 1px 0 var(--pc-tile-highlight),var(--pc-tile-shadow);color:var(--pc-ink);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .2s ease}.profile-card__contact:active{filter:var(--pc-press);transform:scale(.96);transition-duration:0s}.profile-card__contact:focus-visible{outline:2px solid var(--pc-ink);outline-offset:2px}.profile-card__glare{background:radial-gradient(farthest-corner circle at var(--pc-light-x) var(--pc-light-y),rgba(255,255,255,.8) 0%,rgba(255,255,255,.36) 20%,rgba(255,255,255,0) 60%);mix-blend-mode:overlay;opacity:calc(var(--pc-glare) * var(--pc-active))}.profile-card__shade{background:radial-gradient(farthest-corner circle at var(--pc-light-x) var(--pc-light-y),transparent 30%,var(--pc-shade) 100%);opacity:calc(var(--pc-glare) * var(--pc-tilt))}.profile-card__rim{box-shadow:inset 0 0 0 1px var(--pc-frame-edge),inset 0 1px 0 var(--pc-frame-highlight)}@media(hover:hover){.profile-card__contact:hover{filter:var(--pc-hover)}.profile-card__contact:hover:active{filter:var(--pc-press)}}.logoloop{position:relative;overflow-x:hidden;--logoloop-gap: 32px;--logoloop-logoHeight: 28px;--logoloop-fadeColorAuto: #ffffff}.logoloop--vertical{overflow:hidden;height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}@media(prefers-color-scheme:dark){.logoloop{--logoloop-fadeColorAuto: #0b0b0b}}.logoloop__track{display:flex;width:max-content;will-change:transform;-webkit-user-select:none;user-select:none;position:relative;z-index:0}.logoloop--vertical .logoloop__track{flex-direction:column;height:max-content;width:100%}.logoloop__list{display:flex;align-items:center}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);line-height:1}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{display:inline-flex;align-items:center}.logoloop__item img{height:var(--logoloop-logoHeight);width:auto;display:block;object-fit:contain;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform:scale(1.2);transform-origin:center center}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;border-radius:4px;transition:opacity .2s ease}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.logoloop--fade:before,.logoloop--fade:after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,8%,120px);pointer-events:none;z-index:10}.logoloop--fade:before{left:0;background:linear-gradient(to right,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--fade:after{right:0;background:linear-gradient(to left,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:before,.logoloop--vertical.logoloop--fade:after{left:0;right:0;width:100%;height:clamp(24px,8%,120px)}.logoloop--vertical.logoloop--fade:before{top:0;bottom:auto;background:linear-gradient(to bottom,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:after{bottom:0;top:auto;background:linear-gradient(to top,var(--logoloop-fadeColor, var(--logoloop-fadeColorAuto)) 0%,rgba(0,0,0,0) 100%)}@media(prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--font-sans: "DM Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "Cascadia Code", Consolas, monospace;--bg: #f5f3ee;--bg-raised: #fbfaf7;--bg-sunken: #ebe8e0;--ink: #16171a;--text: #2b2c29;--muted: #5c5e57;--faint: #9a9c93;--line: #dedad0;--line-strong: #c6c2b6;--accent: #e2491d;--accent-text: #b13a12;--accent-soft: #f8e1d5;--success: #24834f;--danger: #b03a26;--button-hover: #34363b;--shadow: 0 1px 2px rgb(22 23 26 / .05), 0 18px 40px -18px rgb(22 23 26 / .18);--band-bg: #e2491d;--band-ink: #1b0d06;--code-bg: #141517;--code-text: #e9e7e0;--salon-bg: #e5e8d7;--salon-ink: #29493b;--salon-paper: #f7f7ef;--salon-muted: #84957b;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--shell: 1200px;--gutter: clamp(16px, 4vw, 40px);--header-h: 72px;--ease: cubic-bezier(.2, .7, .2, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #111211;--bg-raised: #191a18;--bg-sunken: #0b0c0b;--ink: #f4f2eb;--text: #d8d6ce;--muted: #a3a49b;--faint: #6d6e67;--line: #2a2b28;--line-strong: #3d3e3a;--accent: #ff6a3d;--accent-text: #ff8c66;--accent-soft: #3a1c10;--success: #4cc787;--danger: #ff7b66;--button-hover: #d9d7cf;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 18px 40px -18px rgb(0 0 0 / .6);--band-bg: #ff6a3d;--code-bg: #0b0c0b}}:root[data-theme=dark]{color-scheme:dark;--bg: #111211;--bg-raised: #191a18;--bg-sunken: #0b0c0b;--ink: #f4f2eb;--text: #d8d6ce;--muted: #a3a49b;--faint: #6d6e67;--line: #2a2b28;--line-strong: #3d3e3a;--accent: #ff6a3d;--accent-text: #ff8c66;--accent-soft: #3a1c10;--success: #4cc787;--danger: #ff7b66;--button-hover: #d9d7cf;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 18px 40px -18px rgb(0 0 0 / .6);--band-bg: #ff6a3d;--code-bg: #0b0c0b}@media(max-width:900px){:root{--header-h: 64px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .3s var(--ease),color .3s var(--ease)}body.menu-open{overflow:hidden}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3{color:var(--ink);font-weight:560;margin:0;text-wrap:balance}h2{font-size:clamp(2rem,1.35rem + 2.4vw,3.25rem);line-height:1.05;letter-spacing:-.035em}h3{font-size:1.375rem;line-height:1.25;letter-spacing:-.02em}p{margin:0 0 1em;text-wrap:pretty}code{font-family:var(--font-mono);font-size:.85em}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}main:focus{outline:none}.shell{width:min(var(--shell),100% - 2 * var(--gutter));margin-inline:auto}.muted{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.print-only{display:none}.accent-serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--accent);padding-right:.04em}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:"";width:18px;height:1px;background:var(--accent)}.mini-title{margin:0 0 16px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.inline-link{display:inline-flex;align-items:center;gap:4px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.inline-link:hover{color:var(--accent-text);text-decoration-color:currentColor}.arrow-link{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:6px;transition:color .2s,text-decoration-color .2s}.arrow-link svg{transition:transform .25s var(--ease)}.arrow-link:hover{color:var(--accent-text);text-decoration-color:currentColor}.arrow-link:hover svg{transform:translate(3px)}.arrow-link.small{font-size:.875rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--bg);font-size:.9375rem;font-weight:500;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}.button:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover);transform:translateY(-1px)}.button-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.button-ghost:hover:not(:disabled){background:var(--bg-raised);border-color:var(--ink)}.button-small{min-height:38px;padding:0 16px;font-size:.875rem}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ink);transition:background .2s,color .2s}.icon-button:hover:not(:disabled){background:var(--bg-sunken)}.icon-button.is-danger{color:var(--danger)}.text-button{display:inline-flex;align-items:center;gap:8px;padding:6px 0;border:0;background:transparent;font-size:.9375rem;font-weight:500;color:var(--ink)}.text-button:hover:not(:disabled){color:var(--accent-text)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tags li{padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);color:var(--muted);font-size:.8125rem;line-height:1.5}.tags .tag-more{border-style:dashed;background:transparent}.empty{padding:40px 0;color:var(--muted)}.skip-link{position:fixed;top:-80px;left:16px;z-index:100;padding:12px 18px;border-radius:var(--radius);background:var(--ink);color:var(--bg)}.skip-link:focus{top:16px}.pulse{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0}.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--success);animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.6);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.site-header.is-scrolled,.site-header.is-open{border-bottom-color:var(--line)}.site-header.is-open{background:var(--bg)}.header-inner{display:flex;align-items:center;gap:32px;height:var(--header-h)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink)}.brand-mark{display:inline-flex;align-items:baseline;font-size:1.75rem;font-weight:650;letter-spacing:-.08em;line-height:1;color:var(--ink)}.brand-mark i{width:7px;height:7px;margin-left:4px;border-radius:50%;background:var(--accent)}.brand-name{font-size:.9375rem;font-weight:500;letter-spacing:-.01em}.main-nav{display:flex;gap:2px;margin-left:auto}.main-nav a{position:relative;isolation:isolate;padding:7px 13px;border-radius:999px;color:var(--muted);font-size:.9375rem;font-weight:500;transition:color .2s,background .2s}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.header-actions{display:flex;align-items:center;gap:8px}.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.language-switch>*{display:inline-grid;place-items:center;min-width:32px;height:28px;padding:0 8px;border-radius:999px;color:var(--muted);transition:background .2s,color .2s}.language-switch [aria-current]{background:var(--bg-sunken);color:var(--ink)}.language-switch a:hover{color:var(--ink)}.mobile-menu-footer .language-switch{justify-self:start}.header-cta.active{background:var(--accent);border-color:var(--accent);color:var(--band-ink)}.menu-toggle{display:none}.mobile-menu{position:absolute;inset:100% 0 auto;height:calc(100dvh - var(--header-h));z-index:49;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:24px var(--gutter) 32px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);animation:menu-in .3s var(--ease)}.mobile-menu[hidden]{display:none}.mobile-menu nav{flex-shrink:0;display:flex;flex-direction:column}.mobile-menu nav a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.75rem;font-weight:560;letter-spacing:-.03em}.mobile-menu nav a.active{color:var(--accent-text)}.mobile-menu-footer{flex-shrink:0;overflow-wrap:anywhere;display:grid;gap:16px;color:var(--muted)}.social-row{display:flex;flex-wrap:wrap;gap:20px}.social-row a{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}}@media(max-width:900px){.main-nav,.header-cta{display:none}.header-actions{margin-left:auto}.menu-toggle{display:inline-grid}}@media(max-width:520px){.header-language{display:none}}@media(min-width:901px){.mobile-menu{display:none!important}}.page-loading{min-height:60vh}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}.page-header{padding-block:clamp(48px,8vw,104px) clamp(32px,4vw,56px)}.page-title{margin:18px 0 20px;font-size:clamp(2.5rem,1.5rem + 4.4vw,4.75rem);line-height:1;letter-spacing:-.045em;max-width:18ch}.page-lead{max-width:40em;margin:0;font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.6;color:var(--muted)}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px}.section{padding-block:clamp(64px,9vw,128px)}.section-tight{padding-bottom:clamp(64px,9vw,128px)}.band{background:var(--bg-sunken)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.section-heading h2{margin-top:14px}@media(max-width:640px){.section-heading{flex-direction:column;align-items:flex-start}}.status-screen{display:grid;place-content:center;justify-items:center;gap:16px;min-height:100dvh;padding:32px;text-align:center}.status-screen .brand-mark{font-size:3rem}.status-screen h1{font-size:1.75rem}.status-screen p{color:var(--muted)}.site-footer{padding:64px 0 32px;border-top:1px solid var(--line)}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}.footer-brand{display:flex;align-items:flex-start;gap:20px}.footer-brand p{margin:0;color:var(--ink);font-weight:500;line-height:1.5}.footer-brand p span{color:var(--muted);font-weight:400;font-size:.9375rem}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(140px,auto));gap:48px}.footer-nav h2{margin:0 0 14px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.footer-nav ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.footer-nav a{display:inline-flex;align-items:center;gap:4px;color:var(--text);font-size:.9375rem;transition:color .2s}.footer-nav a:hover{color:var(--accent-text)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.footer-bottom a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:4px}.footer-bottom .editor-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.perf-card{position:relative;margin:0;border-radius:var(--radius-lg);background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono);font-size:.8125rem;box-shadow:0 30px 80px -30px #e2491d73,var(--shadow);overflow:hidden}.perf-top{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid rgb(255 255 255 / .08);color:#ffffff80;font-size:.75rem}.perf-dots{display:flex;gap:6px}.perf-dots i{width:10px;height:10px;border-radius:50%;background:#ffffff29}.perf-body{padding:24px 22px 26px}.perf-request{margin:0 0 6px;color:#ffffffbf}.perf-request span{margin-right:6px;color:#ff8a5f;font-weight:700}.perf-row{display:grid;grid-template-columns:74px 1fr 56px;align-items:center;gap:14px;margin-top:18px}.perf-label{color:#ffffff8c}.perf-bar{height:10px;border-radius:999px;background:#ffffff12;overflow:hidden}.perf-bar i{display:block;height:100%;border-radius:inherit;transform-origin:left;animation:bar-grow 1.6s var(--ease) both}.is-before .perf-bar i{width:100%;background:linear-gradient(90deg,#7d311b,#ff6a3d)}.is-after .perf-bar i{width:4%;min-width:8px;background:#3ccf8e;animation-duration:.5s;animation-delay:1.3s}.perf-value{text-align:right;font-weight:700}.is-before .perf-value{color:#ff9a75}.is-after .perf-value{color:#5be3a5}.perf-steps{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0 0;padding:0;list-style:none}.perf-steps li{padding:3px 10px;border:1px solid rgb(255 255 255 / .12);border-radius:999px;color:#ffffffb8;font-size:.75rem}.perf-card figcaption{padding:14px 22px;border-top:1px solid rgb(255 255 255 / .08);color:#ffffff80;font-size:.75rem}@keyframes bar-grow{0%{transform:scaleX(0)}}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}@media(max-width:760px){.project-grid{grid-template-columns:1fr;gap:40px}}.project-card-link{position:relative;display:block;color:inherit}.project-visual{position:relative;aspect-ratio:16 / 10;overflow:hidden;border-radius:var(--radius-lg);isolation:isolate}.project-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.project-visual>.art{transition:transform .6s var(--ease)}.project-card-link:hover .project-visual>*{transform:scale(1.025)}.project-card-index{position:absolute;top:16px;left:18px;z-index:1;padding:2px 8px;border-radius:999px;background:#ffffffd9;color:#16171a;font-family:var(--font-mono);font-size:.75rem}.project-card-open{position:absolute;top:12px;right:12px;z-index:1;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--bg-raised);color:var(--ink);transition:transform .35s var(--ease),background .2s}.project-card-link:hover .project-card-open{transform:rotate(45deg);background:var(--accent);color:var(--band-ink)}.project-card-body{padding:20px 2px 0}.project-card-meta{display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 8px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project-card-meta span+span:before{content:"·";margin:0 8px;color:var(--faint)}.project-card h3{font-size:clamp(1.375rem,1.2rem + .6vw,1.625rem);letter-spacing:-.03em;transition:color .2s}.project-card-link:hover h3{color:var(--accent-text)}.project-card-description{margin:8px 0 16px;color:var(--muted);max-width:38em}.project-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card-signals{display:flex;gap:10px;color:var(--muted);flex-shrink:0}.tone-orange{background:#e65a32;color:#3b1609}.tone-ink{background:#263029;color:#efe8d8}.tone-wave{background:#1b2232;color:#dfe6f3}.tone-ledger{background:#eee5d2;color:#2f2a20}.tone-grid{background:#d6e3d9;color:#1f3326}.tone-blue{background:#a5bfd2;color:#203a57}.tone-erp{background:#1f2b33;color:#dfe9ec}.tone-xml{background:#efe8dc;color:#2b2620}.art-erp .art-caption,.art-xml .art-caption{top:20px;bottom:auto;left:62px}.erp-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:78%;margin-top:-4%}.erp-board div{display:grid;gap:6px;padding:10px 12px 12px;border:1px solid rgb(223 233 236 / .14);border-radius:8px;background:#ffffff0a}.erp-board div.is-active{border-color:#ff7a4d;background:#ff7a4d1f}.erp-board b{font-family:var(--font-mono);font-size:clamp(.5625rem,1.9cqi,.75rem);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-board i{display:block;height:4px;border-radius:999px;background:#dfe9ec47}.erp-board .is-active i:first-of-type{background:#ff7a4d}.erp-query{position:absolute;left:20px;right:20px;bottom:18px;margin:0;font-family:var(--font-mono);font-size:clamp(.625rem,2.1cqi,.75rem);color:#dfe9ecb3}.erp-query span{color:#8fc1ff}.erp-query em{float:right;font-style:normal;color:#5be3a5}.art-xml{grid-template-columns:auto auto;place-content:center;gap:clamp(14px,5cqi,36px)}.xml-queue{display:grid;gap:8px;font-family:var(--font-mono);font-size:clamp(.625rem,2.1cqi,.8125rem)}.xml-queue p{display:flex;align-items:center;gap:8px;margin:0;padding:6px 10px;border:1px solid rgb(43 38 32 / .16);border-radius:6px;background:#fff9}.xml-queue i{width:8px;height:8px;border-radius:50%}.xml-queue .is-done{background:#24834f}.xml-queue .is-running{background:#e2491d;box-shadow:0 0 0 3px #e2491d33}.xml-code{margin:0;padding:14px 18px;border-radius:10px;background:#1d1b18;color:#e9e3d8;font-family:var(--font-mono);font-size:clamp(.5625rem,2cqi,.78rem);line-height:1.6;box-shadow:0 18px 40px -20px #2b262099}.xml-code .tag{color:#ff8a5f}.xml-code .attr{color:#8fc1ff}.xml-code .value{color:#b5e6a2}.art{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;container-type:inline-size}.art-caption{position:absolute;left:20px;bottom:18px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.art-orange strong{position:relative;z-index:1;font-size:clamp(5rem,26cqi,13rem);font-weight:560;letter-spacing:-.08em;line-height:1}.art-orange strong span{font-family:var(--font-serif);font-style:italic;font-weight:400}.orange-grid{position:absolute;inset:14%;transform:rotate(-12deg);border:1px solid rgb(59 22 9 / .18);background:repeating-linear-gradient(90deg,transparent 0 47px,rgb(59 22 9 / .14) 48px 49px),repeating-linear-gradient(0deg,transparent 0 47px,rgb(59 22 9 / .14) 48px 49px)}.art-ink{align-content:center;gap:0}.ink-title{font-size:clamp(1.75rem,8cqi,3rem);font-weight:300;letter-spacing:.32em;margin-right:-.32em}.ink-subtitle{margin-top:8px;font-size:clamp(.625rem,2.4cqi,.875rem);letter-spacing:.6em;margin-right:-.6em}.ink-line{width:40px;height:1px;margin:22px auto 14px;background:#a39b80}.art-ink small{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.24em;color:#aea995}.art-ink b{position:absolute;right:-2%;bottom:-32%;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(12rem,60cqi,26rem);line-height:1;opacity:.06}.art-wave .art-caption,.art-ledger .art-caption,.art-grid .art-caption{top:20px;bottom:auto;left:62px}.wave-bars{display:flex;align-items:center;gap:3px;width:80%;height:40%;margin-top:-6%}.wave-bars i{flex:1;border-radius:3px}.wave-bars .speaker-a,.wave-lines b.speaker-a{background:#ff7a4d}.wave-bars .speaker-b,.wave-lines b.speaker-b{background:#8fb3ff}.wave-lines{position:absolute;left:20px;right:20px;bottom:16px;font-family:var(--font-mono);font-size:clamp(.625rem,2.2cqi,.75rem)}.wave-lines p{margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dfe6f3c7}.wave-lines span{opacity:.55}.wave-lines b{margin:0 6px;padding:0 6px;border-radius:4px;color:#10141e;font-weight:600}.ledger-sheet{width:min(70%,320px);padding:18px 22px;border:1px solid #d8ccb2;border-radius:10px;background:#fffdf7;font-family:var(--font-mono);font-size:clamp(.6875rem,2.6cqi,.875rem);box-shadow:0 18px 40px -20px #2f2a2073;transform:rotate(-2deg)}.ledger-sheet p{display:flex;justify-content:space-between;margin:6px 0}.ledger-sheet span{color:#8b8170}.ledger-total{padding-bottom:8px;border-bottom:1px solid #e3d9c4;font-family:var(--font-sans);font-size:1.4em;font-weight:600;justify-content:center!important}.ledger-check{padding-top:8px;border-top:1px dashed #cdbf9f;color:#24834f;font-weight:700}.doc-stack{position:relative;width:44%;aspect-ratio:4 / 3;margin-top:-8%}.doc-stack i{position:absolute;width:56%;aspect-ratio:3 / 4;border:1px solid rgb(31 51 38 / .15);border-radius:8px;background:repeating-linear-gradient(180deg,transparent 0 10px,rgb(31 51 38 / .12) 10px 12px) 14% 38% / 72% 50% no-repeat,#fff;box-shadow:0 14px 30px -16px #1f332680}.doc-stack i:before{content:attr(data-type);position:absolute;top:10%;left:12%;padding:1px 6px;border-radius:4px;background:#1f3326;color:#e8f1ea;font-family:var(--font-mono);font-size:.5625rem;font-style:normal}.doc-stack i:nth-child(1){left:0;top:10%;transform:rotate(-8deg)}.doc-stack i:nth-child(2){left:22%;top:0;transform:rotate(2deg)}.doc-stack i:nth-child(3){left:44%;top:12%;transform:rotate(9deg)}.doc-answer{position:absolute;left:20px;right:20px;bottom:18px;margin:0;padding:10px 14px;border-radius:12px;background:#1f3326;color:#e8f1ea;font-size:clamp(.6875rem,2.4cqi,.8125rem)}.doc-answer b{margin-right:8px;padding:1px 6px;border-radius:4px;background:#7ee2a8;color:#10291a;font-family:var(--font-mono);font-size:.6875rem}.art-blue{display:flex;justify-content:center;align-items:center;gap:4px}.art-blue i{width:14%;height:46%;border-radius:60px;background:#21486a;transform:rotate(30deg)}.art-blue i:nth-child(2){height:64%;background:#e3e9e9}.sculpture{width:100%;height:auto;animation:float 8s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}.contact-band{padding-block:clamp(56px,8vw,104px);background:var(--band-bg);color:var(--band-ink)}.contact-band-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px 48px}.contact-band h2{margin-top:14px;max-width:14ch;color:var(--band-ink);font-size:clamp(2.25rem,1.4rem + 3.6vw,4.25rem);letter-spacing:-.045em}.contact-band .accent-serif{color:#fff7f1}.contact-band .eyebrow{color:#1b0d06b8}.contact-band .eyebrow:before{background:var(--band-ink)}.contact-band-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.button-light{background:#16171a;border-color:#16171a;color:#fff}.button-light:hover:not(:disabled){background:#34363b;border-color:#34363b}.button-outline-dark{background:transparent;border-color:#1b0d0666;color:var(--band-ink)}.button-outline-dark:hover:not(:disabled){background:#ffffff2e;border-color:var(--band-ink)}.contact-band .arrow-link{color:var(--band-ink);text-decoration-color:#1b0d0666}.social-links{display:flex;gap:2px;margin:0 0 0 4px;padding:0;list-style:none}.social-links a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--muted);transition:color .2s,background .2s}.social-links a:hover{color:var(--ink);background:var(--bg-sunken)}.language-track{display:flex;gap:2px;height:12px;overflow:hidden;border-radius:999px;background:var(--bg-sunken)}.language-track span{min-width:3px}.language-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;padding:0;list-style:none}.language-legend li{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text)}.language-legend i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px var(--line-strong)}.language-legend span{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.commit-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.commit-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.commit-icon{margin-top:3px;color:var(--accent)}.commit-message{color:var(--ink);font-weight:500;overflow-wrap:anywhere}.commit-message:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}.commit-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0 0;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.commit-meta code{padding:0 6px;border-radius:4px;background:var(--bg-sunken);font-size:1em}.skeleton-block{height:180px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--bg-sunken),var(--bg-raised),var(--bg-sunken)) 0 0 / 200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-block.tall{height:380px}@keyframes shimmer{to{background-position:-200% 0}}.notice{padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised)}.notice p{margin:0}.check-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.check-list li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.check-list svg{flex-shrink:0;margin-top:5px;color:var(--accent)}.role-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.role-list li,.education-list li{display:grid;gap:2px;padding:22px 0;border-bottom:1px solid var(--line)}.role-list strong,.education-list strong{color:var(--ink);font-size:1.25rem;font-weight:560;letter-spacing:-.02em}.role-list span:last-child,.education-list span:last-child{color:var(--muted)}.role-period{font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:.6875rem;color:var(--muted)}.prose{max-width:68ch}.prose p{line-height:1.75}.prose .mini-title:not(:first-child){margin-top:48px}.prose-large p{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.8}.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-block:24px clamp(64px,8vw,104px);border-top:1px solid var(--line)}.pager a{display:flex;flex-direction:column;gap:6px;padding:16px 0;color:var(--ink);font-size:clamp(1.0625rem,1rem + .5vw,1.375rem);font-weight:560;letter-spacing:-.02em;transition:color .2s}.pager a:hover{color:var(--accent-text)}.pager a span{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pager .pager-next{align-items:flex-end;text-align:right}.breadcrumb{margin-bottom:28px}.breadcrumb a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9375rem;transition:color .2s}.breadcrumb a:hover{color:var(--ink)}.tone-salon{background:var(--salon-bg);color:var(--salon-ink)}.art-salon{grid-template-columns:1fr 1fr;gap:7%;padding:12% 10% 10%}.art-salon .art-caption{top:20px;bottom:auto;left:62px}.salon-mark{position:relative;width:100%;text-align:center}.salon-mark strong{position:relative;font-family:var(--font-serif);font-size:clamp(4rem,29cqi,12rem);font-weight:400;line-height:1}.salon-mark strong span{color:var(--salon-muted)}.salon-leaf{position:absolute;width:75%;top:-25%;left:-12%;fill:none;stroke:var(--salon-muted);stroke-width:1.2}.salon-planner{width:100%;padding:12%;background:var(--salon-paper);border:1px solid var(--salon-muted);border-radius:12px;transform:rotate(-5deg)}.salon-address{display:flex;align-items:center;gap:6px;margin-bottom:10%;padding:4px 8px;border:1px solid var(--salon-muted);border-radius:999px;font-family:var(--font-mono);font-size:clamp(.4rem,2.6cqi,.7rem);line-height:1.4;color:var(--salon-ink);white-space:nowrap;overflow:hidden}.salon-address i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--salon-ink)}.salon-address span{overflow:hidden;text-overflow:ellipsis}.salon-planner-heading{display:flex;gap:5px;margin-bottom:14%}.salon-planner-heading i{height:3px;width:16%;background:var(--salon-muted)}.salon-planner-heading i:first-child{width:45%;background:var(--salon-ink);margin-right:auto}.salon-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.salon-calendar i{aspect-ratio:1;border:1px solid var(--salon-bg);border-radius:2px}.salon-calendar .is-booked{background:var(--salon-ink);border-color:var(--salon-ink)}.salon-appointment{display:flex;align-items:center;gap:7%;margin-top:12%}.salon-appointment i{width:12%;aspect-ratio:1;border-radius:50%;background:var(--salon-muted)}.salon-appointment span{width:42%;height:3px;background:var(--salon-muted)}.salon-appointment b{width:20%;height:3px;margin-left:auto;background:var(--salon-ink)}.project-case-section{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.project-case-section h2{margin:0 0 16px;font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem);line-height:1.3;letter-spacing:-.025em}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(40px,6vw,88px);padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,96px)}.hero-meta{margin:30px 0 0;color:var(--muted);font-size:.9375rem}.hero-meta span{margin-right:10px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.hero-title{margin:18px 0 24px;font-size:clamp(2.75rem,1.4rem + 5.4vw,5.75rem);line-height:.98;letter-spacing:-.05em}.hero-title .accent-serif{display:inline-block;letter-spacing:-.025em}.hero-lead{max-width:34em;margin:0;font-size:clamp(1.0625rem,1rem + .35vw,1.1875rem);color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px}.hero-visual{position:relative}@media(max-width:960px){.hero{grid-template-columns:1fr}.hero-visual{width:100%;max-width:520px}}.portrait-plate{position:relative;margin:0}.portrait-frame{position:relative;padding:46px clamp(20px,4vw,40px) 42px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 28% 18%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 58%),var(--bg-raised);box-shadow:var(--shadow)}.portrait-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 24px 24px;opacity:.55;mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 25%,transparent 72%);pointer-events:none}.dot-canvas{position:relative;z-index:1}.dot-canvas canvas{display:block;width:100%;cursor:crosshair;touch-action:pan-y}.hud{position:absolute;z-index:2;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.hud-top-left{top:15px;left:20px}.hud-top-right{top:15px;right:20px}.hud-bottom-left{bottom:14px;left:20px}.hud-bottom-right{bottom:14px;right:20px}.hud-hint{display:none;margin-right:10px;color:var(--accent-text)}@media(hover:hover){.hud-hint{display:inline}}@media(max-width:560px){.hud{font-size:.625rem}.hud-top-right,.hud-hint{display:none}}.corner{position:absolute;z-index:2;width:14px;height:14px;border:0 solid var(--accent)}.corner-tl{top:36px;left:12px;border-width:1px 0 0 1px}.corner-tr{top:36px;right:12px;border-width:1px 1px 0 0}.corner-bl{bottom:34px;left:12px;border-width:0 0 1px 1px}.corner-br{bottom:34px;right:12px;border-width:0 1px 1px 0}.portrait-tags{margin:0;padding:0;list-style:none}.portrait-tags li{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg);color:var(--ink);font-family:var(--font-mono);font-size:.75rem;box-shadow:var(--shadow);animation:chip-float 7s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -1.7s)}.portrait-tags li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.portrait-tags li:nth-child(1){top:18%;left:-22px}.portrait-tags li:nth-child(2){top:40%;right:-26px}.portrait-tags li:nth-child(3){bottom:30%;left:-30px}.portrait-tags li:nth-child(4){bottom:13%;right:-18px}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.portrait-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:14px;font-size:.875rem;color:var(--muted)}.portrait-caption strong{color:var(--ink);font-weight:560}@media(max-width:1180px){.portrait-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.portrait-tags li{position:static;animation:none;box-shadow:none}}.expertise{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,88px);align-items:start}.expertise-case{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:24px}.expertise-case p{margin:0}.expertise-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.expertise-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:26px 0;border-bottom:1px solid var(--line)}.expertise-index{padding-top:4px;font-family:var(--font-mono);font-size:.8125rem;color:var(--accent-text)}.expertise-list h3{font-size:1.3125rem}.expertise-list p{margin:6px 0 0;color:var(--muted)}.section-flush-top{padding-top:0}@media(max-width:900px){.expertise{grid-template-columns:1fr}.expertise-case{position:static}}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}.split .section-heading{margin-bottom:24px}.split-lead{max-width:34em;margin-bottom:28px}@media(max-width:860px){.split{grid-template-columns:1fr}}.stack-strip{display:grid;gap:16px;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--line)}.github-teaser{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}@media(max-width:860px){.github-teaser{grid-template-columns:1fr}}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.filters button{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--muted);font-size:.9375rem;font-weight:500;transition:background .2s,color .2s,border-color .2s}.filters button:hover{border-color:var(--ink);color:var(--ink)}.filters button.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.filters span{font-family:var(--font-mono);font-size:.75rem;opacity:.7}.project-header{padding-block:clamp(32px,5vw,64px) 40px}.project-header .page-title{max-width:20ch;overflow-wrap:anywhere}.project-hero .project-visual{aspect-ratio:21 / 9}.project-hero .art-caption{left:24px}@media(max-width:760px){.project-hero .project-visual{aspect-ratio:4 / 3}}.project-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,6vw,96px);padding-block:clamp(48px,6vw,80px)}.fact-sheet{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;padding:8px 24px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised)}.fact-sheet dl{margin:0}.fact-sheet dl div{padding:14px 0;border-bottom:1px solid var(--line)}.fact-sheet dt,.fact-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fact-sheet dd{margin:4px 0 0;color:var(--ink);font-weight:500}.fact-label{margin:20px 0 10px}@media(max-width:860px){.project-body{grid-template-columns:1fr}.fact-sheet{position:static}}.cv-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-block:48px clamp(64px,9vw,128px);border-top:1px solid var(--line)}.cv-aside{position:sticky;top:calc(var(--header-h) + 24px);align-self:start}.cv-facts{margin:0}.cv-facts div{padding:14px 0;border-bottom:1px solid var(--line)}.cv-facts div:first-child{padding-top:0}.cv-facts dt{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cv-facts dd{margin:4px 0 0;color:var(--ink);overflow-wrap:anywhere}.cv-aside-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:20px}.cv-section+.cv-section{margin-top:clamp(56px,7vw,88px)}.cv-heading{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);letter-spacing:-.03em}.cv-heading svg{color:var(--accent)}.timeline{margin:0;padding:0;list-style:none}.timeline-item{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;padding:32px 0;border-top:1px solid var(--line)}.timeline-when{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:.8125rem;color:var(--ink)}.timeline-when small{color:var(--muted);font-size:.75rem}.timeline-what h3{font-size:1.375rem}.timeline-company{margin:6px 0 14px;color:var(--muted)}.timeline-company a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-strong)}.timeline-summary{color:var(--ink);font-weight:500}.timeline-highlights{margin:0 0 20px;padding:0;list-style:none}.timeline-highlights li{position:relative;margin:10px 0;padding-left:22px;line-height:1.65}.timeline-highlights li:before{content:"";position:absolute;left:4px;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.skill-grid article{padding:24px 24px 24px 0;border-bottom:1px solid var(--line)}.skill-grid article:nth-child(2n){padding:24px 0 24px 24px;border-left:1px solid var(--line)}.skill-grid h3{font-size:1.125rem}.skill-grid p{margin:6px 0 14px;color:var(--muted);font-size:.9375rem}.education-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}@media(max-width:860px){.cv-layout{grid-template-columns:1fr}.cv-aside{position:static}.timeline-item{grid-template-columns:1fr;gap:12px}.skill-grid{grid-template-columns:1fr}.skill-grid article,.skill-grid article:nth-child(2n){padding:22px 0;border-left:0}}.github-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;padding-bottom:56px}.github-profile{padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised)}.github-identity{display:flex;align-items:center;gap:16px;margin-bottom:16px}.github-identity img{width:64px;height:64px;border-radius:50%;background:var(--bg-sunken)}.github-identity strong{display:block;color:var(--ink);font-size:1.125rem;font-weight:560}.github-identity a{font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}.github-identity a:hover{color:var(--accent-text)}.github-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 28px}.github-stats div{padding:14px;border-radius:var(--radius);background:var(--bg-sunken)}.github-stats dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.github-stats dd{margin:4px 0 0;color:var(--ink);font-size:1.25rem;font-weight:560;letter-spacing:-.02em}.repo-title{margin-top:8px}.repo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.repo-card{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);transition:border-color .2s,transform .2s var(--ease)}.repo-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.repo-card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.repo-name{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:1.0625rem;font-weight:600;overflow-wrap:anywhere}.repo-name:hover{color:var(--accent-text)}.repo-description{flex:1;margin:0;color:var(--muted);font-size:.9375rem}.repo-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.repo-meta span{display:inline-flex;align-items:center;gap:6px}.repo-meta i{width:10px;height:10px;border-radius:50%}.footnote{margin-top:32px;font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}@media(max-width:1060px){.repo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.github-layout{grid-template-columns:1fr}}@media(max-width:600px){.repo-grid{grid-template-columns:1fr}}.about-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:center;padding-bottom:clamp(64px,9vw,128px)}.about-visual .portrait{aspect-ratio:4 / 5;border-radius:var(--radius-lg)}.portrait{width:100%;height:100%;object-fit:cover}.about-lead{margin:0 0 24px;color:var(--ink);font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:500;line-height:1.45;letter-spacing:-.02em}.about-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line)}.about-facts dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.about-facts dd{margin:6px 0 0;color:var(--ink);font-weight:500;line-height:1.4}.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;margin:48px 0 0;padding:0;list-style:none}.principles li{padding-top:24px;border-top:1px solid var(--line-strong)}.principles svg{color:var(--accent)}.principles h3{margin:20px 0 8px;font-size:1.125rem}.principles p{margin:0;color:var(--muted);font-size:.9375rem}.personal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,4vw,48px)}.personal h2{margin:14px 0 24px}.personal-icons{display:flex;flex-direction:column;gap:14px;padding-top:4px;color:var(--accent)}@media(max-width:960px){.principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}}@media(max-width:760px){.about-layout{grid-template-columns:1fr}.about-visual{max-width:420px}.about-facts,.principles,.personal{grid-template-columns:1fr}.personal-icons{flex-direction:row}}.journal-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.journal-row{display:grid;grid-template-columns:140px minmax(0,1fr) 28px;gap:32px;padding:32px 0;border-bottom:1px solid var(--line);color:inherit}.journal-row time{padding-top:2px;font-family:var(--font-mono);font-size:.8125rem;color:var(--muted)}.journal-row h2{margin:10px 0 8px;font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);letter-spacing:-.03em;transition:color .2s}.journal-excerpt{display:-webkit-box;margin:0;max-width:62ch;overflow:hidden;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical}.journal-row>svg{color:var(--muted);transition:transform .3s var(--ease),color .2s}.journal-row:hover h2{color:var(--accent-text)}.journal-row:hover>svg{color:var(--accent);transform:rotate(45deg)}@media(max-width:700px){.journal-row{grid-template-columns:minmax(0,1fr) 24px;gap:8px 16px}.journal-row time{grid-column:1 / -1}.journal-row>div{grid-row:2}.journal-row>svg{grid-row:2;grid-column:2}}.entry{max-width:760px;padding-block:clamp(32px,5vw,64px) clamp(40px,5vw,64px)}.entry header{margin-bottom:40px}.entry .page-title{font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem)}.email-block{padding-bottom:56px;border-bottom:1px solid var(--line)}.email-big{display:block;margin:14px 0 28px;color:var(--ink);font-size:clamp(1.625rem,.8rem + 4.2vw,4.25rem);font-weight:560;letter-spacing:-.045em;line-height:1.05;overflow-wrap:anywhere;transition:color .2s}.email-big:hover{color:var(--accent-text)}.email-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:48px 0 0;padding:0;list-style:none}.contact-cards li>*{position:relative;display:grid;align-content:start;gap:8px;min-height:176px;height:100%;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised)}.contact-cards a{transition:border-color .2s,transform .2s var(--ease)}.contact-cards a:hover{border-color:var(--line-strong);transform:translateY(-2px)}.contact-cards svg:first-child{margin-bottom:12px;color:var(--accent)}.contact-cards strong{color:var(--ink);font-size:1.25rem;font-weight:560}.contact-cards span{color:var(--muted)}.card-arrow{position:absolute;top:24px;right:24px;color:var(--muted)}@media(max-width:860px){.contact-cards{grid-template-columns:1fr}.contact-cards li>*{min-height:0}}.not-found{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:48px;padding-block:clamp(48px,8vw,104px)}.not-found .sculpture{max-width:420px}@media(max-width:760px){.not-found{grid-template-columns:1fr}.not-found .sculpture{max-width:260px}}.project-card-meta .is-company{color:var(--accent-text)}.context-note{display:flex;gap:12px;margin:0 0 40px;padding:18px 20px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-raised)}.context-note svg{flex-shrink:0;margin-top:4px;color:var(--accent)}.context-note p{margin:0;font-size:.9375rem}.timeline-projects{margin-top:22px}.timeline-projects ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.timeline-projects a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);transition:border-color .2s,transform .2s var(--ease)}.timeline-projects a:hover{border-color:var(--accent);transform:translate(3px)}.timeline-projects span{color:var(--ink);font-weight:560}.timeline-projects small{grid-column:1;color:var(--muted);font-size:.875rem}.timeline-projects svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--accent)}.observatory{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:clamp(16px,3vw,40px);padding:clamp(20px,3vw,40px);overflow:hidden;border-radius:28px;background:radial-gradient(circle at 30% 45%,rgb(255 106 61 / .12),transparent 55%),radial-gradient(1px 1px at 12% 18%,rgb(255 255 255 / .5),transparent),radial-gradient(1px 1px at 78% 12%,rgb(255 255 255 / .35),transparent),radial-gradient(1px 1px at 64% 82%,rgb(255 255 255 / .4),transparent),radial-gradient(1px 1px at 22% 88%,rgb(255 255 255 / .3),transparent),radial-gradient(1px 1px at 92% 58%,rgb(255 255 255 / .45),transparent),radial-gradient(1.5px 1.5px at 44% 8%,rgb(255 255 255 / .4),transparent),#0c0d0f;color:#e9e7e0;box-shadow:0 40px 100px -40px #e2491d73,var(--shadow);isolation:isolate}.observatory:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgb(255 255 255 / .035) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,rgb(255 255 255 / .035) 1px,transparent 1px) 0 0 / 40px 40px;mask-image:radial-gradient(ellipse at 35% 50%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 35% 50%,#000 20%,transparent 75%)}.observatory-globe{display:grid;justify-items:center;gap:8px}.globe{position:relative;display:grid;place-items:center;width:100%}.globe canvas{display:block;cursor:grab;touch-action:pan-y;border-radius:50%}.globe canvas:active{cursor:grabbing}.globe canvas:focus-visible{outline:2px solid #ff6a3d;outline-offset:6px}.globe-tooltip{position:absolute;z-index:2;display:grid;gap:2px;padding:8px 12px;border:1px solid rgb(255 106 61 / .5);border-radius:10px;background:#0c0d0feb;color:#fff;font-size:.8125rem;white-space:nowrap;pointer-events:none;transform:translate(-50%,-100%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:tooltip-in .18s ease-out}.globe-tooltip span{font-family:var(--font-mono);font-size:.6875rem;color:#e9e7e0b3}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 6px))}}.observatory-hint{margin:0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:#e9e7e073}@media(hover:none){.hint-pointer{display:none}}.observatory-panel{display:grid;gap:22px}.live-pill{display:inline-flex;align-items:center;justify-self:start;gap:10px;margin:0;padding:7px 14px 7px 12px;border:1px solid rgb(91 227 165 / .35);border-radius:999px;background:#5be3a514;color:#c9f5df;font-size:.875rem}.live-pill .pulse,.footer-live .pulse{background:#3ccf8e}.live-pill .pulse:after{border-color:#3ccf8e}.observatory-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;overflow:hidden;border:1px solid rgb(255 255 255 / .08);border-radius:16px;background:#ffffff14}.observatory-stats div{display:flex;flex-direction:column-reverse;gap:2px;padding:16px 18px;background:#121316}.observatory-stats dt{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:#e9e7e08c}.observatory-stats dd{margin:0;color:#fff;font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);font-weight:560;letter-spacing:-.04em;line-height:1.1}.spark{display:flex;align-items:flex-end;gap:3px;height:64px}.spark span{flex:1;min-height:3px;height:var(--h);border-radius:3px 3px 1px 1px;background:linear-gradient(to top,#8a3b23,#ff6a3d);transform-origin:bottom;animation:spark-grow .9s var(--ease-out-expo, ease-out) both;animation-delay:calc(var(--i) * 18ms)}.spark span:last-child{background:linear-gradient(to top,#ff6a3d,#ffc4aa)}@keyframes spark-grow{0%{transform:scaleY(0)}}.spark-caption{display:flex;justify-content:space-between;margin:-12px 0 0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:#e9e7e073}.visits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,64px)}.rank-list,.recent-list,.plain-rank{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.rank-list button,.recent-list button{display:grid;align-items:center;width:100%;padding:11px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;transition:background .2s,padding .25s var(--ease-out-expo, ease-out)}.rank-list button:hover,.recent-list button:hover:not(:disabled){padding-left:10px;background:var(--bg-raised)}.recent-list button:disabled{cursor:default;opacity:1}.rank-list button{grid-template-columns:auto minmax(0,1fr) 72px auto;gap:12px}.recent-list button{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.country-code{display:inline-grid;place-items:center;min-width:34px;padding:2px 6px;border:1px solid var(--line-strong);border-radius:6px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--ink)}.rank-name{overflow:hidden;color:var(--ink);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.rank-bar{height:6px;overflow:hidden;border-radius:999px;background:var(--bg-sunken)}.rank-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.rank-count,.plain-rank b{font-family:var(--font-mono);font-size:.8125rem;font-weight:500;color:var(--muted)}.recent-place{display:grid;min-width:0}.recent-place strong{overflow:hidden;color:var(--ink);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.recent-place span{overflow:hidden;color:var(--muted);font-size:.875rem;text-overflow:ellipsis;white-space:nowrap}.recent-list time{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);white-space:nowrap}.plain-rank li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.plain-rank span{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.mini-title.spaced{margin-top:36px}.footer-live{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important}@media(max-width:1000px){.observatory,.visits-grid{grid-template-columns:1fr}}@media(max-width:1100px){.main-nav a{padding:7px 9px;font-size:.875rem}}@media(prefers-reduced-motion:reduce){.spark span,.globe-tooltip{animation:none}}.error-screen{position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr;min-height:100dvh;overflow:hidden;background:var(--bg)}.error-screen.is-embedded{grid-template-rows:1fr;min-height:min(82vh,820px)}.error-backdrop{position:absolute;inset:0;z-index:-2}.error-screen:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 62% 58% at 50% 54%,var(--bg) 30%,color-mix(in srgb,var(--bg) 70%,transparent) 58%,transparent 82%)}.error-bar{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);position:relative}.error-card{align-self:center;justify-self:center;display:grid;justify-items:center;gap:18px;width:min(720px,100% - 2 * var(--gutter));padding:48px 0 72px;text-align:center}.error-eyebrow{justify-content:center}.error-eyebrow code{font:inherit;color:var(--accent-text);text-transform:none;letter-spacing:.02em}.error-label{margin:0;font-weight:700;font-size:clamp(5.5rem,22vw,15rem);line-height:.82;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.error-label span{display:inline-block;padding:0 .04em .06em;background:linear-gradient(180deg,var(--ink) 35%,color-mix(in srgb,var(--ink) 35%,var(--accent)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.error-title{max-width:20ch;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.12;text-wrap:balance}.error-text{max-width:54ch;color:var(--muted);font-size:1.05rem;line-height:1.6;text-wrap:pretty}.error-reference{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:5px 5px 5px 16px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg-raised) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:.78rem}.error-reference span{color:var(--muted);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}.error-reference code{min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:6px}@media(max-width:560px){.error-card{padding:32px 0 56px}.error-actions .button{flex:1 1 100%;justify-content:center}}.glyph-field{display:block;width:100%;height:100%}.legal-tabs{display:flex;flex-wrap:wrap;gap:8px}.legal-tabs a{padding:8px 16px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.92rem;text-decoration:none;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}.legal-tabs a:hover{color:var(--ink);border-color:var(--line-strong)}.legal-tabs a[aria-current=page]{color:var(--bg);background:var(--ink);border-color:var(--ink)}.legal-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-bottom:clamp(64px,10vw,128px)}.legal-toc{position:sticky;top:calc(var(--header-h) + 24px);align-self:start}.legal-toc ol{display:grid;gap:2px;margin:16px 0 28px;padding:0;list-style:none;border-left:1px solid var(--line)}.legal-toc a{display:block;margin-left:-1px;padding:7px 0 7px 16px;border-left:1px solid transparent;color:var(--muted);font-size:.92rem;text-decoration:none}.legal-toc a:hover{color:var(--ink);border-left-color:var(--accent)}.legal-toc a span{margin-right:6px;color:var(--faint);font-family:var(--font-mono);font-size:.75rem}.legal-updated{display:grid;gap:4px;color:var(--faint);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.legal-updated time{color:var(--ink);font-family:var(--font-sans);font-size:.95rem;letter-spacing:0;text-transform:none}.legal-article{display:grid;gap:clamp(40px,5vw,64px);max-width:72ch}.legal-article section{scroll-margin-top:calc(var(--header-h) + 24px)}.legal-article h2{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);letter-spacing:-.02em}.legal-index{color:var(--accent-text);font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.06em}.legal-article h3{margin:26px 0 8px;font-size:1.05rem}.legal-article p,.legal-article li{color:var(--text);line-height:1.75}.legal-article p+p{margin-top:14px}.legal-article ul{display:grid;gap:8px;margin:14px 0 0;padding-left:1.2em}.legal-article li::marker{color:var(--accent)}.legal-article a:not(.button){color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.legal-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.legal-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.9rem}.legal-table th,.legal-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.legal-table th{background:var(--bg-sunken);color:var(--muted);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.legal-table tr:last-child td{border-bottom:0}.legal-table code{color:var(--accent-text);font-size:.85em}@media(max-width:860px){.legal-layout{grid-template-columns:minmax(0,1fr)}.legal-article,.legal-article>*{min-width:0}.legal-toc{position:static}}.footer-legal{display:flex;flex-wrap:wrap;gap:6px 22px;padding:22px 0;border-top:1px solid var(--line);font-size:.88rem}.footer-legal a,.footer-legal button{padding:0;border:0;background:none;color:var(--muted);font:inherit;text-decoration:none;cursor:pointer}.footer-legal a:hover,.footer-legal button:hover{color:var(--ink)}.cookie-notice{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:60;display:grid;grid-template-columns:auto 1fr;gap:14px 16px;width:min(440px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--bg-raised) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:cookie-in .6s var(--ease) 1.2s both}.menu-open .cookie-notice{visibility:hidden}.cookie-notice>svg{color:var(--accent)}.cookie-notice h2{margin-bottom:6px;font-size:1rem}.cookie-notice p{color:var(--muted);font-size:.88rem;line-height:1.55}.cookie-notice p a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.cookie-notice .cookie-actions{grid-column:1 / -1}@keyframes cookie-in{0%{opacity:0;transform:translateY(24px) scale(.98)}}.cookie-dialog{width:min(560px,calc(100vw - 32px));max-height:min(88dvh,720px);padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised);color:var(--text);box-shadow:var(--shadow)}.cookie-dialog::backdrop{background:#0a0a0a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cookie-dialog[open]{animation:cookie-in .35s var(--ease)}.cookie-dialog-inner{display:grid;gap:22px;padding:26px}.cookie-dialog header{position:relative;padding-right:48px}.cookie-dialog h2{margin-top:10px;font-size:1.5rem}.cookie-close{position:absolute;top:-6px;right:-6px}.cookie-categories{display:grid;gap:10px;margin:0;padding:0;list-style:none}.cookie-categories li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:var(--radius)}.cookie-categories h3{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:.98rem}.cookie-categories h3 svg{color:var(--success)}.cookie-categories p{color:var(--muted);font-size:.86rem;line-height:1.55}.cookie-always{flex:none;color:var(--success);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.cookie-dialog footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.cookie-dialog footer>a{color:var(--muted);font-size:.88rem}.switch{position:relative;flex:none;width:44px;height:26px;cursor:pointer}.switch input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.switch span[aria-hidden]{position:absolute;inset:0;border-radius:999px;background:var(--line-strong);transition:background .2s var(--ease)}.switch span[aria-hidden]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--bg-raised);box-shadow:0 1px 3px #00000040;transition:transform .25s var(--ease)}.switch input:checked+span[aria-hidden]{background:var(--accent)}.switch input:checked+span[aria-hidden]:after{transform:translate(18px)}.switch input:focus-visible+span[aria-hidden]{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.cookie-notice,.cookie-dialog[open]{animation:none}}@media print{.cookie-notice,.legal-toc,.legal-tabs{display:none}}.hero{position:relative}.scroll-cue{position:absolute;left:50%;bottom:0;display:grid;justify-items:center;gap:10px;color:var(--faint);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.22em;text-decoration:none;text-transform:uppercase;transform:translate(-50%)}.scroll-cue:hover{color:var(--ink)}.scroll-cue i{position:relative;width:1px;height:42px;overflow:hidden;background:var(--line)}.scroll-cue i:after{content:"";position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--accent);animation:cue-drop 1.9s var(--ease) infinite}@keyframes cue-drop{to{top:100%}}@media(max-width:900px){.scroll-cue{display:none}}.stack-marquee{padding-block:20px;border-block:1px solid var(--line)}.stack-marquee .logoloop__item{font-size:1rem;list-style:none}.stack-item{display:inline-flex;align-items:center;gap:.6em;color:var(--ink);font-size:clamp(1.35rem,1rem + 1.4vw,2.2rem);font-weight:600;letter-spacing:-.03em;white-space:nowrap}.stack-item:before{content:"";width:.26em;height:.26em;border-radius:50%;background:var(--accent)}.stack-marquee .logoloop__item:nth-child(2n) .stack-item{color:var(--accent-text);font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}.expertise-list li{position:relative}.expertise-list li:before{content:"";position:absolute;inset:0 -18px;border-radius:var(--radius);background:radial-gradient(280px circle at var(--spot-x, 50%) var(--spot-y, 50%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%);opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}.expertise-list li:hover:before{opacity:1}@media(max-width:600px){.expertise-list li:before{inset:0 -12px}}.expertise-list li .expertise-index{transition:color .3s var(--ease)}.expertise-list li:hover .expertise-index{color:var(--accent-text)}.project-card-link{perspective:1000px}.project-visual{transform-style:preserve-3d}.project-visual:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:radial-gradient(460px circle at var(--glare-x, 50%) var(--glare-y, 50%),rgb(255 255 255 / .2),transparent 60%);opacity:var(--glare-o, 0);pointer-events:none;transition:opacity .4s var(--ease)}.role-track{position:relative;padding-left:30px}.role-track:before,.role-progress{content:"";position:absolute;left:4px;top:0;bottom:0;width:1px;background:var(--line-strong)}.role-progress{background:var(--accent);transform:scaleY(0);transform-origin:top}.role-list li{position:relative}.role-list li:before{content:"";position:absolute;left:-30px;top:30px;width:9px;height:9px;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg-sunken);transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.role-list li.is-passed:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 18%,transparent)}@media(prefers-reduced-motion:reduce){.role-progress{transform:none}.scroll-cue i:after{animation:none}}.contact-band{position:relative;isolation:isolate;overflow:hidden}.dot-field{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%}.personal{grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px)}.personal-card{width:100%;max-width:380px}.personal-copy .personal-icons{flex-direction:row;margin-bottom:18px}@media(max-width:960px){.personal{grid-template-columns:1fr}.personal-card{justify-self:center}}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.36, .64, 1)}::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:page-crossfade .22s ease-out both;mix-blend-mode:normal}@keyframes page-crossfade{0%{opacity:0}to{opacity:1}}::view-transition-group(*){animation-duration:.6s;animation-timing-function:var(--ease-out-expo)}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation:none;z-index:1}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none;mix-blend-mode:normal}.nav-pill{position:absolute;inset:0;z-index:-1;border-radius:999px;background:var(--bg-sunken)}.project-visual{view-transition-class:visual}::view-transition-group(.visual){overflow:clip;border-radius:var(--radius-lg);animation-duration:.7s}::view-transition-old(.visual),::view-transition-new(.visual){height:100%;object-fit:cover}::view-transition-old(.visual):only-child{animation:card-out .2s ease both}::view-transition-new(.visual):only-child{animation:card-in .5s var(--ease-out-expo) .12s both}.is-reflow{view-transition-class:card}::view-transition-group(.card){animation-duration:.55s}::view-transition-old(.card):only-child{animation:card-out .22s ease both}::view-transition-new(.card):only-child{animation:card-in .5s var(--ease-out-expo) .1s both}@keyframes card-out{to{opacity:0;transform:scale(.94)}}@keyframes card-in{0%{opacity:0;transform:scale(.94)}}.vt-filter::view-transition-old(root),.vt-filter::view-transition-new(root){animation:none}.theme-transition *{view-transition-name:none!important}.theme-transition::view-transition-old(root),.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}.page{animation:none}.first-visit .page{animation:page-in .6s var(--ease-out-expo)}@supports not (view-transition-name: none){.page{animation:page-in .45s var(--ease-out-expo)}}.reveal-on [data-reveal]{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s var(--ease-out-expo),transform 1s var(--ease-out-expo);transition-delay:calc(var(--i, 0) * 90ms)}.reveal-on [data-reveal].is-visible{opacity:1;transform:none}.reveal-on [data-reveal].is-instant{transition:none}.button{position:relative;overflow:hidden}.button:active:not(:disabled){transform:scale(.97);transition-duration:.08s}.button svg{transition:transform .35s var(--ease-out-expo)}.button:hover .lucide-arrow-right{transform:translate(3px)}.button:hover .lucide-arrow-up-right{transform:translate(2px,-2px)}.button-accent{background:var(--accent);border-color:var(--accent);color:var(--band-ink)}.button-accent:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 86%,#000);border-color:color-mix(in srgb,var(--accent) 86%,#000)}.button-accent:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgb(255 255 255 / .4) 50%,transparent 70%);transform:translate(-120%);transition:transform .8s var(--ease-out-expo);pointer-events:none}.button-accent:hover:after{transform:translate(120%)}.arrow-link{padding-bottom:3px;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100% / 100% 1px no-repeat;transition:background-size .5s var(--ease-out-expo),color .2s}.arrow-link:hover{background-position:100% 100%;background-size:0% 1px}.icon-button:active:not(:disabled){transform:scale(.92)}.theme-toggle svg{transition:transform .6s var(--ease-spring)}.theme-toggle:hover svg{transform:rotate(-25deg)}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.reveal-on [data-reveal]{opacity:1;transform:none}}@media print{.reveal-on [data-reveal]{opacity:1!important;transform:none!important}}.preloader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--code-bg);color:var(--code-text);clip-path:inset(0% 0% 0% 0%)}.preloader-mark{display:flex;align-items:flex-end;gap:.06em;overflow:hidden;font-size:clamp(4.5rem,16vw,10rem);font-weight:700;line-height:.9;letter-spacing:-.06em}.preloader-mark span,.preloader-mark i{display:block}.preloader-mark i{width:.2em;height:.2em;margin-bottom:.08em;border-radius:50%;background:var(--band-bg)}.preloader-meta{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(28px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:16px;color:color-mix(in srgb,var(--code-text) 60%,transparent);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.preloader-meta [aria-hidden],.preloader-meta span span{color:var(--code-text);font-variant-numeric:tabular-nums}.reveal-on [data-reveal].reveal-by-text{opacity:1;transform:none;transition:none}.split-line{padding-bottom:.06em}.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}.editor-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.editor-status{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.editor-shell{width:min(980px,100% - 2 * var(--gutter));margin:auto;padding:56px 0 48px}.editor-intro h1{margin:16px 0 12px;font-size:clamp(2.5rem,2rem + 2vw,4rem);letter-spacing:-.045em}.editor-tabs{display:flex;gap:4px;margin:32px 0 24px;overflow-x:auto;border-bottom:1px solid var(--line)}.editor-tabs button{padding:12px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.9375rem;font-weight:500;white-space:nowrap}.editor-tabs button.is-active{border-bottom-color:var(--accent);color:var(--ink)}.editor-fieldset{min-width:0;margin:0;padding:0;border:0}.editor-card{margin:20px 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-raised)}.editor-card h2{margin:0 0 24px;font-size:1.375rem;letter-spacing:-.02em}.editor-card h3{margin:28px 0 12px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.editor-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.editor-card-tools{display:flex;gap:2px;flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:.875rem}.form-field.is-wide{grid-column:1 / -1}.form-field>span{color:var(--ink);font-weight:500}.form-field input,.form-field textarea,.form-field select{width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:.9375rem;line-height:1.5}.form-field textarea{min-height:110px;resize:vertical}.form-field small{color:var(--muted);font-size:.8125rem}.form-field .form-field{font-size:inherit}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-field{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-size:.9375rem;color:var(--ink);cursor:pointer}.form-field .check-field{margin:4px 0 0}.check-field input{width:18px;height:18px;accent-color:var(--accent)}.link-rows{display:grid;gap:12px}.link-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 40px;align-items:end;gap:12px}.link-rows .text-button{justify-self:start}.collection-bar{display:flex;align-items:center;justify-content:space-between;gap:24px}.collection-bar p{max-width:620px;margin:0;color:var(--muted);font-size:.9375rem}.image-field{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.image-field img{width:104px;height:72px;border-radius:var(--radius-sm);object-fit:cover}.image-field small{color:var(--muted);font-size:.8125rem}.upload-button{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line-strong);border-radius:999px;font-size:.875rem;font-weight:500;cursor:pointer}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.upload-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}.message{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--radius);font-size:.9375rem}.message.is-success{border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 12%,var(--bg))}.message.is-error{border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:color-mix(in srgb,var(--danger) 12%,var(--bg))}.editor-footnote{margin-top:28px;color:var(--muted);font-size:.875rem}@media(max-width:700px){.editor-status{display:none}.editor-card{padding:20px}.form-grid,.link-row{grid-template-columns:1fr}.collection-bar{align-items:flex-start}}.error-history-controls{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:24px 0}.error-history-controls .form-field{min-width:0;max-width:100%}.error-history-entry{padding:20px 0;border-top:1px solid var(--line)}.error-history-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.error-history-entry dl{margin:16px 0 0}.error-history-entry dt{color:var(--muted);font-size:.8125rem}.error-history-entry dd{margin:4px 0 12px}.error-history code,.error-history strong,.message{overflow-wrap:anywhere}.project-sections-editor{grid-column:1 / -1;min-width:0}.project-section-fields{display:grid;gap:16px;padding:20px 0;border-top:1px solid var(--line)}@media print{@page{size:A4;margin:13mm 14mm 15mm}:root{--bg: #fff;--bg-raised: #fff;--bg-sunken: #fff;--ink: #111;--text: #1a1a1a;--muted: #444;--line: #ccc;--line-strong: #999;--accent: #c2410c}body{background:#fff;color:#111;font-size:10pt;line-height:1.45}.site-header,.site-footer,.contact-band,.skip-link,.page-actions,.pager,.breadcrumb,.hero-visual,.social-links,.project-card-open,.cookie-notice,.preloader{display:none!important}.print-only{display:block}.page{animation:none}.shell{width:100%}a{color:inherit;text-decoration:none}h1,h2,h3{break-after:avoid}.prose p{margin-bottom:5pt;line-height:1.5}.page-header:has(+.cv-print),.cv-print+.cv-layout{display:none!important}.cv-print{font-size:9.6pt;line-height:1.4;color:#111}.cv-print p{margin:0 0 3pt}.cv-print-header{padding-bottom:6pt;margin-bottom:6pt;border-bottom:1.5pt solid #111}.cv-print-header h1{margin:0 0 2pt;font-size:19pt;line-height:1.1;letter-spacing:-.01em}.cv-print-header p{margin:0 0 1pt}.cv-print-role{font-weight:600}.cv-print h2{margin:11pt 0 4pt;padding-bottom:2pt;border-bottom:.75pt solid #999;font-size:10.5pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cv-print h3{margin:7pt 0 1pt;font-size:10.5pt;font-weight:700;line-height:1.3}.cv-print h3 span{font-weight:400;color:#333}.cv-print-meta{color:#444;font-style:italic}.cv-print ul{margin:2pt 0 3pt;padding-left:12pt}.cv-print li{margin:1.5pt 0;break-inside:avoid}.cv-print-stack,.cv-print-skill{font-size:9.2pt;color:#222}.cv-print-skill{margin-bottom:2.5pt}.cv-print-project{break-inside:avoid}}
