@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@600;700&family=Playfair+Display:wght@400;600&display=swap";:root{color-scheme:light dark;--site-header-offset: 85px;--shadow-soft: 0 20px 40px rgba(0, 0, 0, .2);--spacing-page: clamp(20px, 4vw, 48px);--spacing-section: clamp(40px, 8vw, 120px);--font-body: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-heading: "Playfair Display", "Times New Roman", serif;--font-nav: "Montserrat", "Segoe UI", Arial, sans-serif;--font-weight-body: 400;--font-weight-heading: 500;--text-shadow: none;--section-gradient: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%);--nav-link-size: 1.5rem}@media (max-width: 768px){:root{--site-header-offset: 60px}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:var(--site-header-offset);scroll-behavior:smooth}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}body{margin:0}a{text-decoration:none}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);font-weight:var(--font-weight-body);background:var(--color-background);color:var(--color-text);line-height:1.6;transition:background-color .3s ease,color .3s ease}a{color:var(--color-accent)}a:hover{opacity:.8}.dark{--color-background: #121212;--color-bg: #121212;--color-surface: #1a1a1a;--color-text: #f0f0f0;--color-muted: #c7c7c7;--color-accent: var(--dynamic-dark-accent, #a78bfa);--color-border: #2a2a2a;--color-nav: rgba(18, 18, 18, .9);--shadow-soft: 0 20px 40px rgba(0, 0, 0, .3);--font-weight-body: 500;--font-weight-heading: 600;--text-shadow: none;--section-gradient: linear-gradient(180deg, #121212 0%, #171717 100%);--cursor-color: var(--dynamic-dark-cursor, #BB86FC);--cursor-bg: var(--dynamic-dark-cursor-bg, rgba(187, 134, 252, .1));--cursor-ring-base: rgba(255, 255, 255, .46);--cursor-ring-strong: rgba(255, 255, 255, .84);--cursor-ring-fill: rgba(255, 255, 255, .04);--cursor-ring-glow: rgba(255, 255, 255, .1)}.light{--color-background: #f5f5f5;--color-bg: #f5f5f5;--color-surface: #ffffff;--color-text: #202020;--color-muted: #5e5e5e;--color-accent: var(--dynamic-light-accent, #7c3aed);--color-border: #e0e0e0;--color-nav: rgba(245, 245, 245, .9);--shadow-soft: 0 20px 40px rgba(255, 255, 255, .5);--font-weight-body: 400;--font-weight-heading: 500;--text-shadow: 0 2px 12px rgba(0, 0, 0, .08);--section-gradient: linear-gradient(180deg, #f5f5f5 0%, #ffffff 100%);--cursor-color: var(--dynamic-light-cursor, #6200EA);--cursor-bg: var(--dynamic-light-cursor-bg, rgba(98, 0, 234, .1));--cursor-ring-base: rgba(20, 24, 33, .42);--cursor-ring-strong: rgba(20, 24, 33, .8);--cursor-ring-fill: rgba(20, 24, 33, .035);--cursor-ring-glow: rgba(20, 24, 33, .08)}a[href^="#"]{display:inline-block}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.nav{position:fixed;top:0;width:100%;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--spacing-page);background:var(--color-nav);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);transition:transform .3s ease,opacity .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease;will-change:transform}.nav--hidden{transform:translateY(-100%);opacity:0}.nav__brand{font-size:8px;letter-spacing:6px;color:var(--color-accent);font-family:var(--font-nav)}.header-brand-logo{display:inline-block;transition:filter .3s ease,opacity .3s ease;opacity:.95}.light .header-brand-logo{filter:none}.dark .header-brand-logo{filter:brightness(0) invert(1)}.nav__actions{display:flex;align-items:center;gap:16px}.nav__toggle{display:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s ease,background-color .3s ease}.nav__toggle-lines{width:18px;height:12px;display:flex;flex-direction:column;justify-content:space-between}.nav__toggle-line{height:2px;background:var(--color-text);border-radius:999px}.nav__links{display:flex;align-items:center;gap:clamp(24px,5vw,60px)}.nav__links--primary{gap:clamp(18px,3.5vw,48px)}.nav__link{font-size:clamp(12px,calc(.45vw + 10px),16px);text-transform:uppercase;letter-spacing:2px;color:var(--color-text);font-family:var(--font-nav);font-weight:700;display:inline-flex;align-items:center;gap:12px;padding:6px 10px;border-radius:999px;border:1px solid transparent;transition:opacity .5s ease,transform .5s ease,border-color .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.nav__link--active{border-color:var(--color-accent)}.nav__link-number{font-size:clamp(9px,calc(.4vw + 7px),12px);letter-spacing:6px;color:var(--color-muted);font-family:var(--font-nav)}.nav__link-text{font-size:clamp(8px,calc(1vw + 10px),12px)}.nav__link:hover{opacity:.7;transform:translateY(-2px);background-size:100% 1px}.language-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-nav)}.language-toggle__button{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:0;font-size:12px;letter-spacing:2px;font-family:var(--font-nav)}.language-toggle__button--active{color:var(--color-accent)}.language-toggle__divider{color:var(--color-muted)}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;width:36px;height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .3s ease,background-color .3s ease,color .3s ease}@media (max-width: 980px){.nav{padding:12px var(--spacing-page);min-height:60px}.nav__links{display:none}.nav__actions{gap:12px}.nav__toggle{display:inline-flex}}.nav__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:opacity;z-index:20;height:100vh;display:flex;align-items:center;justify-content:center}.nav__overlay--floating{inset:auto;height:auto;width:auto;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;display:block}.nav__overlay-panel{width:min(560px,92vw);background:linear-gradient(180deg,#0f0f0f,#1a1a1a);padding:72px 32px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;border-radius:32px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #00000047;overflow-y:auto;transform:translateZ(0);will-change:transform,opacity}.nav__overlay-panel--floating{width:min(420px,92vw);padding:28px 24px;border-radius:24px;box-shadow:0 16px 32px #00000047}.nav__overlay-panel--nested.nav__overlay-panel--floating{width:min(720px,calc(100vw - 32px));display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);align-items:stretch;gap:20px}.nav__overlay-list{display:flex;flex-direction:column;gap:clamp(20px,4vw,40px);align-items:center;justify-content:center;text-align:center;flex:1}.nav__overlay-list--nested{align-items:stretch;justify-content:flex-start;gap:8px;text-align:left}.nav__overlay-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font-size:clamp(2.2rem,calc(3.5vw + 1rem),4.8rem);font-family:var(--font-nav);letter-spacing:3px;text-transform:uppercase;color:var(--color-text);display:inline-flex;align-items:center;gap:18px;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s ease}.nav__overlay-list--nested .nav__overlay-link{width:100%;justify-content:flex-start;padding:10px 12px;border:1px solid transparent;border-radius:14px;background-color:transparent;font-size:14px;text-align:left;cursor:pointer}.nav__overlay-list--nested button.nav__overlay-link{border:1px solid transparent}.nav__overlay-link--active,.nav__overlay-list--nested .nav__overlay-link:hover{border-color:color-mix(in srgb,var(--color-accent) 44%,transparent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.nav__overlay-subpanel{min-width:0;padding-left:20px;border-left:1px solid var(--color-border)}.nav__overlay-subpanel-heading{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-family:var(--font-nav);text-transform:uppercase;letter-spacing:2px}.nav__overlay-subpanel-heading small{color:var(--color-muted);font-family:var(--font-body);text-transform:none;letter-spacing:0;line-height:1.5}.nav__overlay-sublist{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,420px);overflow-y:auto;padding-right:4px}.nav__overlay-sublink{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px;padding:10px 0;color:var(--color-text);border-bottom:1px solid color-mix(in srgb,var(--color-border) 72%,transparent)}.nav__overlay-sublink:hover{color:var(--color-accent)}.nav__overlay-subnumber{color:var(--color-muted);font-family:var(--font-nav);font-size:10px;letter-spacing:3px}.nav__overlay-subtext{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.35}.nav__overlay-link:hover{background-size:100% 1px}.nav__overlay-link .nav__link-number{font-size:clamp(10px,calc(.6vh + 6px),16px);letter-spacing:6px}.light .nav__overlay{background:#ffffff4d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.light .nav__overlay-panel{background:linear-gradient(180deg,#f8f9fa,#ededed);border:1px solid rgba(0,0,0,.08);box-shadow:0 30px 60px #0000001a}.light .nav__overlay-link{color:var(--color-text)}@media (max-width: 768px){.nav__overlay-panel{min-height:85vh;padding:64px 24px 40px;max-height:90vh}}@media (min-width: 769px){.nav__overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media (max-width: 480px){.nav__overlay-panel{padding:56px 20px 32px;max-height:88vh}.nav__overlay-list{gap:26px}}@media (max-width: 900px){.nav__overlay-panel--nested.nav__overlay-panel--floating{width:min(520px,calc(100vw - 32px));grid-template-columns:1fr}.nav__overlay-subpanel{padding-left:0;padding-top:16px;border-left:0;border-top:1px solid var(--color-border)}}.nav__overlay-groups{display:flex;flex-direction:column;gap:18px;align-items:stretch;text-align:left}.nav__overlay-panel{position:relative}.mobile-menu__close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--color-text);font-size:26px;font-weight:300;line-height:1;cursor:pointer;transition:border-color .2s ease,transform .2s ease,opacity .2s ease}.mobile-menu__close:hover{border-color:#fff6;transform:scale(1.05)}.mobile-menu__group{display:flex;flex-direction:column;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.nav__overlay-footer{display:flex;flex-direction:column;gap:18px;margin-bottom:auto}.nav__overlay-controls{display:flex;gap:16px}.mobile-menu__root{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0;background:transparent;border:none;cursor:pointer;color:var(--color-text);font-size:clamp(.9rem,calc(.6vw + .2rem),2rem);font-family:var(--font-nav);letter-spacing:3px;text-transform:uppercase;transition:color .2s ease}.mobile-menu__root-text{display:inline-flex;align-items:center}.mobile-menu__root-indicator{min-width:20px;text-align:right;font-size:1rem;letter-spacing:2px;opacity:.7}.mobile-menu__children{position:relative;display:flex;flex-direction:column;gap:12px;margin-left:10px;padding-left:16px;overflow:hidden}.mobile-menu__children:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:#88888880;animation:menu-line-draw .6s ease forwards}.mobile-menu__child{position:relative;display:flex;align-items:center;gap:12px;padding:4px 0 4px 20px;background:transparent;border:none;color:var(--color-text);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;cursor:pointer}.mobile-menu__connection-line{position:absolute;left:0;top:50%;width:14px;height:1px;background:#888888b3;transform-origin:left;animation:menu-line-draw .6s ease forwards}.mobile-menu__child-text{color:var(--color-muted)}.light .mobile-menu__group{border-bottom:1px solid rgba(0,0,0,.08)}.light .mobile-menu__close{border-color:#0000001f}.light .mobile-menu__children:before,.light .mobile-menu__connection-line{background:#7878788c}@keyframes menu-line-draw{0%{transform:scaleX(0);opacity:.2}to{transform:scaleX(1);opacity:1}}@media (max-width: 768px){.mobile-menu__root:hover,.mobile-menu__child:hover{transform:none}}.mobile-menu__group,.mobile-menu__root,.mobile-menu__root-text,.mobile-menu__children,.mobile-menu__child,.mobile-menu__branch,.mobile-menu__child-text{min-width:0}.mobile-menu__root-text,.mobile-menu__child-text{overflow-wrap:anywhere}.mobile-menu__child{width:100%;text-align:left}.mobile-menu__child--branch{justify-content:space-between}.mobile-menu__branch{display:flex;flex-direction:column;gap:8px}.mobile-menu__children--nested{margin-left:14px;padding-left:14px;gap:8px}.hero{padding-top:calc(var(--spacing-section) / 2);padding-bottom:0}.hero__tagline{max-width:980px;font-size:clamp(17px,calc(.75vw + 12px),24px);color:var(--color-muted);font-family:revert-layer,var(--font-heading);font-weight:100;line-height:1.45}.hero__categories{margin-top:36px;display:flex;flex-direction:column;gap:16px}.hero__brain{padding-bottom:0%;margin:0 auto;height:auto;overflow:hidden;border-radius:0;position:relative;background:transparent}.hero__brain-viewport{opacity:0;transform:translateY(12px) scale(.98);transition:opacity .6s ease,transform .6s ease}.hero__brain-viewport .hero__brain-canvas,.hero__brain-viewport .hero__brain-fallback{opacity:0;transition:opacity .6s ease;will-change:opacity}.hero__brain-viewport--visible{opacity:1;transform:translateY(0) scale(1)}.hero__brain-viewport--visible .hero__brain-canvas,.hero__brain-viewport--visible .hero__brain-fallback{opacity:1;animation:hero-brain-fade .6s ease both}.hero__brain-asset{opacity:0;transition:opacity .6s ease}.hero__brain-asset--ready{opacity:1}@keyframes hero-brain-fade{0%{opacity:0}to{opacity:1}}.hero__brain-canvas{width:100%;height:100%;display:block;padding-bottom:0}.hero__brain-fallback{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 40% 45%,rgb(255,255,255),transparent 55%),radial-gradient(circle at 60% 55%,rgb(255,255,255),transparent 60%),var(--section-gradient)}.hero__brain-fallback:after{content:"BRAIN";letter-spacing:6px;text-transform:uppercase;font-family:var(--font-nav);color:var(--color-muted)}.hero__categories-title{text-transform:uppercase;letter-spacing:1.8px;font-size:clamp(11px,calc(.5vw + 8px),14px);color:var(--color-muted);font-family:var(--font-nav)}.hero__categories-list{display:flex;gap:16px;min-width:max-content;padding:10px 14px 0}.hero__scroll{margin-top:4px;padding:14px var(--spacing-page);border-radius:0}.dark .hero__scroll{background:color-mix(in srgb,var(--dynamic-light-accent, #7c3aed) 84%,black 8%)}.light .hero__scroll{background:color-mix(in srgb,var(--dynamic-dark-accent, #a78bfa) 72%,white 18%)}.hero__scroll .hero__categories-list{padding:0}.hero__category-item{display:inline-flex;align-items:center;gap:7px;color:var(--color-text)}.hero__category-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0;border-radius:3px}.hero__category-icon--mask{background:currentColor;border-radius:0;-webkit-mask:var(--hero-category-icon-url) center / contain no-repeat;mask:var(--hero-category-icon-url) center / contain no-repeat}.hero__category{font-size:clamp(12px,calc(.6vw + 10px),16px);font-family:var(--font-body);font-weight:600;letter-spacing:0;white-space:nowrap}@media (min-width: 1200px){.hero{margin-bottom:calc(var(--spacing-section) / -2)}.hero__brain{width:min(70vw,1280px)}}@media (min-width: 1981px){.hero__brain{max-width:1680px}}.horizontal-scroll{overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-left:calc(-1 * var(--spacing-page));margin-right:calc(-1 * var(--spacing-page));scrollbar-width:none;-ms-overflow-style:none}.horizontal-scroll--native{touch-action:pan-x;scroll-snap-type:x proximity}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll__track{display:flex;gap:35px;padding-bottom:12px;width:max-content}.horizontal-scroll__copy{display:contents}.horizontal-scroll__track>*{flex:0 0 auto}.horizontal-scroll__item-wrapper{display:contents}.horizontal-scroll--native .horizontal-scroll__item-wrapper{display:block;flex:0 0 auto;scroll-snap-align:start}.horizontal-scroll__progress{height:2px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:12px}.horizontal-scroll__progress-bar{display:block;height:100%;background:var(--color-accent);transform-origin:left center}.horizontal-scroll__track{cursor:grab;user-select:none;-webkit-user-select:none}.horizontal-scroll__track *{-webkit-user-drag:none}.horizontal-scroll--dragging .horizontal-scroll__track *{pointer-events:none}.horizontal-scroll--dragging .horizontal-scroll__track{cursor:grabbing}.section{padding:calc(var(--spacing-section) / 1.4) var(--spacing-page);border-radius:24px;transition:background-color .3s ease,color .3s ease,border-color .3s ease;padding-bottom:0;padding-top:10px}.section__title{font-size:clamp(20px,calc(1.6vw + 12px),36px);letter-spacing:3px;text-transform:uppercase;margin-bottom:24px;font-family:var(--font-heading);font-weight:var(--font-weight-heading);text-shadow:var(--text-shadow)}.portfolio__scroll{margin-top:12px}.portfolio__track{gap:22px;padding:4px var(--spacing-page) 18px}.portfolio__card-shell{display:block;width:min(420px,calc(100vw - 88px));min-width:min(420px,calc(100vw - 88px))}.portfolio__card-shell .project-card{height:100%}.portfolio__grid{display:flex;gap:24px;min-width:max-content}.portfolio__card{background:var(--color-surface);padding:24px;border-radius:12px;border:1px solid var(--color-border);box-shadow:var(--shadow-soft);transition:transform .3s ease,border-color .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease;min-width:260px;flex:0 0 auto}.portfolio__card:hover{transform:translateY(-6px);border-color:var(--color-accent)}.portfolio__title{margin:0 0 12px;font-size:clamp(16px,calc(.8vw + 12px),22px);font-family:var(--font-heading)}.portfolio__description{color:var(--color-muted)}.portfolio__link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);font-family:var(--font-nav);transition:opacity .3s ease,transform .3s ease,background-size .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.portfolio__link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}.portfolio__cta{margin-top:40px;text-align:center}.portfolio__cta-link{display:inline-flex;align-items:center;gap:6px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;font-family:var(--font-nav);color:var(--color-accent);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:opacity .3s ease,transform .3s ease,background-size .3s ease}.portfolio__cta-link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}@media (max-width: 768px){.portfolio__track{gap:16px;padding:4px 16px 16px}.portfolio__card-shell{width:min(320px,calc(100vw - 48px));min-width:min(320px,calc(100vw - 48px))}}.skill-modal-header{display:flex;justify-content:space-between;align-items:flex-start}.view-toggle{display:flex;gap:8px;margin-top:12px}.view-toggle button{padding:6px 12px;border-radius:4px;border:1px solid var(--color-text);background:transparent;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.view-toggle button.active{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.view-toggle button:hover:not(.active){opacity:.8;background:#8080801a}.skill-modal-value{display:grid;gap:14px}.skill-modal-value__section,.skill-modal-proof-actions{padding:14px 16px;border:1px solid var(--color-border);border-radius:16px;background:color-mix(in srgb,var(--color-text) 3%,transparent)}.skill-modal-value__label{display:block;margin-bottom:8px;color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.skill-modal-value__lead{color:var(--color-text)}.skill-modal-proof-actions__buttons{display:flex;flex-wrap:wrap;gap:10px}.skill-modal-proof-btn{padding:10px 14px;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text);cursor:pointer;font:inherit;transition:.2s ease}.skill-modal-proof-btn:hover{background:#8080801f}.skill-modal-proof-btn--active{border-color:var(--color-accent);color:var(--color-accent)}.skill-modal-inline-charts{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.network{position:relative;width:100%;height:clamp(600px,70vh,900px);min-height:600px;max-height:900px;overflow:hidden}@media (max-width: 1024px){.network{height:clamp(700px,80vh,980px);min-height:700px;max-height:980px}}@media (max-width: 768px){.network{height:clamp(900px,100vh,1200px);min-height:900px;max-height:1200px}}@media (max-width: 480px){.network{height:1400px;min-height:1200px;max-height:none}}.network__content{position:relative;width:100%;height:100%;transition:opacity .25s ease}.network__svg,.network__nodes{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform}.network--loaded.network--visible .network__svg,.network--loaded.network--visible .network__nodes{opacity:1;transform:translateY(0);animation:network-fade-in .6s ease both}@keyframes network-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.network--dimmed .network__content{opacity:.35}.network__svg{width:100%;height:100%;position:absolute;top:0;left:0}.network__nodes{position:absolute;top:0;right:0;bottom:0;left:0}.network__connection{fill:none;stroke:var(--color-text);stroke-width:1px;opacity:.25;vector-effect:non-scaling-stroke}.network__node{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:max-content;max-width:none;padding:clamp(4px,.5vw,8px) clamp(8px,1vw,12px);border:1px solid transparent;border-radius:20px;color:var(--color-text);font-size:clamp(10px,.25vw,13px);font-weight:400;cursor:pointer;transition:box-shadow .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease;white-space:nowrap;overflow:visible;text-overflow:clip;z-index:2}@media (max-width: 1024px){.network__node{font-size:11px}}@media (max-width: 768px){.network__node{font-size:10px;padding:4px 8px}}html.light .network__node,.light .network__node{background-color:#ffffff73;border-color:#0000000d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-clip:padding-box;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:backdrop-filter,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 2px 8px #0000000d}html.dark .network__node,.dark .network__node{background-color:#1e1e1e80;border-color:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-clip:padding-box;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:backdrop-filter,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 4px 12px #0003}.network__node:hover{z-index:10;transform:scale(1.05)}html.light .network__node:hover{background-color:#ffffffb3;border-color:var(--color-accent);box-shadow:0 4px 12px #0000001a}html.dark .network__node:hover{background-color:#323232b3;border-color:var(--color-accent);box-shadow:0 6px 16px #0000004d}.network__node-text{pointer-events:none;text-align:center;line-height:1.2}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-surface);padding:32px;border-radius:12px;width:90%;max-height:70vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-large)}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;font-weight:300;cursor:pointer;color:var(--color-text);padding:4px;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background:#0000001a}.dark .modal-close:hover{background:#ffffff1a}.modal-icon{font-size:48px;text-align:center;margin-bottom:16px}.modal-title{font-size:24px;margin-bottom:16px;text-align:center}.modal-description{font-size:16px;line-height:1.6}.modal-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.modal-list__item{padding:8px 12px;border-radius:8px;background:#00000014;color:var(--color-text)}.dark .modal-list__item{background:#ffffff14}.testimonials__scroll{margin-top:40px}.testimonials__card{background:var(--color-surface);padding:32px;border-radius:16px;border:1px solid var(--color-border);width:450px;max-width:85vw;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s ease,border-color .3s ease}.testimonials__card:hover{border-color:var(--color-accent)}.testimonials__quote{color:var(--color-text-secondary);font-style:italic;font-size:1.1rem;line-height:1.6;margin-bottom:24px}.testimonials__link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);font-family:var(--font-nav);transition:opacity .3s ease,transform .3s ease,background-size .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.testimonials__link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}.testimonials__meta{display:flex;flex-direction:column;gap:6px;color:var(--color-muted);font-size:clamp(12px,calc(.5vw + 10px),16px)}.testimonials__rating{color:var(--color-accent);font-size:14px;letter-spacing:2px;margin-bottom:2px}.testimonials__author{display:flex;flex-direction:column;gap:2px}.testimonials__role{font-size:12px;opacity:.7}.testimonials__footer{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.testimonials__platform{display:inline-flex;align-items:center;gap:5px;font-size:11px;letter-spacing:1px;text-transform:uppercase;font-family:var(--font-nav);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);padding:3px 8px;border-radius:4px}.testimonials__platform-icon{font-style:normal;font-size:10px}.testimonials__date{font-size:11px;opacity:.5;letter-spacing:.5px}.testimonials__verify{display:inline-block;margin-top:6px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--font-nav);color:var(--color-accent);text-decoration:none;transition:opacity .2s ease,transform .2s ease}.testimonials__verify:hover{opacity:.7;transform:translate(3px)}.testimonials__cta{margin-top:40px;text-align:center}.testimonials__cta-link{display:inline-flex;align-items:center;gap:6px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;font-family:var(--font-nav);color:var(--color-accent);text-decoration:none;transition:opacity .3s ease,transform .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:opacity .3s ease,transform .3s ease,background-size .3s ease}.testimonials__cta-link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}.testimonials__screenshot{width:100%;max-height:200px;object-fit:cover;border-radius:10px;margin-bottom:16px;border:1px solid var(--color-border);display:block}.services__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.services__item{background:var(--color-surface);padding:24px;border-radius:12px;border:1px solid var(--color-border);box-shadow:var(--shadow-soft);transition:transform .3s ease,border-color .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}.services__item:hover{transform:translateY(-6px);border-color:var(--color-accent)}.contact__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.contact__item{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--color-surface);border-radius:10px;border:1px solid var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.contact__label{text-transform:uppercase;font-size:clamp(11px,calc(.4vw + 9px),13px);letter-spacing:3px;color:var(--color-muted)}.newsletter{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.newsletter__fields{display:flex;flex-wrap:wrap;gap:12px}.newsletter__input{flex:1;min-width:200px;padding:12px 16px;border-radius:8px;border:1px solid var(--color-border);background:transparent;color:var(--color-text)}.newsletter__button{padding:12px 20px;border-radius:8px;border:1px solid var(--color-accent);background:var(--color-accent);color:#111;cursor:pointer;transition:opacity .3s ease}.newsletter__button:disabled{opacity:.6;cursor:default}.newsletter__message{font-size:clamp(12px,calc(.5vw + 10px),16px)}.newsletter__message--success{color:#7dd87d}.newsletter__message--error{color:#ff8a80}.content-image-preview__trigger{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:zoom-in;text-align:inherit}.content-image-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000db}.content-image-preview__image{max-width:min(100%,1180px);max-height:88vh;object-fit:contain;border-radius:12px;background:#111;box-shadow:0 24px 70px #0000006b}.content-image-preview__close,.content-image-preview__nav{position:fixed;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);background:#121212b8;color:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.content-image-preview__close:hover,.content-image-preview__nav:hover{border-color:#ffffff7a;background:#202020e6;transform:translateY(-1px)}.content-image-preview__close{top:24px;right:24px;width:42px;height:42px;border-radius:999px;font-size:22px;line-height:1}.content-image-preview__nav{top:50%;width:46px;height:54px;border-radius:999px;font-size:34px;line-height:1;transform:translateY(-50%)}.content-image-preview__nav:hover{transform:translateY(calc(-50% - 1px))}.content-image-preview__nav--prev{left:24px}.content-image-preview__nav--next{right:24px}@media (max-width: 640px){.content-image-preview{padding:16px}.content-image-preview__close{top:14px;right:14px}.content-image-preview__nav{width:40px;height:48px}.content-image-preview__nav--prev{left:10px}.content-image-preview__nav--next{right:10px}}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;overflow:visible;display:flex;flex-direction:column;height:100%;align-self:stretch;gap:16px;text-decoration:none;transition:transform .3s ease,border-color .3s ease}.project-card:hover{transform:translateY(-6px);border-color:var(--color-accent)}.project-card__image{display:block;width:100%;padding-top:62%;background-size:cover;background-position:center;border-radius:16px 16px 0 0;flex:0 0 auto}.project-card__image-preview{flex:0 0 auto}.project-card__content{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;min-width:0;position:relative;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:0 0 16px 16px;z-index:1;flex:1 1 auto}.project-card__title{margin:0;font-family:var(--font-heading);font-size:clamp(16px,calc(.8vw + 12px),22px)}.project-card__description{margin:0;color:var(--color-muted)}.project-card__tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.project-card__tech{position:relative;display:flex;flex-direction:column;gap:8px;align-self:flex-start;min-width:0;margin-top:auto}.project-card__tech-trigger{display:block;font-family:var(--font-nav);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);border:1px dashed var(--color-border);border-radius:999px;padding:6px 12px;width:fit-content;max-width:min(100%,148px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.project-card__tech-popover{position:absolute;left:0;top:100%;margin-top:10px;min-width:240px;max-width:320px;padding:12px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:10}.project-card__tech:hover .project-card__tech-popover{opacity:1;visibility:visible}.project-card__tech-mobile{display:none}.project-card__tech-mobile-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;padding:7px 12px;border:1px dashed var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-accent);font-family:var(--font-nav);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer}.project-card__tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:999px;padding:4px 10px;font-size:clamp(11px,calc(.4vw + 9px),13px);color:var(--color-text);background:var(--color-background)}.project-card__tag--more{background:transparent;color:var(--color-muted)}.project-card__tag-icon{width:16px;height:16px}.project-card__tag-label{color:var(--color-text)}@media (hover: none) and (pointer: coarse){.project-card__tech-trigger,.project-card__tech-popover{display:none;z-index:-1}.project-card__tech-mobile{display:flex;flex-direction:column;gap:8px}}.project-detail-page{--project-detail-header-offset: var(--site-header-offset);--project-detail-section-nav-min-height: 50px;--project-detail-section-nav-height: 50px;--project-detail-sticky-gap: 8px;width:min(1200px,100%);margin:0 auto;padding:0 32px 140px;display:flex;flex-direction:column;gap:0}.project-detail-page--loading{padding-top:24px}.project-detail__content{display:flex;flex-direction:column;gap:0;padding-top:24px}.project-detail-card{position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);padding:36px}.project-detail-hero,.project-detail-related__card{position:relative;overflow:hidden}.project-detail-card--skeleton,.project-detail-hero--skeleton{min-height:240px;opacity:.7;animation:fadeIn .9s ease infinite alternate}.project-detail-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,.72fr);gap:clamp(36px,5vw,64px);padding:80px 0 72px;border-top:3px solid var(--color-accent);border-radius:0;background:transparent;margin-bottom:0}.project-detail-hero__copy{display:flex;flex-direction:column;gap:20px;min-width:0;max-width:min(720px,100%)}.project-detail-hero__eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:6px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 10%,transparent);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.project-detail-card__eyebrow{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 20px;padding:0;background:none;border:none;border-radius:0;width:auto}.project-detail-hero__title{margin:0;font-family:var(--font-heading);font-size:clamp(44px,5.9vw,86px);line-height:.96;letter-spacing:-.025em;color:var(--color-text);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.project-detail-hero__description{margin:0;max-width:60ch;font-size:18px;line-height:1.75;color:var(--color-muted)}.project-detail-hero__facts{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:20px 0;margin-top:8px}.project-detail-hero__fact{display:flex;flex-direction:column;gap:5px;padding:0 28px 0 0;border:none;border-radius:0;background:transparent}.project-detail-hero__fact:not(:last-child){border-right:1px solid var(--color-border);margin-right:28px}.project-detail-hero__fact-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.project-detail-hero__fact-value{font-size:15px;line-height:1.4;font-weight:600;color:var(--color-text)}.project-detail-hero__actions,.project-detail__actions{display:flex;flex-wrap:wrap;gap:12px}.project-detail-hero__media{display:flex;flex-direction:column;gap:14px;min-width:0;position:relative;z-index:1}.project-detail-hero__cover,.project-detail-hero__preview{width:100%;border:1px solid var(--color-border);object-fit:cover;background:var(--color-bg)}.project-detail-hero__cover{min-height:360px;height:100%;border-radius:24px}.project-detail-hero__preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-detail-hero__preview{height:100px;border-radius:16px}.project-detail-hero__placeholder{min-height:360px;border-radius:24px;border:1px solid var(--color-border);background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface) 72%,transparent),color-mix(in srgb,var(--color-accent) 14%,transparent))}.project-detail-section-nav{position:sticky;top:var(--project-detail-header-offset);z-index:8;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;overflow:visible;padding:8px 0;min-height:var(--project-detail-section-nav-min-height);border-radius:0;border:none;border-bottom:1px solid var(--color-border);background:var(--color-bg);width:100%;max-width:100%;box-sizing:border-box;backdrop-filter:none;-webkit-backdrop-filter:none;margin-bottom:0}.project-detail-section-nav__group{position:relative;flex:1 1 0;max-width:220px}.project-detail-section-nav__summary{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:8px 12px;border:1px solid transparent;border-radius:999px;background-color:transparent;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:50% 100%;background-repeat:no-repeat;color:var(--color-text);font-family:var(--font-nav);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;list-style:none;transition:border-color .25s ease,color .25s ease,background-color .25s ease,background-size .25s ease,transform .25s ease}.project-detail-section-nav__group.is-active .project-detail-section-nav__summary,.project-detail-section-nav__summary:hover{border-color:var(--color-accent);color:var(--color-accent);background-color:color-mix(in srgb,var(--color-accent) 7%,transparent);background-size:72% 1px;transform:translateY(-1px)}.project-detail-section-nav__menu{position:absolute;top:100%;left:50%;z-index:12;display:flex;min-width:220px;max-width:min(320px,82vw);flex-direction:column;padding:14px;border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);border-radius:18px;background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:0 16px 32px #0000002e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);visibility:hidden;opacity:0;transform:translate(-50%,6px);pointer-events:none;will-change:opacity,transform;transition:opacity .24s ease,transform .24s ease,visibility .24s ease}.project-detail-section-nav__group[data-open=true] .project-detail-section-nav__menu{visibility:visible;opacity:1;transform:translate(-50%);pointer-events:auto}.project-detail-section-nav__group[data-open=true] .project-detail-section-nav__summary{border-color:var(--color-accent);color:var(--color-accent);background-color:color-mix(in srgb,var(--color-accent) 7%,transparent);background-size:72% 1px;transform:translateY(-1px)}.project-detail-section-nav__item{display:flex;align-items:center;min-height:34px;padding:9px 10px;border-radius:8px;border:none;background:transparent;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-decoration:none;color:var(--color-muted);line-height:1.35;transition:color .2s ease,background .2s ease;white-space:normal}.light .project-detail-section-nav__menu{background:linear-gradient(180deg,#f8f9fa,#ededed);border-color:#00000014;box-shadow:0 30px 60px #0000001a}.dark .project-detail-section-nav__menu{background:linear-gradient(180deg,#0f0f0f,#1a1a1a);border-color:#ffffff14;box-shadow:0 20px 40px #00000047}.project-detail-section-nav__item:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.project-detail-section-nav__item.is-active{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.project-detail-delivery__link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid transparent;background:transparent;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;text-decoration:none;color:var(--color-muted);transition:color .2s ease,border-color .2s ease,background .2s ease}.project-detail-delivery__link:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.project-detail-delivery__link.is-active{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.project-detail__intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start;padding-bottom:72px;border-bottom:1px solid var(--color-border);margin-bottom:0}.project-detail-delivery{display:flex;flex-direction:column;gap:18px;position:sticky;top:130px;max-height:none;overflow:visible;padding:28px 24px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.project-detail-delivery__block{display:flex;flex-direction:column;gap:16px}.project-detail-testimonials{padding:64px 0;border-bottom:1px solid var(--color-border)}.project-detail-testimonials__header{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.project-detail-testimonials__difficulty{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid color-mix(in srgb,var(--color-accent) 36%,var(--color-border));border-radius:999px;background:color-mix(in srgb,var(--color-accent) 9%,transparent);font-family:var(--font-nav);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.project-detail-testimonials__difficulty strong{color:var(--color-accent);font-size:14px}.project-detail-testimonials__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.project-detail-testimonials__card{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.project-detail-testimonials__label,.project-detail-testimonials__count{color:var(--color-muted);font-family:var(--font-nav);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.project-detail-testimonials__card p{margin:0;color:var(--color-text);font-size:15px;line-height:1.7}.project-detail-testimonials__meta{display:flex;flex-direction:column;gap:3px;color:var(--color-muted);font-size:13px}.project-detail-testimonials__meta strong{color:var(--color-text);font-size:15px}.project-detail-testimonials__count{margin:18px 0 0}.project-detail-delivery__title{margin:0;font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.project-detail-delivery__links{display:flex;flex-wrap:wrap;gap:10px}.project-detail-proof{scroll-margin-top:calc(var(--project-detail-header-offset) + var(--project-detail-section-nav-height) + var(--project-detail-sticky-gap))}.project-detail-section{display:grid;grid-template-columns:200px 1fr;padding:64px 0;border-bottom:1px solid var(--color-border)}.project-detail-section>.project-detail__subtitle{grid-column:1;grid-row:1 / span 100;position:sticky;top:calc(var(--project-detail-header-offset) + var(--project-detail-section-nav-height) + var(--project-detail-sticky-gap));align-self:start;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);margin:0;padding-top:4px}.project-detail-section>.project-detail__subtitle:before{display:none}.project-detail-section>*:not(.project-detail__subtitle){grid-column:2;min-width:0}.project-detail__section-block{min-width:0}.project-detail__section-block+.project-detail__section-block{margin-top:24px}.project-detail-overview{border:none!important;background:transparent!important;padding:0!important;border-radius:0!important}.project-detail__subtitle{margin:0 0 24px;font-family:var(--font-heading);font-size:clamp(22px,2.6vw,32px);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:12px;letter-spacing:-.02em;line-height:1.2}.project-detail__subtitle:before{content:"#";font-family:var(--font-mono);font-size:.65em;color:var(--color-accent);font-weight:700;flex-shrink:0;opacity:.7}.project-detail__lead{margin:0 0 28px;font-size:clamp(22px,2.6vw,30px);line-height:1.45;color:var(--color-text);font-weight:600;letter-spacing:-.02em;max-width:30ch}.project-detail__paragraph{margin:0 0 18px;max-width:68ch;font-size:17px;line-height:1.78;color:var(--color-muted)}.project-detail__paragraph strong{color:var(--color-text);font-weight:600}.project-detail__description p{margin:0 0 20px;max-width:68ch;font-size:17px;line-height:1.78;color:var(--color-muted)}.project-detail__description h3{margin:36px 0 14px;font-size:20px;color:var(--color-text);font-weight:600;letter-spacing:-.01em}.project-detail__description ul,.project-detail__description ol{margin:0 0 22px;padding-left:20px;max-width:65ch}.project-detail__description li{margin-bottom:10px;font-size:16px;line-height:1.7;color:var(--color-muted)}.project-detail__description li strong{color:var(--color-text);font-weight:600}.project-detail__description a{color:var(--color-accent);text-decoration:none;border-bottom:1px dotted var(--color-accent);transition:color .2s ease,border-color .2s ease}.project-detail__description a:hover{color:var(--color-accent-glow);border-bottom-color:var(--color-accent-glow)}.project-detail__empty{margin:0;color:var(--color-muted);font-size:15px;line-height:1.7}.project-detail__image-figure{margin:0;display:flex;flex-direction:column;gap:14px}.project-detail__image{width:100%;border-radius:18px;border:1px solid var(--color-border);background:var(--color-bg);object-fit:cover}.project-detail__image-caption{color:var(--color-muted);font-size:14px;line-height:1.6}.project-detail__table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(165deg,color-mix(in srgb,var(--dynamic-dark-accent) 7%,var(--color-bg)),color-mix(in srgb,var(--dynamic-light-accent) 4%,var(--color-bg)))}.project-detail__table{width:100%;min-width:640px;border-collapse:collapse}.project-detail__table th,.project-detail__table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.project-detail__table th{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--dynamic-light-accent) 68%,var(--color-muted));background:linear-gradient(90deg,color-mix(in srgb,var(--dynamic-dark-accent) 14%,var(--color-surface)),color-mix(in srgb,var(--dynamic-light-accent) 12%,var(--color-surface)))}.project-detail__table td{color:var(--color-text);font-size:15px;line-height:1.6}.project-detail__table tbody tr:hover td{background:color-mix(in srgb,var(--dynamic-light-accent) 8%,transparent)}.project-detail__table tbody tr:last-child td{border-bottom:none}.project-detail__stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:16px;min-width:0}.project-detail__stat-card{display:flex;flex-direction:column;gap:12px;padding:28px 24px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .2s ease,transform .2s ease;min-width:0}.project-detail__stat-card:hover{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border));transform:translateY(-2px)}.project-detail__stat-icon{align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 30%,var(--color-border));color:var(--color-accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.project-detail__stat-value{color:var(--color-accent);font-size:clamp(36px,5vw,56px);line-height:1;font-weight:700;font-family:var(--font-heading);letter-spacing:-.03em;overflow-wrap:anywhere}.project-detail__stat-label{color:var(--color-muted);font-size:14px;line-height:1.5;font-weight:500;min-width:0;overflow-wrap:anywhere}.project-detail__chart-block{width:100%}.project-detail__chart-block .skill-chart,.project-detail__chart-block .skill-line-chart{margin-top:8px}.project-detail__tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.project-detail__tech-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;transition:transform .2s ease}.project-detail__tech-item:hover{transform:translateY(-2px);border-color:var(--color-accent-dim)}.project-detail__tech-icon{width:24px;height:24px;object-fit:contain}.project-detail__tech-label{font-family:var(--font-mono);font-size:13px;font-weight:500}.project-detail__tech-list{display:flex;flex-direction:column;gap:12px}.project-detail__chips{display:flex;flex-wrap:wrap;gap:10px}.project-detail__chip{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);padding:8px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg);max-width:100%}.project-detail__chip-icon{width:18px;height:18px;min-width:18px;min-height:18px;object-fit:contain;display:block}.project-detail__chip-label{font-family:var(--font-mono);font-size:13px;color:var(--color-text);line-height:1;white-space:nowrap}.project-detail__tech-details{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:8px 12px}.project-detail__tech-summary{cursor:pointer;color:var(--color-muted);font-family:var(--font-mono);font-size:13px;-webkit-user-select:none;user-select:none}.project-detail__chips--expanded{margin-top:10px}.project-detail__attachment{display:flex;align-items:center;gap:16px;min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:inherit;text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease}.project-detail__attachment:hover{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface));transform:translateY(-2px)}.project-detail__attachment-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;border:1px solid color-mix(in srgb,var(--color-accent) 36%,var(--color-border));border-radius:999px;color:var(--color-accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}.project-detail__attachment-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.project-detail__attachment-copy strong{color:var(--color-text);font-size:16px;line-height:1.4}.project-detail__attachment-copy span,.project-detail__attachment-copy small{color:var(--color-muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.project-detail__architecture{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-detail__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:24px;height:100%;margin:0;transition:all .3s ease}.project-detail__card:hover{border-color:var(--color-accent);box-shadow:0 4px 20px #0000001a}.project-detail__card-title{font-family:var(--font-mono);font-size:16px;color:var(--color-accent-glow);margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.project-detail__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-detail__list li{font-size:14px;color:var(--color-muted);padding-left:20px;position:relative}.project-detail__list li:before{content:"→";position:absolute;left:0;color:var(--color-accent);opacity:.7}.project-detail__challenges{display:grid;gap:24px}.project-detail-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center;padding:72px 56px;border-radius:20px;border:1px solid color-mix(in srgb,var(--color-accent) 25%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 5%,var(--color-surface));margin-top:80px}.project-detail-actions__copy{display:flex;flex-direction:column;gap:16px}.project-detail-actions__description{margin:0;max-width:58ch;font-size:17px;line-height:1.75;color:var(--color-muted)}.project-detail__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:50px;background:var(--color-accent);color:#fff;font-family:var(--font-mono);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s ease,transform .2s ease;border:2px solid transparent;cursor:pointer;white-space:nowrap}.project-detail__link:hover{opacity:.85;transform:translateY(-2px)}.project-detail__link--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.project-detail__link--ghost:hover{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.project-detail__code-block{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--color-border);max-height:480px}.project-detail__code-caption{font-family:var(--font-mono);font-size:13px;color:var(--color-muted);margin-bottom:8px;padding-left:4px}.project-detail-related{display:flex;flex-direction:column;gap:24px;padding-top:72px;border-top:1px solid var(--color-border);margin-top:0}.project-detail-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-detail-related__card{display:flex;flex-direction:column;gap:16px;height:100%;text-align:left;padding:16px;cursor:pointer;text-decoration:none;color:inherit;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-detail-related__card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 8px 32px #0000001f}.project-detail-related__image{width:100%;height:180px;border-radius:10px;object-fit:cover;border:1px solid var(--color-border)}.project-detail-related__copy{display:flex;flex-direction:column;gap:8px;padding:0 4px 4px}.project-detail-related__title{font-size:17px;font-weight:600;line-height:1.3;color:var(--color-text)}.project-detail-related__description{color:var(--color-muted);font-size:13px;line-height:1.6}@media (max-width: 1024px){.project-detail__intro-grid{grid-template-columns:1fr;gap:40px}.project-detail-delivery{position:static;max-height:none;overflow-y:visible}.project-detail-section{grid-template-columns:160px 1fr;column-gap:40px}}@media (max-width: 768px){.project-detail-page{--project-detail-header-offset: var(--site-header-offset);--project-detail-section-nav-min-height: 48px;--project-detail-section-nav-height: 48px;padding:0 20px 100px}.project-detail-hero{grid-template-columns:1fr;gap:40px;padding:52px 0 48px}.project-detail-section{grid-template-columns:1fr;gap:20px;padding:48px 0}.project-detail-section>.project-detail__subtitle{position:static;grid-row:auto}.project-detail-section>*:not(.project-detail__subtitle){grid-column:1}.project-detail-actions{grid-template-columns:1fr;gap:32px;padding:40px 32px}.project-detail-related__grid{grid-template-columns:1fr}.project-detail-card{padding:28px 24px}.project-detail-section-nav{position:sticky;top:var(--project-detail-header-offset);min-height:var(--project-detail-section-nav-min-height);padding:8px 0;gap:8px}.project-detail-section-nav__group{flex:1 1 calc(50% - 8px);max-width:none}.project-detail-section-nav__summary{min-height:32px;padding:7px 10px;font-size:11px}.project-detail-section-nav__menu{position:fixed;top:calc(var(--project-detail-header-offset) + var(--project-detail-section-nav-height) + 6px);left:20px;right:20px;max-width:none;width:auto;transform:translateY(6px)}.project-detail-section-nav__group[data-open=true] .project-detail-section-nav__menu{transform:translateY(0)}.project-detail__intro-grid{padding-bottom:48px}.project-detail-hero__title{font-size:clamp(36px,8vw,56px);letter-spacing:-.02em}.project-detail-hero__cover,.project-detail-hero__placeholder{min-height:260px}.project-detail-hero__preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail__filetree-shell{grid-template-columns:1fr}.project-detail__table{min-width:560px}}@media (max-width: 480px){.project-detail-page{width:calc(100vw - 32px);padding:0 16px 80px}.project-detail-hero{padding:40px 0 36px}.project-detail-hero__facts{flex-direction:column;gap:16px;border:none;padding:16px 0}.project-detail-hero__fact:not(:last-child){border-right:none;margin-right:0;padding-right:0;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.project-detail-actions{padding:32px 24px}.project-detail-related__grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-detail__filetree-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.project-detail__filetree-search{flex:1;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:14px}.project-detail__filetree-search:focus{outline:none;border-color:var(--color-accent)}.project-detail__filetree-filter{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.project-detail__filetree-breadcrumbs{font-family:var(--font-mono);font-size:13px;color:var(--color-muted);padding:8px 12px;background:var(--color-surface);border-radius:8px;margin-bottom:12px;word-break:break-all}.project-detail__filetree{container-type:inline-size;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:24px;margin-top:8px}.project-detail__filetree-shell{display:grid;grid-template-columns:minmax(260px,340px) minmax(380px,1fr);gap:18px;align-items:start}.project-detail__filetree-panel,.project-detail__filetree-preview{min-width:0}.project-detail__filetree-panel{padding:16px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg)}.project-detail__filetree-caption{margin:0 0 12px;color:var(--color-muted);font-size:13px;line-height:1.6}.project-detail__filetree-preview{min-width:380px;padding:16px;border-radius:14px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 84%,transparent)}.project-detail__filetree-preview .project-detail__code-block{max-height:min(62vh,560px);overflow:auto}.project-detail__filetree-selected{margin-bottom:12px;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;line-height:1.5;word-break:break-all}.project-detail__filetree-empty{margin:0;color:var(--color-muted);font-size:15px;line-height:1.7}@container (max-width: 760px){.project-detail__filetree-shell{grid-template-columns:1fr}.project-detail__filetree-preview{min-width:0;width:100%}}.project-detail__filetree-title{font-family:var(--font-heading);font-size:18px;margin-bottom:24px;color:var(--color-text)}.project-detail__filetree-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:var(--font-mono);font-size:14px;color:var(--color-text)}.project-detail__filetree-trigger:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-detail__filetree-list{list-style:none;padding:0;margin:0}.project-detail__filetree-item{margin:0;padding:0;position:relative;white-space:nowrap}.project-detail__filetree-sublist{list-style:none;padding-left:20px;border-left:1px solid var(--color-border);margin:0 0 0 10px}.filetree-row{display:flex;align-items:center;gap:8px;position:relative;padding:4px 8px;border-radius:6px;cursor:pointer;transition:background .2s ease}.filetree-row:hover{background:var(--color-bg-secondary)}.filetree-row.is-selected{background:var(--color-accent-dim);color:var(--color-accent)}.filetree-connector{position:absolute;left:-20px;top:50%;width:20px;border-bottom:1px solid var(--color-border)}.filetree-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0;background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.filetree-name{flex:1;overflow:hidden;text-overflow:ellipsis}.filetree-caret{width:12px;height:12px;opacity:.7}.light .project-detail__filetree-shell .filetree-toggle img,.light .project-detail__filetree-shell .filetree-caret{filter:brightness(0) saturate(100%) invert(12%);opacity:.78}.light .project-detail__filetree-shell .filetree-row.is-selected .filetree-toggle img,.light .project-detail__filetree-shell .filetree-row.is-selected .filetree-caret{filter:brightness(0) saturate(100%) invert(12%);opacity:.95}.project-detail__filetree-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-accent);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:all .2s ease}.project-detail__filetree-toggle:hover{background:var(--color-accent-dim);border-color:var(--color-accent)}.project-detail__related{padding-top:40px;margin-top:40px;border-top:1px dashed var(--color-border);background:transparent}.project-detail__related .project-detail__subtitle{font-size:20px;opacity:.8;color:var(--color-muted)}.filetree-node{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;font-family:var(--font-mono);font-size:14px;color:var(--color-text)}.filetree-node:hover{background:var(--color-surface)}.filetree-node.selected{background:var(--color-accent-dim);color:var(--color-accent)}.filetree-indent{width:20px;flex-shrink:0}.filetree-icon{width:18px;height:18px;opacity:.8}.caret-icon{width:12px;height:12px;transition:transform .2s ease}.caret-icon.open{transform:rotate(90deg)}.project-detail__filetree-details{margin-top:16px;padding:16px;background:#ffffff08;border:1px solid var(--color-border);border-radius:12px}.project-detail__filetree-details-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.project-detail__filetree-details-content{animation:fadeIn .3s ease;height:100%;overflow-y:auto}.project-detail__filetree-scroll{overflow-y:auto;overflow-x:hidden;padding-right:8px;height:100%}.project-detail__filetree-modal-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font-heading);font-size:18px;color:var(--color-text)}.filetree-details-title h4{margin:0;font-size:16px;font-weight:600}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.status-stable{background:#22c55e1a;color:#22c55e}.status-badge.status-in-progress{background:#eab3081a;color:#eab308}.filetree-details-block{margin-bottom:16px;font-size:14px;line-height:1.5;color:var(--color-text)}.filetree-details-label{font-size:12px;color:var(--color-muted);text-transform:uppercase;margin-bottom:4px;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:#141414a6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;border-radius:16px;width:90vw;height:90vh;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:auto}.project-detail__filetree-search{flex:1;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--color-text);font-family:var(--font-mono);font-size:14px;transition:all .2s ease}.project-detail__filetree-search:focus{outline:none;background:#ffffff1a;border-color:var(--color-accent)}.project-detail__filetree-filter{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--color-text);font-size:14px;cursor:pointer;transition:all .2s ease}.project-detail__filetree-filter:hover{background:#ffffff1a}.project-detail__filetree-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);border-radius:0}.skill-modal-header{padding:16px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-close{background:none;border:none;color:var(--color-text);font-size:24px;cursor:pointer;padding:4px}.filetree-tabs{display:flex;border-bottom:1px solid var(--color-border)}.filetree-tabs button{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;font-family:var(--font-mono)}.filetree-tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media (max-width: 768px){.project-detail-page,.project-detail-hero,.project-detail-hero__copy,.project-detail-hero__media,.project-detail__content{min-width:0;max-width:100%}.project-detail-page{width:calc(100vw - 40px);overflow-x:hidden}.project-detail-hero__copy,.project-detail-hero__description{width:100%}.project-detail-hero__description,.project-detail-hero__fact-value{overflow-wrap:anywhere}.project-detail__filetree-controls{flex-direction:column;align-items:stretch}.project-detail__filetree-search{min-width:0;width:100%}.project-detail__filetree{padding:16px}.project-detail__filetree-shell{grid-template-columns:1fr}.project-detail__filetree-preview{min-width:0;width:100%}.project-detail__scroll-item{min-width:240px;max-width:240px}.modal-content{width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0;border:none}}.project-tech-icon{display:block;flex-shrink:0}.project-tech-icon--image{object-fit:contain}.project-tech-icon--mask{background:currentColor;-webkit-mask:var(--project-tech-icon-url) center / contain no-repeat;mask:var(--project-tech-icon-url) center / contain no-repeat}.about__content{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.about__bio{font-size:clamp(14px,calc(.6vw + 12px),18px);color:var(--color-muted)}.about__paragraph{margin:0 0 12px}.about__paragraph:last-child{margin-bottom:0}.about__mission-title{margin:0 0 12px}.chat-attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;width:100%}.chat-attachments--compact{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.chat-attachments__item{position:relative;margin:0;min-width:0;display:grid;gap:6px}.chat-attachments__link{display:block;border-radius:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);background:color-mix(in srgb,var(--color-surface) 82%,transparent)}.chat-attachments__image{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover}.chat-attachments__caption{display:flex;align-items:center;gap:8px;min-width:0}.chat-attachments__name{flex:1;min-width:0;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-muted)}.chat-attachments__remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-background) 88%,transparent);color:var(--color-text);cursor:pointer;flex-shrink:0}.skill-item{display:grid;gap:8px}.skill-item__label{font-size:clamp(12px,calc(.5vw + 10px),16px)}.skill-item__bar{width:100%;height:6px;background:var(--color-border);border-radius:999px;overflow:hidden}.skill-item__fill{display:block;height:100%;background:var(--color-accent)}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:16px}.timeline-item__year{color:var(--color-muted);font-size:clamp(12px,calc(.5vw + 10px),16px)}.timeline-item__title{margin:0}.timeline-item__description{margin:6px 0 0;color:var(--color-muted)}.site-chat{position:fixed;right:28px;bottom:28px;z-index:1400;display:flex;flex-direction:column;align-items:flex-end;gap:16px}.site-chat__launcher{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 34%,var(--color-border));background:radial-gradient(circle at top,color-mix(in srgb,var(--color-accent) 24%,transparent),transparent 68%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 98%,transparent),color-mix(in srgb,var(--color-background) 94%,transparent));color:var(--color-text);box-shadow:0 18px 38px color-mix(in srgb,var(--color-shadow) 30%,transparent),inset 0 1px color-mix(in srgb,white 12%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.site-chat__launcher:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border));box-shadow:0 24px 46px color-mix(in srgb,var(--color-shadow) 34%,transparent),0 0 0 1px color-mix(in srgb,var(--color-accent) 12%,transparent)}.site-chat__launcher:disabled{opacity:.45;transform:none;box-shadow:0 12px 26px color-mix(in srgb,var(--color-shadow) 18%,transparent),inset 0 1px color-mix(in srgb,white 8%,transparent);cursor:not-allowed}.site-chat__launcher-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:1;color:var(--color-accent)}.site-chat__badge{position:absolute;top:-6px;right:-4px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--color-accent);color:var(--color-background);font-size:11px;font-weight:700;box-shadow:0 8px 18px color-mix(in srgb,var(--color-accent) 34%,transparent)}.site-chat__panel{position:relative;width:min(406px,calc(100vw - 28px));display:flex;flex-direction:column;border-radius:28px;border:1px solid color-mix(in srgb,var(--color-accent) 20%,var(--color-border));background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 98%,transparent),color-mix(in srgb,var(--color-background) 94%,transparent));box-shadow:0 32px 72px color-mix(in srgb,var(--color-shadow) 32%,transparent),inset 0 1px color-mix(in srgb,white 8%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:hidden}.site-chat__panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 34%);pointer-events:none}.site-chat__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 22px 0;position:relative;z-index:1}.site-chat__identity{display:flex;align-items:center;gap:14px}.site-chat__title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.site-chat__avatar{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:16px;border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-border));background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--color-accent) 34%,transparent),transparent 60%),color-mix(in srgb,var(--color-background) 92%,transparent);color:var(--color-accent);box-shadow:0 12px 24px color-mix(in srgb,var(--color-accent) 10%,transparent)}.site-chat__avatar--image{overflow:hidden;background:color-mix(in srgb,var(--color-background) 85%,transparent);box-shadow:0 12px 24px color-mix(in srgb,var(--color-accent) 10%,transparent)}.site-chat__avatar-image{width:100%;height:100%;object-fit:contain;display:block;transition:filter .3s ease}.light .site-chat__avatar--image{background:color-mix(in srgb,var(--color-background) 82%,transparent)}.dark .site-chat__avatar-image{filter:brightness(0) invert(1)}.site-chat__close{width:40px;height:40px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-accent) 18%,var(--color-border));background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 64%),color-mix(in srgb,var(--color-background) 78%,transparent);color:var(--color-text);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.site-chat__close:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-border));background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 64%),color-mix(in srgb,var(--color-background) 84%,transparent);box-shadow:0 12px 24px color-mix(in srgb,var(--color-shadow) 18%,transparent)}.site-chat__title{margin:0;font-family:var(--font-heading)}.site-chat__title{display:block;font-size:28px;line-height:1}.site-chat__subtitle,.site-chat__empty{margin:0;color:var(--color-muted)}.site-chat__status,.site-chat__message-role,.site-chat__status-banner{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.site-chat__status{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);font-size:11px;line-height:1;white-space:nowrap}.site-chat__status-dot{width:8px;height:8px;border-radius:50%;background:#56d38a;box-shadow:0 0 14px #56d38a7a;animation:site-chat-pulse 1.8s ease-in-out infinite}.site-chat__status-dot--offline{background:#8d93a3;box-shadow:none;animation:none}.site-chat__tabs{display:flex;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);background:transparent;flex-shrink:0}.site-chat__tab{flex:1;padding:8px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .18s,border-color .18s}.site-chat__tab:hover{color:var(--color-text)}.site-chat__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.site-chat__applications{display:flex;flex-direction:column;flex:1 1 auto;overflow:auto;padding:14px 18px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-accent) 30%,transparent) transparent}.site-chat__application-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.site-chat__application-empty{color:var(--color-muted);font-size:13px;text-align:center;padding:24px 0}.site-chat__application-item{display:block}.site-chat__application-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;background:color-mix(in srgb,var(--color-accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:6px;cursor:pointer;transition:background .18s,border-color .18s;text-align:left}.site-chat__application-btn:hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.site-chat__application-name{font-size:13px;color:var(--color-text);font-weight:500}.site-chat__application-date{font-family:var(--font-mono);font-size:11px;color:var(--color-muted);white-space:nowrap}.site-chat__application-detail{display:flex;flex-direction:column;gap:10px}.site-chat__application-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:0 0 8px;border-bottom:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);margin-bottom:4px;transition:opacity .18s}.site-chat__application-back:hover{opacity:.75}.site-chat__messages{display:flex;flex-direction:column;flex:1 1 auto;gap:14px;max-height:360px;min-height:220px;padding:18px 22px 20px;overflow:auto;position:relative;z-index:1;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-accent) 30%,transparent) transparent}.site-chat__messages::-webkit-scrollbar{width:8px}.site-chat__messages::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-accent) 24%,transparent);border-radius:999px}.site-chat__status-banner{align-self:flex-start;padding:10px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 14%,var(--color-border));background:color-mix(in srgb,var(--color-background) 86%,transparent);color:var(--color-muted)}.site-chat__status-banner--error{border-color:#ff89893d;color:#ffb2b2;background:#741e1e2e}.site-chat__message{align-self:flex-start;max-width:85%;padding:14px 15px 13px;border-radius:18px 18px 18px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-background) 92%,transparent),color-mix(in srgb,var(--color-surface) 92%,transparent));border:1px solid color-mix(in srgb,white 4%,var(--color-border));box-shadow:0 12px 24px color-mix(in srgb,var(--color-shadow) 12%,transparent)}.site-chat__message--visitor{align-self:flex-end;border-radius:18px 18px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 18%,var(--color-surface)),color-mix(in srgb,var(--color-accent) 10%,var(--color-background)));border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-border))}.site-chat__message-role{display:block;margin-bottom:8px;color:color-mix(in srgb,var(--color-accent) 72%,var(--color-text))}.site-chat__message p{margin:0;line-height:1.65}.site-chat__message-attachments{margin-top:12px}.site-chat__composer{display:block;width:100%;margin-top:auto;padding:0;position:relative;z-index:1;border-top:1px solid color-mix(in srgb,var(--color-accent) 10%,var(--color-border));background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 72%,transparent),color-mix(in srgb,var(--color-background) 92%,transparent))}.site-chat__composer-input{display:none}.site-chat__composer-preview{padding:14px 14px 0}.site-chat__composer-shell{position:relative;display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px 14px 16px 12px;background:transparent;transition:background .2s ease}.site-chat__composer-shell:focus-within{background:color-mix(in srgb,var(--color-accent) 4%,transparent)}.site-chat__composer-action{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border:none;border-radius:3.40282e38px;background:color-mix(in srgb,var(--color-accent) 8%,transparent);color:color-mix(in srgb,var(--color-text) 58%,var(--color-accent));opacity:.92;transition:transform .2s ease,background .2s ease,opacity .2s ease}.site-chat__composer-action:disabled{opacity:.88}.site-chat__composer-action:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.site-chat__textarea{width:100%;min-height:56px;max-height:152px;resize:none;border:none;background:transparent;color:var(--color-text);padding:14px 0 12px;line-height:1.45;overflow-y:hidden;transition:color .2s ease}.site-chat__textarea:focus{outline:none}.site-chat__textarea::placeholder{color:color-mix(in srgb,var(--color-muted) 84%,transparent)}.site-chat__send{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:3.40282e38px;border:1px solid color-mix(in srgb,var(--color-accent) 24%,var(--color-border));background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 16%,var(--color-surface)),color-mix(in srgb,var(--color-accent) 10%,var(--color-background)));color:var(--color-text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease}.site-chat__send:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-accent) 48%,var(--color-border));box-shadow:0 16px 30px color-mix(in srgb,var(--color-accent) 18%,transparent)}.site-chat__send:disabled{opacity:.55}.site-chat__empty{align-self:center;max-width:26ch;text-align:center;line-height:1.7;padding:18px 14px}.site-chat__icon{width:100%;height:100%}.site-chat__icon--spark{width:16px;height:16px}.site-chat__icon--close,.site-chat__icon--send{width:14px;height:14px}.site-chat__icon--attach{width:16px;height:16px}@keyframes site-chat-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.18);opacity:1}}@media (max-width: 768px){.site-chat{right:14px;left:14px;bottom:16px;gap:12px}.site-chat__panel{width:100%;height:90vh;max-height:90vh;border-radius:24px}.site-chat__launcher{align-self:flex-end;width:46px;height:46px}.site-chat__title{font-size:24px}.site-chat__header,.site-chat__composer{padding-left:18px;padding-right:18px}.site-chat__messages{margin-left:18px;margin-right:18px;padding-left:16px;padding-right:16px}.site-chat__messages{margin-top:0;max-height:none;min-height:0;padding-bottom:18px}.site-chat__composer{padding-left:0;padding-right:0}.site-chat__composer-shell{padding:14px 14px 14px 12px}.site-chat__composer-action,.site-chat__send{width:38px;height:38px}}.dark{--cursor-color: var(--dynamic-dark-cursor, #BB86FC);--cursor-bg: color-mix(in srgb, var(--dynamic-dark-cursor, #BB86FC) 12%, transparent);--cursor-ring-base: color-mix(in srgb, var(--dynamic-dark-cursor, #BB86FC) 62%, transparent);--cursor-ring-strong: color-mix(in srgb, var(--dynamic-dark-cursor, #BB86FC) 86%, transparent);--cursor-ring-fill: color-mix(in srgb, var(--dynamic-dark-cursor, #BB86FC) 10%, transparent);--cursor-ring-glow: color-mix(in srgb, var(--dynamic-dark-cursor, #BB86FC) 34%, transparent)}.light{--cursor-color: var(--dynamic-light-cursor, #6200EA);--cursor-bg: color-mix(in srgb, var(--dynamic-light-cursor, #6200EA) 12%, transparent);--cursor-ring-base: color-mix(in srgb, var(--dynamic-light-cursor, #6200EA) 62%, transparent);--cursor-ring-strong: color-mix(in srgb, var(--dynamic-light-cursor, #6200EA) 86%, transparent);--cursor-ring-fill: color-mix(in srgb, var(--dynamic-light-cursor, #6200EA) 10%, transparent);--cursor-ring-glow: color-mix(in srgb, var(--dynamic-light-cursor, #6200EA) 34%, transparent)}html,body,button,a,input,textarea,label,summary{cursor:none!important}.custom-cursor{position:fixed;top:0;left:0;z-index:99999!important;pointer-events:none!important;will-change:transform,opacity}.custom-cursor--ring,.custom-cursor--dot{transition:opacity .18s ease}.custom-cursor__ring,.custom-cursor__dot-core{transition:width .24s cubic-bezier(.22,1,.36,1),height .24s cubic-bezier(.22,1,.36,1),border-color .22s ease,background .22s ease,box-shadow .24s ease,transform .24s cubic-bezier(.22,1,.36,1),opacity .18s ease}.custom-cursor__ring{width:30px;height:30px;border-radius:999px;border:1px solid var(--cursor-ring-base);background:transparent;box-shadow:0 0 0 1px color-mix(in srgb,var(--cursor-ring-base) 22%,transparent);transform:translate(-50%,-50%) scale(var(--cursor-ring-scale, 1))}.custom-cursor__dot-core{width:6px;height:6px;border-radius:50%;background:var(--cursor-color);box-shadow:0 0 18px color-mix(in srgb,var(--cursor-color) 34%,transparent);transform:translate(-50%,-50%) scale(var(--cursor-dot-scale, 1))}.custom-cursor--dot .custom-cursor__dot-core,.custom-cursor--dot .custom-cursor__cross{position:absolute;top:50%;left:50%}.cursor-default .custom-cursor__ring{border-color:var(--cursor-ring-base)}.cursor-pointer .custom-cursor__ring{width:38px;height:38px;border-color:var(--cursor-ring-strong);background:var(--cursor-ring-fill)}.cursor-pointer .custom-cursor__dot-core{--cursor-dot-scale: 1.1}.custom-cursor--accent .custom-cursor__ring{width:58px;height:58px;border-color:var(--cursor-ring-strong);background:var(--cursor-ring-fill);box-shadow:0 0 0 1px color-mix(in srgb,var(--cursor-ring-strong) 18%,transparent),0 0 34px var(--cursor-ring-glow)}.custom-cursor--accent .custom-cursor__dot-core{--cursor-dot-scale: 1.18}.custom-cursor--pressed .custom-cursor__ring{--cursor-ring-scale: .86}.custom-cursor--pressed .custom-cursor__dot-core{--cursor-dot-scale: .88}.cursor-text .custom-cursor__ring{width:4px;height:30px;border-radius:999px;border-color:color-mix(in srgb,var(--cursor-color) 72%,white 18%);background:color-mix(in srgb,var(--cursor-color) 22%,transparent)}.cursor-text .custom-cursor__dot-core{opacity:0}.cursor-wait .custom-cursor__ring{width:30px;height:30px;border-top-color:transparent;animation:cursor-rotate .9s linear infinite}.cursor-wait .custom-cursor__dot-core{opacity:0}@keyframes cursor-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.cursor-not-allowed .custom-cursor__ring{width:34px;height:34px;border-color:#ef4444e0;background:#ef444414}.cursor-not-allowed .custom-cursor__dot-core{opacity:0}.custom-cursor__cross{width:12px;height:12px;transform:translate(-50%,-50%)}.custom-cursor__cross:before,.custom-cursor__cross:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:1.5px;background:#ef4444}.custom-cursor__cross:before{transform:translate(-50%,-50%) rotate(45deg)}.custom-cursor__cross:after{transform:translate(-50%,-50%) rotate(-45deg)}.cursor-grab .custom-cursor__ring{width:32px;height:32px;--cursor-ring-scale: .94}.cursor-grabbing .custom-cursor__ring{width:30px;height:30px;--cursor-ring-scale: .82;background:var(--cursor-bg)}.cursor-grabbing .custom-cursor__dot-core{--cursor-dot-scale: .9}@media (hover: none) and (pointer: coarse){.custom-cursor{display:none!important}html,body,button,a,input,textarea,label,summary{cursor:auto!important}}@media (max-width: 768px){.custom-cursor{display:none!important}html,body,button,a,input,textarea,label,summary{cursor:auto!important}}.footer{margin-top:var(--spacing-section);border-top:1px solid var(--color-border);display:flex;flex-direction:column;transition:border-color .3s ease}.footer__nav{display:grid;grid-template-columns:3fr 3fr 1fr 1fr;gap:24px 48px;padding:48px var(--spacing-page) 40px}@media (max-width: 900px){.footer__nav{grid-template-columns:1fr 1fr;gap:36px 32px;padding-top:40px;padding-bottom:32px}}@media (max-width: 520px){.footer__nav{grid-template-columns:1fr 1fr;gap:28px 20px}}.footer__col{display:flex;flex-direction:column;gap:24px}.footer__col-title{display:inline-flex;align-items:center;gap:8px;font-size:clamp(10px,calc(.2vw + 9px),11px);text-transform:uppercase;letter-spacing:2px;font-family:var(--font-nav);font-weight:600;color:var(--color-text);text-decoration:none;padding-bottom:8px;border-bottom:1px solid var(--color-border);transition:color .2s ease,border-color .3s ease}.footer__col-title-icon{width:14px;height:14px;flex:0 0 14px;color:currentColor}.footer__col-title:not(.footer__col-title--static):hover{color:var(--color-accent)}.footer__col-links{display:flex;flex-direction:column;gap:12px}.footer__col-link{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:clamp(11px,calc(.25vw + 10px),13px);color:var(--color-muted);text-decoration:none;font-family:var(--font-nav);background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s ease,color .2s ease;line-height:1.4}.footer__col-link--icon{width:fit-content;max-width:100%}.footer__col-link-icon{width:15px;height:15px;flex:0 0 15px;color:currentColor}.footer__col-link span{min-width:0;overflow-wrap:anywhere}.footer__col-link:hover{background-size:100% 1px;color:var(--color-text)}.footer__bottom{padding:14px var(--spacing-page) 28px;border-top:1px solid var(--color-border);transition:border-color .3s ease}.footer__rights{font-size:.72rem;color:var(--color-muted);font-family:var(--font-nav);letter-spacing:.06em;white-space:nowrap}.personal__content{text-align:right;padding-left:50%;margin:0 auto;padding-right:50px}@media (max-width: 1024px){.personal__content{padding:0;left:0}}.personal__paragraph{margin-bottom:32px}.personal__text{font-size:clamp(16px,calc(.8vw + 12px),20px);line-height:1.6;color:var(--color-text)}.personal__text.handwritten{font-family:Dancing Script,cursive;font-style:oblique;font-size:large;font-weight:100;border-radius:15px 0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,0,0,.05) 0%,transparent 50%),linear-gradient(135deg,#fff8dcf2,#f5deb3e6,#deb887d9);padding:20px 40px;color:#2c1810;box-shadow:0 6px 12px #00000026,inset 0 1px #fffc,inset 0 -1px #0003,inset 2px 0 4px #0000001a,inset -2px 0 4px #ffffff1a;position:relative;border:1px solid rgba(139,69,19,.2)}.personal__text.handwritten:before{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px),linear-gradient(45deg,transparent 30%,rgba(0,0,0,.08) 50%,transparent 70%);border-radius:20px 5px;z-index:-1}.project-detail__scroll{margin-top:12px}.horizontal-scroll__item{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:260px;max-width:420px;max-height:240px;margin-right:20px;box-sizing:border-box}.horizontal-scroll__item .personal__text{margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}.faq-layout{display:grid;grid-template-columns:1fr;gap:3rem;align-items:start;position:relative}@media (min-width: 900px){.faq-layout{grid-template-columns:minmax(300px,3.5fr) minmax(0,8.5fr);gap:4rem}}.faq-layout__sidebar{position:sticky;top:120px;max-height:calc(100vh - 140px)}.faq-layout__subtitle{font-size:1.05rem;line-height:1.6;color:var(--text-secondary);max-width:90%;margin:0}.faq-accordion{display:flex;flex-direction:column;gap:1rem}.faq-accordion__item{border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(180deg,#ffffff05,#ffffff03);transition:background .3s ease,border-color .3s ease,transform .2s ease;overflow:hidden}.faq-accordion__item:hover{border-color:#ffffff26;background:linear-gradient(180deg,#ffffff0a,#0003)}.faq-accordion__item--open{border-color:var(--dynamic-dark-accent);background:linear-gradient(180deg,#ffffff0d,#00000040)}.faq-accordion__header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.8rem;gap:2rem;background:transparent;border:none;text-align:left;color:var(--text-primary);cursor:pointer;outline:none}.faq-accordion__header-content{display:flex;flex-direction:column;gap:.4rem}.faq-accordion__question{font-size:1.25rem;font-weight:500;margin:0;line-height:1.4;transition:color .3s ease}.faq-accordion__item--open .faq-accordion__question{color:var(--dynamic-light-accent)}.faq-accordion__hint{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.faq-accordion__icon{flex-shrink:0;color:var(--dynamic-light-accent);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff0d;transition:background .3s ease}.faq-accordion__item:hover .faq-accordion__icon{background:#ffffff1a}.faq-accordion__body-wrapper{overflow:hidden}.faq-accordion__body{padding:0 1.8rem 1.8rem;color:var(--text-secondary)}.faq-accordion__answer-text{margin:0 0 1.2rem;line-height:1.65;font-size:1.05rem}.faq-accordion__answer-text:last-child{margin-bottom:0}.faq-accordion__answer-text--footer{margin-top:1.2rem;font-style:italic;opacity:.8}.faq-accordion__list{margin:0 0 1.2rem;padding-left:1.2rem;display:flex;flex-direction:column;gap:.8rem}.faq-accordion__list-item{font-size:1.05rem;line-height:1.5}.faq-accordion__list-item strong{color:var(--dynamic-light-accent);font-weight:500}@media (max-width: 1024px){.faq-layout{grid-template-columns:1fr;gap:2.5rem}.faq-layout__sidebar{position:static;max-height:none}.faq-layout__subtitle{max-width:100%}}@media (max-width: 640px){.faq-accordion__header{padding:1.2rem;gap:1rem}.faq-accordion__question{font-size:1.1rem}.faq-accordion__body{padding:0 1.2rem 1.2rem}.faq-accordion__icon{width:32px;height:32px}.faq-accordion__icon svg{width:16px;height:16px}}.page{min-height:100vh;flex-direction:column;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.page__content{display:flex;flex-direction:column;gap:var(--spacing-section);padding-top:calc(var(--site-header-offset) - 24px)}.page__stack{display:flex;flex-direction:column;gap:var(--spacing-section)}.page-section{padding:calc(var(--spacing-section) / 1) var(--spacing-page)}.projects__intro{max-width:72ch;margin:-6px 0 18px;color:var(--color-muted);font-size:15px;line-height:1.7}.projects__count{margin:0 0 28px;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.projects__filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}.projects__filter{border:1px solid var(--color-border);background:transparent;color:var(--color-text);padding:8px 16px;border-radius:999px;cursor:pointer;font-family:var(--font-nav);font-size:clamp(11px,calc(.4vw + 9px),14px);transition:border-color .3s ease,color .3s ease}.projects__filter--active{border-color:var(--color-accent);color:var(--color-accent)}.projects__grid{max-width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.projects__list-container{display:flex;flex-direction:column;gap:32px}.projects__group{width:100%;margin-bottom:0}.projects__group-title{font-family:var(--font-heading);font-size:clamp(20px,3vw,24px);margin-bottom:16px;color:var(--color-text);padding-bottom:8px;opacity:.8}.projects__group-title:before{content:"// ";color:var(--color-accent);margin-right:4px}.projects__group-description{max-width:70ch;margin:-12px 0 24px;color:var(--color-muted);font-size:15px;line-height:1.7}.projects__error{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 0}.projects__error-text{color:var(--color-muted);font-size:15px}.projects__retry-btn{border:1px solid var(--color-border);background:transparent;color:var(--color-text);padding:8px 20px;border-radius:999px;cursor:pointer;font-family:var(--font-nav);font-size:13px;transition:border-color .3s ease,color .3s ease}.projects__retry-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (max-width: 640px){.projects__intro{font-size:14px;line-height:1.6}.projects__count{margin-bottom:20px}}.about-page{padding:calc(var(--spacing-section) / 1.25) var(--spacing-page) 120px}.about-page__content{width:min(1200px,100%);margin:0 auto;display:flex;flex-direction:column;gap:28px;box-sizing:border-box}.about-page__hero,.about-page__section{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--color-border);background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 94%,transparent),color-mix(in srgb,var(--color-bg) 88%,transparent));box-shadow:0 24px 60px #0000001f}.about-page__hero,.about-page__section,.about-page__split-panel,.about-page__proof-card,.about-page__value-card,.about-page__process-card,.about-page__timeline-card,.about-page__stack-card,.about-page__principle-card,.about-page__contact-link{scroll-margin-top:132px}.about-page__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;width:min(1200px,100%);margin:0 auto;padding:34px;box-sizing:border-box}.about-page__module-section{width:min(1200px,100%);margin:0 auto;box-sizing:border-box}.about-page__module-section .project-detail__stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0}.about-page__module-section .project-detail__stat-card{min-height:150px;justify-content:space-between;padding:24px 26px;border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,transparent),color-mix(in srgb,var(--color-bg) 92%,transparent));min-width:0}.about-page__module-section .project-detail__stat-value{font-size:clamp(28px,3.4vw,46px);line-height:1.05;overflow-wrap:anywhere}.about-page__module-section .project-detail__stat-label,.about-page__module-section .project-detail__table td{overflow-wrap:anywhere}.about-page__module-section .project-detail__table th,.about-page__module-section .project-detail__table td{min-width:0}.about-page__module-section .project-detail__description p{max-width:76ch}#about-proof .project-detail__section-block:has(.project-detail__stats-grid)+.project-detail__section-block{margin-top:18px}#about-proof .project-detail__section-block:has(.project-detail__stats-grid)+.project-detail__section-block .project-detail__description{padding:24px 28px;border:1px solid color-mix(in srgb,var(--color-accent) 16%,var(--color-border));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 42%),color-mix(in srgb,var(--color-surface) 84%,transparent)}#about-proof .project-detail__section-block:has(.project-detail__stats-grid)+.project-detail__section-block .project-detail__description p:last-child{margin-bottom:0}.about-page__hero-copy,.about-page__hero-aside,.about-page__split-panel,.about-page__cta-copy,.about-page__contact-list{min-width:0}.about-page__hero-copy{display:flex;flex-direction:column;gap:18px}.about-page__hero-aside,.about-page__split-panel,.about-page__proof-card,.about-page__value-card,.about-page__process-card,.about-page__timeline-card,.about-page__stack-card,.about-page__principle-card,.about-page__contact-link{border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 86%,transparent)}.about-page__hero-aside,.about-page__split-panel,.about-page__proof-card,.about-page__value-card,.about-page__process-card,.about-page__timeline-card,.about-page__stack-card,.about-page__principle-card,.about-page__contact-link{border-radius:22px}.about-page__hero-aside{display:flex;flex-direction:column;gap:18px;padding:24px}.about-page__eyebrow,.about-page__panel-label,.about-page__process-index,.about-page__chip,.about-page__proof-label,.about-page__contact-link span,.about-page__table th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.about-page__eyebrow,.about-page__panel-label{display:inline-flex;width:fit-content;padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,transparent);font-size:12px;color:var(--color-muted)}.about-page__title{margin:0;font-family:var(--font-heading);font-size:clamp(38px,6vw,76px);line-height:.96;letter-spacing:-.045em;color:var(--color-text)}.about-page__lead{margin:0;max-width:36ch;font-size:clamp(19px,2.2vw,25px);line-height:1.65;color:var(--color-text)}.about-page__lead--compact{max-width:46ch}.about-page__paragraph,.about-page__proof-note,.about-page__table td{margin:0;font-size:16px;line-height:1.78;color:var(--color-muted)}.about-page__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.about-page__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-family:var(--font-mono);font-size:13px;font-weight:600;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.about-page__cta:hover{transform:translateY(-2px)}.about-page__cta--primary{background:var(--color-text);color:var(--color-bg);box-shadow:0 16px 30px #00000029}.about-page__cta--ghost{border-color:var(--color-border);background:transparent;color:var(--color-text)}.about-page__cta--ghost:hover{border-color:var(--color-border-hover, var(--color-text));background:color-mix(in srgb,var(--color-surface) 84%,transparent)}.about-page__hero-points{display:grid;gap:12px}.about-page__hero-point{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;align-items:start;color:var(--color-text);line-height:1.6}.about-page__hero-point-dot{width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 16px color-mix(in srgb,var(--color-accent) 36%,transparent)}.about-page__hero-contact-links{display:grid;gap:10px}.about-page__hero-contact-link{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text);text-decoration:none;font-family:var(--font-mono);font-size:13px;line-height:1.45;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.about-page__hero-contact-link span{min-width:0;overflow-wrap:anywhere}.about-page__hero-contact-link:hover{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 8%,transparent);transform:translateY(-1px)}.about-page__hero-contact-icon{width:18px;height:18px;justify-self:center;color:currentColor}.about-page__section{padding:32px}.about-page__section-head{margin-bottom:20px}.about-page__subtitle,.about-page__card-title{margin:0;color:var(--color-text)}.about-page__subtitle{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:22px}.about-page__subtitle:before{content:"#";color:var(--color-accent)}.about-page__card-title{font-family:var(--font-heading);font-size:clamp(18px,1.1vw + 14px,24px);line-height:1.2}.about-page__proof-grid,.about-page__value-grid,.about-page__process-grid,.about-page__principles-grid,.about-page__stack-groups,.about-page__contact-list{display:grid;gap:16px}.about-page__proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.about-page__value-grid,.about-page__process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-page__proof-card,.about-page__value-card,.about-page__process-card,.about-page__stack-card,.about-page__principle-card,.about-page__contact-link{padding:22px}.about-page__proof-card,.about-page__process-card,.about-page__value-card,.about-page__stack-card,.about-page__principle-card{display:flex;flex-direction:column;gap:12px}.about-page__proof-value{font-size:clamp(30px,4vw,44px);line-height:1;color:var(--color-text)}.about-page__proof-label{font-size:11px;color:var(--color-muted)}.about-page__proof-note{font-size:14px}.about-page__process-card{position:relative;padding-top:52px}.about-page__process-index{position:absolute;top:18px;left:20px;font-size:11px;color:var(--color-accent)}.about-page__timeline-rail{display:grid;gap:18px}.about-page__timeline-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:22px}.about-page__timeline-year{font-family:var(--font-mono);font-size:15px;color:var(--color-text)}.about-page__timeline-copy{display:flex;flex-direction:column;gap:10px}.about-page__table-shell,.about-page__section--split,.about-page__section--cta{display:grid;gap:22px}.about-page__table-shell{grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr)}.about-page__table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:22px;background:color-mix(in srgb,var(--color-bg) 86%,transparent)}.about-page__table{width:100%;min-width:740px;border-collapse:collapse}.about-page__table th,.about-page__table td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.about-page__table th{font-size:11px;color:var(--color-muted);background:color-mix(in srgb,var(--color-surface) 82%,transparent)}.about-page__table tbody tr:last-child td{border-bottom:none}.about-page__chip-list{display:flex;flex-wrap:wrap;gap:10px}.about-page__chip{padding:7px 12px;border-radius:999px;border:1px solid var(--color-border);font-size:11px;color:var(--color-muted)}.about-page__section--split{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);padding:0;background:transparent;border:none;box-shadow:none}.about-page__split-panel{padding:32px;background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 94%,transparent),color-mix(in srgb,var(--color-bg) 88%,transparent))}.about-page__split-panel--focus{display:flex;flex-direction:column;gap:14px}.about-page__principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-page__section--cta{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:start}.about-page__cta-copy{display:flex;flex-direction:column;gap:18px}.about-page__contact-list{grid-template-columns:1fr}.about-page__contact-link{display:flex;flex-direction:column;gap:8px;text-decoration:none}.about-page__contact-link span{font-size:11px;color:var(--color-muted)}.about-page__contact-link strong{color:var(--color-text);line-height:1.5;word-break:break-all}.about-page__contact-link:hover strong{color:var(--color-accent)}@media (max-width: 1100px){.about-page__hero,.about-page__table-shell,.about-page__section--split,.about-page__section--cta,.about-page__proof-grid,.about-page__value-grid,.about-page__process-grid{grid-template-columns:1fr 1fr}.about-page__hero{grid-template-columns:1fr}.about-page__module-section .project-detail__stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-page__table-shell,.about-page__section--split,.about-page__section--cta{grid-template-columns:1fr}}@media (max-width: 768px){.about-page{padding:calc(var(--spacing-section) / 1.4) 16px 90px}.about-page__hero,.about-page__section,.about-page__split-panel,.about-page__proof-card,.about-page__value-card,.about-page__process-card,.about-page__timeline-card,.about-page__stack-card,.about-page__principle-card,.about-page__contact-link{border-radius:22px}.about-page__hero,.about-page__section,.about-page__split-panel{padding:22px}.about-page__proof-grid,.about-page__value-grid,.about-page__process-grid,.about-page__principles-grid,.about-page__module-section .project-detail__stats-grid{grid-template-columns:1fr}.about-page__title{font-size:34px}.about-page__timeline-card{grid-template-columns:1fr;gap:12px}.about-page__table{min-width:620px}}
