:root{--color-bg: #111110;--color-surface: #1a1917;--color-surface-raised: #242320;--color-text: #f2efe8;--color-text-muted: #a8a39a;--color-accent: #d4a574;--color-border: #2e2c28;--color-focus: #e8c9a0;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3.5rem;--space-2xl: 5rem;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 18px 48px rgb(0 0 0 / 28%);--transition-fast: .16s ease-out;--page-width: 72rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-bg)}html::-webkit-scrollbar{width:.625rem}html::-webkit-scrollbar-track{background-color:var(--color-bg)}html::-webkit-scrollbar-thumb{background-color:var(--color-border);border:2px solid var(--color-bg);border-radius:999px}html::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-accent) 65%,var(--color-border))}.page,.project-modal__dialog{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) var(--color-surface)}.page::-webkit-scrollbar,.project-modal__dialog::-webkit-scrollbar{width:.625rem;height:.625rem}.page::-webkit-scrollbar-track,.project-modal__dialog::-webkit-scrollbar-track{background-color:var(--color-surface)}.page::-webkit-scrollbar-thumb,.project-modal__dialog::-webkit-scrollbar-thumb{background-color:var(--color-border);border:2px solid var(--color-surface);border-radius:999px}.page::-webkit-scrollbar-thumb:hover,.project-modal__dialog::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-accent) 65%,var(--color-border))}body.page{margin:0;min-height:100vh;font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}body.page ::selection{background-color:color-mix(in srgb,var(--color-accent) 35%,transparent);color:var(--color-text)}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.page-header{width:min(100% - 2 * var(--space-lg),var(--page-width));margin-inline:auto;padding-block:var(--space-2xl) var(--space-lg)}.page-header__top{display:flex;justify-content:flex-end;margin-bottom:var(--space-md)}.lang-toggle__group{display:inline-flex;padding:3px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);gap:2px}.lang-toggle__option{min-width:2.75rem;padding:.35rem .5rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.75rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background-color .15s ease,color .15s ease}.lang-toggle__option:hover{color:var(--color-text)}.lang-toggle__option--active{background-color:var(--color-text);color:var(--color-bg)}.lang-toggle__option--active:hover{color:var(--color-bg)}.page-header__identity{display:grid;gap:var(--space-md);padding-bottom:0;border-bottom:none}.page-header__name{margin:0;max-width:16ch;font-family:var(--font-display);font-size:clamp(2.75rem,6.5vw,4.25rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;text-wrap:balance;color:var(--color-text)}.page-header__roles{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin:0;padding:0;list-style:none}.page-header__role{padding:.35rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-muted);font-size:.8125rem;font-weight:500;letter-spacing:.01em;line-height:1.2;cursor:default;-webkit-user-select:none;user-select:none}.projects{width:min(100% - 2 * var(--space-lg),var(--page-width));margin-inline:auto;padding-bottom:var(--space-2xl)}.projects-section__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md) var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.projects-section__title{margin:0;font-family:var(--font-display);font-size:clamp(1.875rem,3.5vw,2.5rem);font-weight:400;line-height:1.1;letter-spacing:-.02em;color:var(--color-text)}.projects-tabs{margin-bottom:0}.projects-tabs__list{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs);padding:0;border:none;border-radius:0;background-color:transparent}.projects-tabs__tab{padding:.35rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-muted);font-size:.8125rem;font-weight:500;letter-spacing:.01em;line-height:1.2;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast)}.projects-tabs__tab:hover{color:var(--color-text);border-color:color-mix(in srgb,var(--color-text-muted) 35%,var(--color-border))}.projects-tabs__tab--active{color:var(--color-text);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));background-color:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));box-shadow:none}.projects-tabs__tab--active:hover{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border))}.projects__list{width:100%}.projects__grid{display:grid;gap:var(--space-xl)}.project{display:grid;gap:var(--space-lg);padding-block:var(--space-lg);border-top:1px solid var(--color-border)}.project:first-child{border-top:none;padding-top:0}.project__content{display:grid;gap:var(--space-sm)}.project__title{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:400;line-height:1.15;letter-spacing:-.02em}.project__description{margin:0;max-width:62ch;color:var(--color-text-muted);font-size:1.0625rem}.project__read-more{align-self:start;margin-top:var(--space-xs);padding:0;border:none;background:none;color:var(--color-accent);font-weight:500;text-decoration:underline;text-underline-offset:.22em;transition:color var(--transition-fast)}.project__read-more:hover{color:var(--color-focus)}.project-carousel{display:grid;gap:var(--space-md)}.project-carousel__viewport{position:relative;overflow:hidden;border-radius:var(--radius-md);background-color:var(--color-surface);box-shadow:var(--shadow-soft)}.project-carousel__track{display:flex;transition:transform var(--transition-fast);will-change:transform}.project-carousel__slide{flex:0 0 100%;margin:0;aspect-ratio:16 / 9;background-color:var(--color-surface-raised)}.project-carousel__image{width:100%;height:100%;object-fit:cover}.project-carousel__control{position:absolute;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:none;border-radius:50%;color:var(--color-text);background-color:#11111073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform:translateY(-50%);transition:background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.project-carousel__control--prev{left:var(--space-sm)}.project-carousel__control--next{right:var(--space-sm)}.project-carousel__control:hover{background-color:#1111109e}.project-carousel__control:focus-visible{background-color:#1111109e}.project-carousel__control:disabled{opacity:.35;cursor:not-allowed}.project-carousel__control-icon{font-size:1.75rem;line-height:1;font-weight:300;opacity:.92;-webkit-user-select:none;user-select:none}.project-carousel__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-md)}.project-carousel__dot{width:.625rem;height:.625rem;padding:0;border:none;border-radius:50%;background-color:var(--color-border);transition:background-color var(--transition-fast),transform var(--transition-fast)}.project-carousel__dot:hover{background-color:var(--color-text-muted)}.project-carousel__dot--active{background-color:var(--color-accent);transform:scale(1.15)}.project-carousel--modal .project-carousel__slide{aspect-ratio:16 / 8}.page--modal-open{overflow:hidden}.project-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--space-md)}.project-modal[hidden]{display:none}.project-modal__backdrop{position:absolute;inset:0;border:none;padding:0;background-color:#000000a6;cursor:pointer}.project-modal__dialog{position:relative;z-index:1;width:min(96vw,68rem);max-height:92vh;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);box-shadow:var(--shadow-soft)}.project-modal__content{position:relative;display:grid;gap:var(--space-lg);padding:var(--space-lg)}.project-modal__close{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:2;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);font-size:1.5rem;line-height:1;transition:background-color var(--transition-fast)}.project-modal__close:hover{background-color:var(--color-surface-raised)}.project-modal__title{margin:0;padding-right:3rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:400;line-height:1.1;letter-spacing:-.02em}.project-modal__body{max-width:68ch;color:var(--color-text-muted);font-size:1.0625rem;line-height:1.7}.project-modal__link{color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em;word-break:break-all;transition:color var(--transition-fast)}.project-modal__link:hover{color:var(--color-focus)}.page-footer{width:min(100% - 2 * var(--space-lg),var(--page-width));margin-inline:auto;padding-block:var(--space-xl);border-top:1px solid var(--color-border)}.page-footer__contacts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.page-footer__separator{color:var(--color-border)}.page-footer__link{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.page-footer__link:hover{color:var(--color-accent)}@media(min-width:56rem){.project{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:var(--space-xl)}.project__content{padding-inline-start:var(--space-md)}}@media(max-width:40rem){.page-header,.projects,.page-footer{width:min(100% - 2 * var(--space-md),var(--page-width))}.projects-section__head{flex-direction:column;align-items:flex-start}.projects-tabs__list{width:100%}.projects-tabs__tab{flex:1;text-align:center}.project-carousel__control{width:2.25rem;height:2.25rem}.project-carousel__control-icon{font-size:1.5rem}}
