:root{--accent-text: var(--accent)}:root[data-theme=obsidian]{--bg: #0c0c0e;--bg-2: #161619;--fg: #f2efe9;--muted: #b4b0a8;--line: rgba(242, 239, 233, .16);--accent: #ffb224;--on-accent: #0c0c0e;color-scheme:dark}:root[data-theme=ember]{--bg: #140c09;--bg-2: #221510;--fg: #f6ebe3;--muted: #cba698;--line: rgba(246, 235, 227, .16);--accent: #2dd4bf;--on-accent: #140c09;color-scheme:dark}:root[data-theme=aubergine]{--bg: #150b1f;--bg-2: #21112f;--fg: #f3e9fb;--muted: #c8afdb;--line: rgba(243, 233, 251, .16);--accent: #ff7ac6;--on-accent: #1a0a25;color-scheme:dark}:root[data-theme=ocean]{--bg: #06141f;--bg-2: #0c2233;--fg: #e3f2fa;--muted: #a9c6d6;--line: rgba(227, 242, 250, .16);--accent: #4fd1ff;--on-accent: #04131c;color-scheme:dark}:root[data-theme=lavender]{--bg: #f1eefb;--bg-2: #e4dff5;--fg: #1a1233;--muted: #4a4370;--line: rgba(26, 18, 51, .2);--accent: #6d3aff;--on-accent: #ffffff;color-scheme:light}:root,:root[data-theme=paper]{--bg: #f1e9dd;--bg-2: #e6dac8;--fg: #2e1f16;--muted: #6b5545;--line: rgba(46, 31, 22, .2);--accent: #6f4a2f;--on-accent: #f6efe4;color-scheme:light}:root[data-theme=glacier]{--bg: #f6f8fb;--bg-2: #e8edf5;--fg: #0f172a;--muted: #475569;--line: rgba(15, 23, 42, .18);--accent: #3d4fff;--on-accent: #ffffff;color-scheme:light}:root[data-theme=moss]{--bg: #0b130f;--bg-2: #13211a;--fg: #e7efe1;--muted: #adc4b4;--line: rgba(231, 239, 225, .16);--accent: #f4b27a;--on-accent: #0b130f;color-scheme:dark}:root{--font-display: "Bricolage Grotesque", "Arial Narrow", Impact, sans-serif;--font-body: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--pad: clamp(20px, 4.2vw, 64px);--radius: clamp(24px, 3.4vw, 56px);--ease: cubic-bezier(.22, 1, .36, 1);--ease-io: cubic-bezier(.76, 0, .24, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}html.is-locked,html.lenis-stopped{overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:clamp(1rem,.95rem + .25vw,1.15rem);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}html,body{position:relative}@media (hover: hover) and (pointer: fine){body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor input,body.has-cursor textarea{cursor:none}}main{position:relative;z-index:1}.scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.hud{display:none}@media (min-width: 1100px){.hud{display:flex;align-items:center;gap:14px;position:fixed;left:clamp(12px,1.4vw,24px);top:50%;z-index:100;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);color:var(--fg);opacity:.85;pointer-events:none}.hud b{font-weight:500;color:var(--accent-text);font-variant-numeric:tabular-nums}.hud__track{display:block;width:2px;height:120px;background:var(--line);position:relative}.hud__track u{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform-origin:50% 0;text-decoration:none}}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}ul{list-style:none;margin:0;padding:0}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1}.mono{font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.display{font-family:var(--font-display);font-weight:800;font-variation-settings:"wght" 800,"wdth" 100;text-transform:uppercase;line-height:.88;letter-spacing:-.015em}.mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.mask>span{display:inline-block;will-change:transform}.chip{display:inline-flex;align-items:center;padding:4px 12px;border:1.5px solid currentColor;border-radius:999px}.section{position:relative;padding:clamp(96px,14vw,200px) var(--pad);color:var(--fg)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.section-title{font-size:clamp(3.2rem,11vw,11.5rem)}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);color:var(--fg);display:grid;grid-template-rows:1fr auto;padding:var(--pad)}.preloader:after{content:"";position:absolute;left:-10vw;right:-10vw;top:100%;height:14vh;background:var(--bg);border-radius:0 0 50% 50%/0 0 100% 100%}.preloader__word{align-self:center;font-size:clamp(3rem,12vw,11rem);color:var(--accent-text)}.preloader__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.preloader__count{font-size:clamp(5rem,22vw,20rem);font-variant-numeric:tabular-nums;line-height:.8}.nav{position:fixed;top:0;left:0;right:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px var(--pad);color:var(--ui, var(--fg));transition:color .35s;pointer-events:none}.nav:before{content:"";position:absolute;top:0;right:0;bottom:-24px;left:0;z-index:-1;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 88%,transparent) 40%,transparent);pointer-events:none}.nav--open{color:var(--fg)}.nav--open:before{display:none}.nav>*{pointer-events:auto}.nav__clock{display:none}.nav__right{margin-left:auto}.nav__right{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}.nav__lang button{opacity:.5;transition:opacity .3s}.nav__lang button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:4px}.nav__lang span{opacity:.5;margin:0 4px}.themes{display:none;gap:7px}.themes button{width:17px;height:17px;border-radius:50%;border:1.5px solid currentColor;background:linear-gradient(135deg,var(--sw-bg) 50%,var(--sw-accent) 50%);transition:transform .4s var(--ease)}.themes button:hover{transform:scale(1.25)}.themes button[aria-pressed=true]{outline:1.5px solid currentColor;outline-offset:3px}.kbd{display:none;align-items:center;gap:6px;padding:5px 10px;border:1.5px solid currentColor;border-radius:8px;opacity:.85;transition:opacity .3s}.kbd:hover{opacity:1}.nav__menu{display:inline-flex;align-items:center;gap:10px}.nav__menu i{position:relative;display:block;width:22px;height:8px}.nav__menu i:before,.nav__menu i:after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}.nav__menu i:before{top:0}.nav__menu i:after{top:7px}.nav__menu[aria-expanded=true] i:before{top:3px;transform:rotate(45deg)}.nav__menu[aria-expanded=true] i:after{top:3px;transform:rotate(-45deg)}@media (min-width: 760px){.nav__clock{display:block}.kbd{display:inline-flex}}@media (min-width: 1040px){.nav .themes{display:flex}}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:0 50%;z-index:130}.menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:var(--bg);color:var(--fg);display:flex;flex-direction:column;justify-content:center;padding:96px var(--pad) var(--pad)}.menu__list{display:grid;gap:clamp(2px,1vh,12px)}.menu__link{display:flex;align-items:baseline;gap:16px;font-size:clamp(2.6rem,9.5vw,8rem);transition:color .4s var(--ease),opacity .4s var(--ease)}.menu__list:hover .menu__link:not(:hover){opacity:.3}.menu__link:hover,.menu__link:focus-visible{color:var(--accent-text)}.menu__link small{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:var(--muted)}.menu__foot{margin-top:clamp(24px,5vh,56px);display:flex;gap:24px;flex-wrap:wrap;color:var(--muted)}.menu__foot a:hover{color:var(--accent-text)}.menu__themes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.menu__themes .themes{display:flex}.side{display:none}@media (min-width: 1100px){.side{display:block;position:fixed;right:clamp(14px,1.6vw,28px);top:50%;transform:translateY(-50%);z-index:100;color:var(--ui, var(--fg));transition:color .35s}.side ul{position:relative;display:grid;gap:18px;padding:6px 0}.side ul:before{content:"";position:absolute;right:4px;top:0;bottom:0;width:1px;background:currentColor;opacity:.25}.side button{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%}.side__label{opacity:0;transform:translate(8px);transition:opacity .35s var(--ease),transform .35s var(--ease);white-space:nowrap}.side button:hover .side__label,.side button:focus-visible .side__label,.side button[aria-current=true] .side__label{opacity:1;transform:none}.side__node{flex:none;width:9px;height:9px;border:1.5px solid currentColor;border-radius:2px;background:var(--ui-bg, var(--bg));transition:transform .5s var(--ease),background-color .3s,border-color .3s}.side button[aria-current=true] .side__node{transform:rotate(45deg) scale(1.35);background:var(--accent);border-color:var(--accent)}}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:grid;place-items:start center;padding:14vh var(--pad) var(--pad);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.palette{width:min(640px,100%);background:var(--bg-2);color:var(--fg);border:1.5px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 40px 120px #00000073}.palette__input{width:100%;font:inherit;font-size:1.15rem;color:var(--fg);background:transparent;border:0;border-bottom:1.5px solid var(--line);padding:20px 22px;outline:none}.palette__input::placeholder{color:var(--muted)}.palette__list{max-height:min(52vh,420px);overflow-y:auto;padding:8px}.palette__group{padding:12px 14px 6px;color:var(--muted)}.palette__item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:12px;text-align:left}.palette__item[aria-selected=true]{background:var(--accent);color:var(--on-accent)}.palette__empty{padding:24px;color:var(--muted)}.palette__foot{display:flex;gap:18px;padding:12px 18px;border-top:1.5px solid var(--line);color:var(--muted)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:260;padding:12px 20px;border-radius:999px;background:var(--accent);color:var(--on-accent)}.cursor{display:none}@media (hover: hover) and (pointer: fine){.cursor{display:grid;place-items:center;position:fixed;top:0;left:0;z-index:300;pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--fg);box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--fg);transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background-color .3s}.cursor.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px;background:color-mix(in srgb,var(--bg) 25%,transparent)}.cursor.is-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--fg);color:var(--bg)}.cursor span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity .3s}.cursor.is-label span{opacity:1}}.hero{position:relative;min-height:100svh;color:var(--fg);padding:110px var(--pad) var(--pad);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hero__name{position:relative;font-size:clamp(3.6rem,17vw,23rem);line-height:.84}@media (max-width: 600px){.hero__name{font-size:21.5vw}}.hero__line{display:flex;align-items:center;gap:.08em;white-space:nowrap}.glyph-mask{display:inline-block;overflow:hidden;padding:.03em 0 .05em}.glyph{display:inline-block;will-change:transform,font-variation-settings;font-variation-settings:"wght" 700,"wdth" 100}.portrait{position:relative;height:150vh}.portrait--static{height:auto;padding:0 var(--pad) clamp(48px,8vw,120px)}.portrait__sticky{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;padding:84px var(--pad) 40px;overflow:hidden}.portrait__frame{grid-area:1 / 1;width:min(100%,1240px);height:100%;margin:0;overflow:hidden;border-radius:4px;background:var(--bg-2)}.portrait--static .portrait__frame{height:auto;aspect-ratio:16 / 10}.portrait__frame--strips{background:transparent}.portrait__strips{display:grid;grid-template-columns:repeat(9,1fr);width:100%;height:100%;will-change:transform}.portrait__strip{position:relative;overflow:hidden;margin-right:-.5px}.portrait__strip img{position:absolute;top:0;height:100%;max-width:none;object-fit:cover;object-position:50% 24%;will-change:transform}.portrait__frame img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;will-change:transform}.portrait__labels{position:absolute;left:calc(var(--pad) + 18px);right:calc(var(--pad) + 18px);bottom:62px;display:flex;justify-content:space-between;gap:16px;pointer-events:none}.portrait__labels span{padding:6px 12px;border-radius:3px;background:var(--fg);color:var(--bg)}@media (max-width: 700px){.portrait__frame{height:78%}}.hero__meta{position:relative;display:grid;gap:28px;grid-template-columns:1fr;align-items:end}.hero__intro{max-width:34ch;font-size:clamp(1.1rem,1.7vw,1.55rem);line-height:1.35}.hero__role{display:grid;gap:6px}.hero__role-line{position:relative;height:1.6em;overflow:hidden;font-family:var(--font-display);font-variation-settings:"wght" 700;font-size:clamp(1.2rem,2.2vw,1.9rem);color:var(--accent-text)}.hero__role-line span{position:absolute;left:0;top:0;white-space:nowrap}.hero__scroll{display:inline-flex;align-items:center;gap:12px}.hero__scroll i{display:block;width:1px;height:44px;background:currentColor;transform-origin:top;animation:drip 2.2s var(--ease-io) infinite}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(1);opacity:0}}@media (min-width: 900px){.hero__meta{grid-template-columns:1.1fr 1fr auto;gap:48px}.hero__scroll{justify-self:end}}#about{z-index:2;margin-top:-34vh;padding-top:clamp(40px,6vw,96px)}.about__eyebrow{display:block;margin-bottom:clamp(24px,4vw,56px);color:var(--muted)}.about__grid--scene .about__side{max-width:640px}.about__manifesto{font-family:var(--font-display);font-variation-settings:"wght" 600;font-size:clamp(1.6rem,3.3vw,3.4rem);line-height:1.1;letter-spacing:-.01em;max-width:16em}.about__manifesto .w{display:inline-block;margin-right:.26em}.about__grid{margin-top:clamp(64px,10vw,160px);display:grid;gap:clamp(40px,6vw,96px);grid-template-columns:1fr}.about__portrait{position:relative;aspect-ratio:4 / 5;border-radius:calc(var(--radius) * .6);overflow:hidden;background:var(--accent);max-width:520px}.about__portrait img{position:absolute;top:-12%;right:0;bottom:-12%;left:0;width:100%;height:124%;object-fit:cover;object-position:50% 20%}.about__side{display:grid;gap:clamp(40px,5vw,72px);align-content:space-between}.facts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px) 24px}.fact{border-top:1.5px solid var(--line);padding-top:14px}.fact b{display:block;font-family:var(--font-display);font-variation-settings:"wght" 800;font-size:clamp(3rem,6.5vw,6.5rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--accent-text)}.fact span{color:var(--muted)}.disciplines{display:grid}.discipline{display:grid;gap:6px 24px;padding:20px 0;border-top:1.5px solid var(--line)}.discipline h3{font-family:var(--font-display);font-variation-settings:"wght" 700;font-size:clamp(1.5rem,2.4vw,2.1rem)}.discipline p{max-width:44ch;color:var(--muted)}@media (min-width: 900px){.about__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.discipline{grid-template-columns:1fr 1.4fr}}.work{position:relative;color:var(--fg)}.work__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:72px}.work__track{display:flex;align-items:stretch;gap:clamp(16px,2.2vw,32px);padding:0 var(--pad);width:max-content;height:min(74svh,720px);will-change:transform}.work__intro{flex:none;width:min(86vw,880px);display:flex;flex-direction:column;justify-content:space-between;padding-right:clamp(0px,4vw,64px)}.work__intro h2{font-size:clamp(3rem,8.4vw,9.5rem)}.work__intro h2 .outline{color:var(--accent-text)}.work__intro p{max-width:30ch;color:var(--muted)}.work__hint{display:inline-flex;align-items:center;gap:12px;margin-top:24px;color:var(--accent-text)}.work__hint svg{animation:nudge 1.6s var(--ease-io) infinite}@keyframes nudge{50%{transform:translate(8px)}}.card{flex:none;position:relative;width:min(80vw,560px);border-radius:calc(var(--radius) * .55);padding:clamp(18px,2vw,28px);display:flex;flex-direction:column;justify-content:space-between;gap:16px;overflow:hidden;transition:transform .7s var(--ease)}.card:hover{transform:translateY(-8px)}.card--surface{--card-bg: var(--bg-2);background:color-mix(in srgb,var(--bg-2) 58%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line)}.card--surface .card__art{color:var(--accent-text)}.card--accent{--card-bg: var(--accent);background:var(--accent);color:var(--on-accent)}.card--inverse{--card-bg: var(--fg);background:var(--fg);color:var(--bg)}.card__hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.card__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.card__num{position:absolute;right:.12em;bottom:-.2em;font-size:clamp(9rem,22vw,18rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px currentColor;opacity:.2;pointer-events:none}.card__art{flex:1;min-height:0;display:grid;place-items:center}.card__art svg{width:100%;height:100%;max-height:100%}.card__body{position:relative;display:grid;gap:10px;pointer-events:none}.card__title{font-family:var(--font-display);font-variation-settings:"wght" 800;font-size:clamp(1.4rem,2.3vw,2.1rem);line-height:.95;overflow-wrap:anywhere;text-transform:uppercase;letter-spacing:-.01em}.card__desc{font-size:.98rem;line-height:1.4;max-width:44ch}.card__tags{display:flex;flex-wrap:wrap;gap:6px}.card__more{display:inline-flex;align-items:center;gap:8px}.work__end a{gap:6px}.work__end{flex:none;width:min(70vw,420px);display:grid;place-items:center}.work__end a{display:grid;place-items:center;text-align:center;width:clamp(200px,26vw,300px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:var(--on-accent);padding:24px;transition:transform .6s var(--ease)}.work__end a:hover{transform:scale(1.06) rotate(-6deg)}.work__bar{position:absolute;left:var(--pad);right:var(--pad);bottom:28px;display:flex;align-items:center;gap:16px;color:var(--muted)}.work__bar-line{flex:1;height:2px;background:var(--line);position:relative}.work__bar-line i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform-origin:0 50%}.art *{vector-effect:non-scaling-stroke}.art-pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.8s var(--ease-io) infinite}@keyframes pulse{50%{transform:scale(1.35)}}.art-spin{transform-box:fill-box;transform-origin:center;animation:spin 22s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.art-flow{stroke-dasharray:6 8;animation:flow 1.2s linear infinite}@keyframes flow{to{stroke-dashoffset:-14}}.art-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.6s var(--ease-io) infinite alternate}@keyframes draw{0%,10%{stroke-dashoffset:1}60%,to{stroke-dashoffset:0}}.case{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;overflow-y:auto;overscroll-behavior:contain;padding:88px var(--pad) var(--pad)}.case--surface{--card-bg: var(--bg-2);background:var(--bg-2);color:var(--fg)}.case--surface .case__art{color:var(--accent-text)}.case--accent{--card-bg: var(--accent);background:var(--accent);color:var(--on-accent)}.case--inverse{--card-bg: var(--fg);background:var(--fg);color:var(--bg)}.case__close{position:fixed;top:20px;right:var(--pad);z-index:2;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1.5px solid currentColor;border-radius:999px}.case__grid{display:grid;gap:clamp(32px,5vw,80px);max-width:1400px;margin:0 auto}.case__title{font-size:clamp(2.2rem,4.4vw,5.2rem);margin:16px 0 28px;overflow-wrap:anywhere}.case__lead{font-size:clamp(1.15rem,1.7vw,1.5rem);max-width:34em;line-height:1.4}.case__list{margin:36px 0;display:grid;gap:0;max-width:44em}.case__list li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:14px 0;border-top:1.5px solid currentColor}.case__list li span:first-child{opacity:.6}.case__art{display:grid;place-items:center;align-self:start;aspect-ratio:4 / 3;border-radius:calc(var(--radius) * .5);border:1.5px solid currentColor;padding:clamp(16px,3vw,40px)}.case__art svg{width:100%;height:100%}.case__links{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.case__link{display:inline-flex;gap:8px;border-bottom:1.5px solid currentColor}@media (min-width: 960px){.case__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.case__art{position:sticky;top:24px}}.journey__list{margin-top:clamp(48px,7vw,112px);border-bottom:1.5px solid var(--line)}.row{position:relative;border-top:1.5px solid var(--line);isolation:isolate;overflow:hidden;padding-inline:0;transition:padding .6s var(--ease)}.row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:color-mix(in srgb,var(--accent) 13%,var(--bg-2));transform:scaleY(0);transform-origin:50% 100%;transition:transform .6s var(--ease)}.row:hover:before,.row.is-open:before{transform:scaleY(1)}.row:hover,.row.is-open{padding-inline:clamp(12px,1.6vw,24px)}.row.is-open .badge,.row:hover .badge{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.row__head:disabled{cursor:default}.row__head{width:100%;display:grid;gap:8px 24px;align-items:center;text-align:left;padding:clamp(18px,2.4vw,32px) 0;grid-template-columns:1fr auto}.row__period{grid-column:1 / -1}.row__title{font-family:var(--font-display);font-variation-settings:"wght" 700;font-size:clamp(1.7rem,4.2vw,4rem);line-height:1;letter-spacing:-.01em}.row__title small{display:block;margin-top:8px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400;opacity:.7}.row__title{display:flex;align-items:center;gap:clamp(14px,1.8vw,24px)}.badge-wrap{position:relative;flex:none}.badge{flex:none;display:grid;place-items:center;width:clamp(48px,5vw,68px);aspect-ratio:1;border-radius:50%;border:1.5px solid currentColor;overflow:hidden;font-family:var(--font-mono);font-size:clamp(.85rem,1.1vw,1.05rem);font-weight:500;letter-spacing:.04em;transition:background-color .4s var(--ease),color .4s var(--ease)}.badge img{width:100%;height:100%;object-fit:contain}.badge--logo,.row:hover .badge--logo,.row.is-open .badge--logo{background:#fff;border-color:var(--line);padding:11px}.chip--logo{gap:8px}.row__plus--none{visibility:hidden}.row__plus{width:44px;height:44px;border:1.5px solid currentColor;border-radius:50%;position:relative;flex:none}.row__plus:before,.row__plus:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:currentColor;transition:transform .5s var(--ease)}.row__plus:after{transform:rotate(90deg)}.row.is-open .row__plus:after{transform:rotate(0)}.row__panel{overflow:hidden}.row__content{display:grid;gap:24px;padding:0 0 clamp(24px,3vw,40px)}.row__content p{max-width:52ch}.row__content ul{display:grid;gap:10px;max-width:60ch}.row__content li{position:relative;padding-left:22px}.row__content li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:6px}@media (min-width: 900px){.row__head{grid-template-columns:.9fr 2.4fr auto}.row__period{grid-column:auto}.row__content{grid-template-columns:.9fr 2.4fr;gap:24px}.row__content>.row__text{grid-column:2;display:grid;gap:24px}}.stack{padding-inline:0;overflow:hidden}.stack__head{padding-inline:var(--pad)}.marquee{display:flex;white-space:nowrap;margin-top:clamp(40px,6vw,96px);will-change:transform}.marquee+.marquee{margin-top:clamp(8px,1.2vw,20px)}.marquee__inner{display:flex;flex:none;align-items:center;font-size:clamp(4rem,12vw,12rem)}.marquee__inner>span{padding-right:.28em}.marquee__inner>svg{color:var(--accent-text);flex:none;width:.5em;height:.5em;margin-right:.28em}.marquee--outline .marquee__inner{color:transparent;-webkit-text-stroke:2px var(--fg)}.marquee--outline .marquee__inner>svg{color:var(--accent-text)}.stack__stage{height:clamp(560px,105vh,1100px)}.orbit-tip{position:fixed;top:0;left:0;z-index:95;display:grid;gap:2px;padding:10px 14px;border-radius:12px;background:var(--fg);color:var(--bg);opacity:0;pointer-events:none;transition:opacity .25s;white-space:nowrap}.orbit-tip span{opacity:.65}.stack__groups{margin:clamp(32px,5vw,72px) var(--pad) 0;display:grid;gap:clamp(36px,4vw,56px) clamp(32px,4vw,64px);grid-template-columns:1fr}.stack__group{position:relative;padding:clamp(22px,2.2vw,32px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-2) 92%,#fff),color-mix(in srgb,var(--bg-2) 98%,transparent));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px #ffffff59 inset,0 24px 48px -28px #00000059;overflow:hidden}.stack__group:before{content:"";position:absolute;top:0;left:clamp(22px,2.2vw,32px);width:36px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.stack__group-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 22px}.stack__group-title .display{font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1;letter-spacing:.01em;text-transform:none;font-variation-settings:"wght" 700,"wdth" 100}.stack__group-title .mono{display:grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--muted);font-size:.72rem}.stack__group ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.stack__group li{display:flex;align-items:center;gap:12px;padding:7px 10px 7px 7px;border-radius:14px;font-size:.9rem;font-weight:500;line-height:1.15;transition:background-color .3s var(--ease),transform .4s var(--ease)}.stack__group li svg{flex:none;box-sizing:content-box;width:20px;height:20px;padding:8px;border-radius:11px;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,var(--bg));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 22%,transparent) inset;transition:transform .5s var(--ease)}.stack__group li:hover{background:color-mix(in srgb,var(--fg) 6%,transparent);transform:translate(3px)}.stack__group li:hover svg{transform:scale(1.08) rotate(-4deg)}@media (min-width: 900px){.stack__groups{grid-template-columns:1fr 1fr}.stack__group:first-child{grid-column:1 / -1}}@media (min-width: 1300px){.stack__groups{grid-template-columns:repeat(6,1fr)}.stack__group:nth-child(1){grid-column:span 2}.stack__group:nth-child(2){grid-column:span 4}.stack__group:nth-child(3),.stack__group:nth-child(4),.stack__group:nth-child(5){grid-column:span 2}}.writing__list{margin-top:clamp(48px,7vw,112px);border-bottom:1.5px solid var(--line)}.post{display:grid;gap:14px 24px;align-items:center;padding:clamp(24px,3.4vw,48px) 0;border-top:1.5px solid var(--line);transition:opacity .4s var(--ease);grid-template-columns:1fr auto}.writing__list:hover .post:not(:hover){opacity:.35}.post__meta{grid-column:1 / -1;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap}.post__title{font-family:var(--font-display);font-variation-settings:"wght" 600;font-size:clamp(1.5rem,3.5vw,3.2rem);line-height:1.05;letter-spacing:-.01em;max-width:24em;transition:color .4s var(--ease)}.post:hover .post__title,.post:focus-visible .post__title{color:var(--accent-text)}.post__arrow{width:clamp(40px,5vw,64px);height:clamp(40px,5vw,64px);border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:background-color .4s var(--ease),color .4s var(--ease),transform .6s var(--ease)}.post:hover .post__arrow{background:var(--accent);border-color:var(--accent);color:var(--on-accent);transform:rotate(45deg)}.post__thumb{display:none;grid-column:1 / -1;aspect-ratio:16 / 9;object-fit:cover;border-radius:16px;width:100%;max-width:420px}@media (hover: none){.post__thumb{display:block}}.preview{display:none}@media (hover: hover) and (pointer: fine){.preview{display:block;position:fixed;top:0;left:0;z-index:90;width:clamp(260px,26vw,420px);aspect-ratio:16 / 10;margin:-20% 0 0 -50%;border-radius:18px;overflow:hidden;pointer-events:none;box-shadow:0 30px 80px #00000073}.preview img{width:100%;height:100%;object-fit:cover}}.contact__title{font-size:clamp(2.8rem,11vw,14rem);line-height:.95;white-space:nowrap}.contact__title .dot{color:var(--accent-text)}.contact__grid{margin-top:clamp(48px,7vw,112px);display:grid;gap:clamp(48px,6vw,96px);grid-template-columns:1fr}.contact__email{display:inline-block;font-family:var(--font-display);font-variation-settings:"wght" 700;font-size:clamp(1.2rem,2.5vw,2.4rem);line-height:1.1;word-break:break-word;border-bottom:2px solid var(--accent);transition:color .3s}.contact__email:hover{color:var(--accent-text)}.contact__sub{max-width:34ch;margin-bottom:32px;color:var(--muted)}.contact__links{margin-top:clamp(32px,4vw,56px);display:grid}.contact__links a,.contact__links p{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1.5px solid var(--line);transition:padding .4s var(--ease),color .3s}.contact__links a:hover{padding-left:12px;color:var(--accent-text)}.form{display:grid;gap:28px}.field{display:grid;gap:8px}.field label{color:var(--muted)}.field input,.field textarea{width:100%;font:inherit;font-size:clamp(1.1rem,1.8vw,1.5rem);color:var(--fg);background:transparent;border:0;border-bottom:1.5px solid var(--line);border-radius:0;padding:10px 0 14px;outline:none;resize:vertical;transition:border-color .3s}.field input:focus,.field textarea:focus{border-color:var(--accent)}.btn{position:relative;isolation:isolate;overflow:hidden;justify-self:start;display:inline-flex;align-items:center;gap:14px;padding:18px 32px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-variation-settings:"wght" 700;font-size:1.1rem;text-transform:uppercase}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fg);transform:translateY(101%);border-radius:50% 50% 0 0;transition:transform .6s var(--ease),border-radius .6s var(--ease)}.btn:hover,.btn:focus-visible{color:var(--bg)}.btn:hover:before,.btn:focus-visible:before{transform:translateY(0);border-radius:0}.btn:disabled{opacity:.6;pointer-events:none}.ext{display:inline-flex;align-items:center;gap:6px}.btn svg{transition:transform .5s var(--ease)}.btn:hover svg{transform:translate(3px,-3px) rotate(8deg)}.form__status{min-height:1.5em}.form__status.is-error{color:var(--accent-text)}@media (min-width: 900px){.contact__grid{grid-template-columns:1fr 1.1fr}}.footer{background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);padding:28px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer button:hover{color:var(--accent-text)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border: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}}@media (hover: hover) and (pointer: fine){body.orbit-hover .cursor{width:56px;height:56px;margin:-28px 0 0 -28px;background:color-mix(in srgb,var(--bg) 25%,transparent)}}.about__languages{color:var(--muted)}
