@font-face{font-family:Farabee Regular;src:url(/assets/Farabee_Regular-FUkYzSYX.woff2) format("woff2"),url(/assets/Farabee_Regular-Bo9t-CAb.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #121212;--text: #f3f3f5;--muted: #c7c7cc;--accent: #e53935;--motion-fast: .2s;--motion-base: .24s;--motion-slow: .56s;--motion-page: .88s;--motion-reveal: .56s;--motion-reveal-transform: .62s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-decel: cubic-bezier(.16, 1, .3, 1);--ease-emphasized: cubic-bezier(.22, 1, .36, 1);--fx-light-0: rgba(255, 255, 255, .18);--fx-light-1: rgba(229, 57, 53, .14);--glass-bg: rgba(16, 16, 18, .7);--glass-border-color: rgba(255, 255, 255, .18);--glass-blur: blur(8px) saturate(1.08);--glass-surface-bg: rgba(24, 24, 28, .62);--glass-surface-border: rgba(255, 255, 255, .16);--glass-hover-bg: rgba(42, 42, 48, .56);--glass-hover-border: rgba(255, 255, 255, .28);--glass-highlight: rgba(255, 255, 255, .32);--liquid-edge: rgba(255, 255, 255, .25);--glass: var(--glass-surface-bg);--glass-border: var(--glass-surface-border);--radius: 18px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--gap-compact: 12px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--gap-grid: var(--space-5);--gap-stack: var(--space-5);--gap-section-y: clamp(40px, 6vw, 72px);--header-h: 64px;--app-top-offset: var(--header-h);--app-bottom-offset: 0px;--hero-gap: 80px;--container-max: 100%;--container-pad: clamp(16px, 5vw, 32px);--vw: 100dvw;--vh: 100dvh;--media-h-vw: 10;--media-h: calc(var(--media-h-vw) * 1vw);--media-max-h: 80vh;--media-max-w: 90vw;--noise-size: 300px;--fx-opacity: .35;--noise-inset-top: 0px;--noise-inset-bottom: 0px;--modal-gap: 24px;--z-header: 10;--z-sticky: 20;--z-overlay: 30;--z-drawer: 40;--z-popover: 50;--z-modal: 60;--z-toast: 10000}html.overlay-open{--glass-blur: none;--glass: transparent;--glass-border: transparent}:root{--ui-breath-alpha: .04;--ui-breath-glow: 12px}:root{--modal-gap: var(--modal-gap, 16px);--modal-offset-top: 0px;--modal-offset-bottom: 0px;--modal-pad-top: 12px;--modal-pad-bottom: 12px;--modal-pad-side: 12px}:root{--video-bg: #000}:root{--skills-cloud-size: min(70vh, 100%);--skills-cloud-size-mobile: clamp(280px, 86vw, 440px)}@supports (color: color-mix(in srgb,white,black)){:root{--glass: color-mix(in srgb, var(--glass-surface-bg) 96%, var(--fx-light-0) 4%);--glass-border: color-mix(in srgb, var(--glass-surface-border) 90%, var(--fx-light-0) 10%);--glass-border-color: color-mix(in srgb, var(--glass-border-color) 92%, var(--fx-light-0) 8%);--glass-hover-bg: color-mix(in srgb, var(--glass-hover-bg) 96%, var(--fx-light-0) 4%);--glass-hover-border: color-mix(in srgb, var(--glass-hover-border) 90%, var(--fx-light-0) 10%)}}@supports (height: 100svh){:root{--vh: 100svh}}@supports not (height: 100svh){:root{--vh: 100vh}}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){:root{--glass-bg: rgba(16, 16, 18, .78);--glass-surface-bg: rgba(30, 30, 34, .72);--glass-hover-bg: rgba(42, 42, 48, .78)}}@media(min-width:901px){:root{--noise-inset-top: var(--app-top-offset)}}@media(max-width:900px){:root{--app-top-offset: 0px;--app-bottom-offset: calc(var(--bottom-nav-h, 0px) + env(safe-area-inset-bottom, 0px));--noise-inset-top: 0px;--noise-inset-bottom: var(--app-bottom-offset)}}@media(min-width:360px){:root{--container-max: 100%}}@media(min-width:480px){:root{--container-max: 600px}}@media(min-width:768px){:root{--container-max: 820px}}@media(min-width:900px){:root{--container-max: 1120px}}@media(min-width:1440px){:root{--container-max: 1280px}}@media(min-width:768px){:root{--noise-size: 360px}}@media(min-width:1440px){:root{--noise-size: 420px}}@media(max-width:900px){:root{--media-h-vw: 26;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:600px){:root{--media-h-vw: 28;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:480px){:root{--media-h-vw: 32;--media-h: calc(var(--media-h-vw) * 1vw)}}@media(max-width:900px){:root{--bottom-nav-h: 64px}}*{box-sizing:border-box}html{margin:0;padding:0;scroll-behavior:smooth}body{margin:0;padding:0}#root,html,body{min-height:100%}html,body{overscroll-behavior-y:contain}html{height:auto;min-height:100%}body{min-height:100%;overflow-y:auto}body{background-color:var(--bg);color:var(--text);font-family:Farabee Regular,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans,sans-serif;line-height:1.55;padding-bottom:var(--app-bottom-offset)}.app-layout{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}main#content{flex:1 0 auto;display:flex;flex-direction:column}.muted{color:var(--muted)}p{color:var(--muted);margin:0 0 12px}.subtitle{font-size:clamp(1px,2vw,30px);color:var(--muted)}.footer{padding:22px 0;margin-top:var(--gap-compact);color:var(--muted);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border)}.footer .row{display:flex;justify-content:space-between;align-items:center}h1{line-height:1.2;margin:0 0 16px;font-size:clamp(35px,5vw,70px);font-weight:900}h2{line-height:1.2;margin:0 0 16px;font-size:clamp(20px,4vw,40px);font-weight:600;text-align:center}h3{line-height:1.2;margin:0 0 16px;font-size:clamp(18px,3.2vw,34px)}h4{line-height:1.2;margin:0 0 10px;font-size:clamp(15px,2.5vw,30px);font-weight:400}h2.title-with-icon{display:flex!important;justify-content:center;align-items:center;text-align:center;gap:.2em;margin-bottom:var(--gap-stack)}.title-with-icon .title-icon,tgs-player.title-icon{width:1em;height:1em;flex:0 0 auto;display:inline-block;vertical-align:middle;transform:translateY(.12em)}.title-with-icon{display:inline-flex;align-items:center;gap:.25em}.title-with-icon{display:inline-flex;align-items:center;gap:.2em;line-height:1.1}.title-icon{height:1em;width:1em;object-fit:cover;vertical-align:middle;flex:0 0 auto;transform:translateY(.12em)}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;padding:0;color:inherit;cursor:pointer}video{max-width:100%;width:100%;height:auto!important;display:block;background:var(--video-bg);object-fit:contain!important}.video,.video-item,.video-card,.video-wrapper,.video-frame,.videos,.video-grid{position:relative;background:var(--video-bg)}.video *,.video-item *,.video-card *,.video-wrapper *,.video-frame *{max-height:none!important;overflow:visible!important}.fit-video,.no-crop video{object-fit:contain!important;width:100%!important;height:auto!important}html:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}@media(max-width:900px){main#content{padding-bottom:24px}}a:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent),white 25%);outline-offset:2px;border-radius:12px}.i{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}.i.stroke{stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.with-icon{display:inline-flex;align-items:center;gap:8px}.fw-700{font-weight:700}.to-top .arrow{display:inline-block;width:22px;height:22px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.to-top:hover .arrow{border-color:#fff}.to-top{display:inline-flex;align-items:center;gap:8px}.skeleton{display:inline-block;height:1em;border-radius:999px;background:linear-gradient(90deg,#ffffff0f,#ffffff24,#ffffff0f);background-size:180% 100%;animation:skeleton-shimmer 1.1s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:110% 0}to{background-position:-20% 0}}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:background var(--motion-base, .24s) var(--ease-standard, ease),border-color var(--motion-base, .24s) var(--ease-standard, ease),transform var(--motion-base, .24s) var(--ease-decel, ease)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:1;background:#1010122e;z-index:0}.card.glass,.client-card.glass,.edu-card.glass,.vcard.glass,.socials-section .card.glass,.projects-section .card.glass{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass)}.glass.breath{box-shadow:var(--shadow),0 0 var(--ui-breath-glow) rgba(255,255,255,var(--ui-breath-alpha))}.glass{position:relative;overflow:hidden}.glass:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:calc(var(--radius) - 2px);background:radial-gradient(circle at top left,color-mix(in srgb,var(--glass-highlight) 70%,transparent) 0%,transparent 55%),linear-gradient(140deg,color-mix(in srgb,var(--liquid-edge, rgba(255, 255, 255, .25)),transparent 40%) 0%,transparent 65%);opacity:0;pointer-events:none;mix-blend-mode:screen;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease),transform var(--motion-slow, .56s) var(--ease-emphasized, ease);z-index:0}.glass:hover:after,.glass:focus-within:after{opacity:.35;transform:translate3d(0,-2px,0)}.glass>*{position:relative;z-index:1;z-index:2}.glass:hover,.glass:focus-visible,.glass:focus-within{background:var(--glass-hover-bg);border-color:var(--glass-hover-border);box-shadow:0 12px 32px #00000052}.glow-hover{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform;--mx: 50%;--my: 50%;--tiltX: 0deg;--tiltY: 0deg}.glow-hover:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease);background:radial-gradient(240px circle at var(--mx) var(--my),rgba(255,255,255,.22),rgba(255,255,255,.1) 22%,rgba(255,255,255,0) 62%);mix-blend-mode:screen}.glow-hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease);background:linear-gradient(140deg,#ffffff1a,#fff0 38%)}.glow-hover:is(:hover,.is-hovered):before,.glow-hover:focus-visible:before,.glow-hover:focus-within:before,.glow-hover:is(:hover,.is-hovered):after,.glow-hover:focus-visible:after,.glow-hover:focus-within:after{opacity:1}.glow-hover:is(.card,.client-card,.edu-card,.vcard,.timeline-card):before{background:none;opacity:0!important}.header .contact-cta.breath,.header .read-mode-cta.breath,.floating-actions .fab-cv.breath{box-shadow:0 10px 28px #00000059,0 0 var(--ui-breath-glow) rgba(255,255,255,var(--ui-breath-alpha))}a.link-fx{position:relative;text-decoration:none;text-underline-offset:4px}a.link-fx:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;border-radius:999px;background:linear-gradient(90deg,#fff0,#fff,#fff0);transform:scaleX(0);transform-origin:50% 50%;opacity:0;transition:transform var(--motion-base, .24s) var(--ease-standard, ease),opacity var(--motion-base, .24s) var(--ease-standard, ease)}a.link-fx:hover:after,a.link-fx:focus-visible:after{transform:scaleX(1);opacity:.95}a.link-fx .arrow{display:inline-block;transition:transform var(--motion-base, .24s) var(--ease-standard, ease)}a.link-fx:hover .arrow,a.link-fx:focus-visible .arrow{transform:translate(3px)}.keyword-link.link-fx:after{display:none}.keyword-link{color:inherit;text-decoration:none;border-bottom:1px dashed var(--glass-highlight);padding-bottom:.12em;transition:border-bottom-color var(--motion-fast, .2s) var(--ease-standard, ease),border-bottom-width var(--motion-fast, .2s) var(--ease-standard, ease),text-shadow var(--motion-fast, .2s) var(--ease-standard, ease)}.keyword-link:hover,.keyword-link:focus-visible{text-decoration:none;border-bottom-style:solid;border-bottom-width:2px;border-bottom-color:var(--accent);outline:none;box-shadow:none;text-shadow:0 0 10px rgba(229,57,53,.2)}.keyword-link:focus,.keyword-link:focus-visible{outline:none;box-shadow:none}.magnetic-wrap{display:inline-flex;align-items:stretch;justify-content:center}.magnetic{--mag-x: 0px;--mag-y: 0px;translate:var(--mag-x) var(--mag-y);transition:translate .16s var(--ease-decel, ease-out);will-change:translate}@media(hover:hover)and (pointer:fine){.cta:hover{border-color:var(--glass-hover-border);background:var(--glass-hover-bg);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.thumb.glow-hover:hover,.thumb.glow-hover:focus-within{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));filter:brightness(1.02)}.thumb.no-tilt.glow-hover:hover,.thumb.no-tilt.glow-hover:focus-within{transform:translate3d(0,-4px,0)}@media(any-hover:hover){.contact-item:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff0d}}.custom-cursor{position:fixed;top:0;left:0;opacity:0;width:18px;height:18px;border:2px solid var(--accent);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:transform .18s ease,width .18s ease,height .18s ease,background .18s ease;z-index:1000;mix-blend-mode:blend}.custom-cursor.is-ready{opacity:.7}.custom-cursor.active{width:40px;height:40px;background:var(--accent);border-color:var(--accent)}.route-stack{position:relative;isolation:isolate;z-index:1}.route-layer--exit{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1;will-change:opacity,filter;contain:layout paint style}.route-layer-shift{will-change:transform}.route-layer--enter{position:relative;z-index:1;opacity:1;pointer-events:auto;will-change:transform,opacity;contain:layout paint style}.route-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .25s ease;background:linear-gradient(0deg,#00000042,#00000042),radial-gradient(120% 140% at 50% 30%,#ffffff0f,#0000 58%),radial-gradient(90% 120% at 50% 60%,#ffffff09,#0000 62%);-webkit-backdrop-filter:blur(10px) saturate(1.03);backdrop-filter:blur(10px) saturate(1.03);will-change:opacity}@keyframes route-overlay-drift{0%{transform:translateZ(0)}50%{transform:translate3d(0,-10px,0)}to{transform:translateZ(0)}}html[data-route-phase=transitioning] .route-overlay{opacity:0;animation:route-overlay-drift 2s ease-in-out infinite,route-overlay-fade var(--route-total-ms, 1s) cubic-bezier(.4,0,.2,1) both}html:not([data-route-phase]) .route-overlay{opacity:0}html[data-route-phase=transitioning] .route-layer--enter{opacity:0;transform:translateZ(0);pointer-events:none}@keyframes route-enter-from-right{0%{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-enter-from-left{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes route-enter-home-blur{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes route-exit-fade{0%{opacity:1}to{opacity:0}}@keyframes route-exit-blur{0%{filter:blur(0)}to{filter:blur(8px)}}html[data-route-phase=transitioning][data-route-dir=forward] .route-layer--enter{animation:route-enter-from-right var(--route-enter-ms, .56s) cubic-bezier(.4,0,.2,1) both;animation-delay:var(--route-enter-delay-ms, .28s)}html[data-route-phase=transitioning][data-route-dir=forward] .route-layer--exit{animation:route-exit-fade var(--route-exit-ms, .56s) ease both,route-exit-blur var(--route-exit-ms, .56s) ease both}html[data-route-phase=transitioning][data-route-dir=backward] .route-layer--enter{animation:route-enter-from-left var(--route-enter-ms, .56s) cubic-bezier(.4,0,.2,1) both;animation-delay:var(--route-enter-delay-ms, .28s)}html[data-route-phase=transitioning][data-route-dir=backward] .route-layer--exit{animation:route-exit-fade var(--route-exit-ms, .56s) ease both,route-exit-blur var(--route-exit-ms, .56s) ease both}html[data-route-phase=transitioning][data-route-enter=home-blur] .route-layer--enter{animation:route-enter-home-blur var(--route-enter-ms, .56s) cubic-bezier(.22,1,.36,1) both;animation-delay:var(--route-enter-delay-ms, .28s)}html.is-transitioning,html.is-transitioning body{overflow:hidden!important;overscroll-behavior:none}html.is-transitioning{overflow-anchor:none}html.is-transitioning .route-stack{padding-right:var(--scrollbar-comp, 0px);min-height:var(--route-freeze-h, 100vh)}.route-layer--exit,.route-layer--enter{z-index:3}.route-overlay{z-index:4}.reveal{opacity:0;transform:translate3d(0,16px,0);filter:blur(7px);--reveal-delay: 0ms;transition:opacity .55s ease,transform .95s ease,filter .7s ease;transition-delay:var(--reveal-delay),var(--reveal-delay),var(--reveal-delay);will-change:transform,opacity,filter}.reveal.is-revealed{opacity:1;transform:translateZ(0);filter:blur(0)}.card.glass.reveal{transition:background .2s ease,border-color .2s ease,opacity .55s ease,filter .7s ease;transition-delay:0ms,0ms,var(--reveal-delay),var(--reveal-delay);--reveal-y: 16px}.card.glass.reveal.is-revealed{transition:background .2s ease,border-color .2s ease,transform .18s ease,opacity .55s ease,filter .7s ease;transition-delay:0ms,0ms,0ms,var(--reveal-delay),var(--reveal-delay);--reveal-y: 0px}.fx-orbs{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:var(--fx-opacity, .35);mix-blend-mode:screen;will-change:opacity;transition:opacity 3s ease;transform:translateZ(0)}html[data-route-phase=transitioning] .fx-orbs{opacity:0;transition-duration:var(--route-exit-ms, .7s)}body:before{content:"";position:fixed;top:calc(var(--noise-inset-top) - 500px);bottom:calc(var(--noise-inset-bottom) - 500px);left:-500px;right:-500px;pointer-events:none;z-index:0;transform:translateZ(0);background-image:url(/assets/noise-YhARO4YA.gif);background-repeat:repeat;background-size:var(--noise-size);opacity:.15}html[data-noise-phase=active] body:before,html[data-route-phase=transitioning] body:before{background-image:url(/assets/noise-BBgKMyA6.png)}html.modal-open body:before{background-image:none}@media(prefers-reduced-motion:reduce){body:before{background-image:url(/assets/noise-BBgKMyA6.png)}}@keyframes noise-shift{0%{transform:translateZ(0)}to{transform:translate3d(-64px,-64px,0)}}@keyframes noise-fade{0%{opacity:.12}50%{opacity:.16}to{opacity:.12}}body:after{content:"";position:fixed;top:-120vh;bottom:-120vh;left:-20vw;right:-20vw;pointer-events:none;z-index:-2;transform:translateZ(0);background:radial-gradient(160% 140% at 50% 12%,#0000,#0000001a 45%,#00000052 70%,#0000008c),linear-gradient(180deg,#0000001f,#00000094 74%,#000000db);background-repeat:no-repeat;background-size:200% 180%,100% 140%;background-position:50% -24vh,50% 0;background-attachment:fixed,fixed}.container{margin:0 auto;max-width:var(--container-max);padding-inline:var(--container-pad)}.section{scroll-margin-top:calc(var(--header-h) + 16px);padding-block:var(--gap-section-y)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap-grid)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-grid)}.section .container>*+*{margin-top:var(--gap-stack)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr);gap:var(--gap-grid)}}@media(max-width:480px){.grid{grid-template-columns:1fr;gap:var(--gap-grid)}}#connect .container{margin:0 auto;max-width:var(--container-max);padding-inline:var(--container-pad)}#connect{scroll-margin-top:80px;padding-top:var(--gap-compact);padding-bottom:var(--gap-compact)}@media(max-width:1024px){.cards,.grid,.projects-grid,.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--gap-grid)}}.grid.media-row{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;grid-template-columns:none;overflow-x:auto;gap:14px;align-items:center;padding-top:4px;margin-top:-4px;padding-bottom:4px;scroll-snap-type:x proximity}@media(min-width:900px){.grid.media-row{scrollbar-width:none;-ms-overflow-style:none}.grid.media-row::-webkit-scrollbar{height:0;display:none}}.avatar-orb{position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate}.avatar-orb:before{content:"";position:absolute;top:-28%;right:-28%;bottom:-28%;left:-28%;border-radius:50%;background:radial-gradient(circle,#e8e8e852,#d6d6d62e,#c2c2c200 70%);filter:blur(8px);opacity:.7;z-index:0;pointer-events:none;animation:avatar-orb-breath 8s ease-in-out infinite}.avatar{width:calc(156px * var(--hero-scale));aspect-ratio:1 / 1;height:auto;border-radius:50%;overflow:hidden;border:1px solid var(--text);box-shadow:var(--shadow);background:var(--bg);flex:0 0 auto;-webkit-backdrop-filter:none;backdrop-filter:none;animation:avatar-ring-fade 12s ease-in-out infinite;position:relative;isolation:isolate;z-index:1}.hero-right .card{padding:var(--space-4);gap:var(--space-3)}.hero-left{gap:var(--space-3)}.hero-section{min-height:calc(100svh - var(--header-h, 64px));padding-top:12px;padding-bottom:0;display:flex;flex-direction:column;--hero-scale: clamp(.25, calc(100vw/1200px) , 1)}.hero-left{display:flex;flex-direction:column;gap:calc(var(--space-3) * var(--hero-scale));align-items:center}.hero-section{min-height:auto!important;padding-top:var(--hero-gap)!important;padding-bottom:0!important;margin-top:8px!important}.hero-section .container{padding-inline:10vw}.hero-section .ticker{margin-top:var(--hero-gap)!important}.hero-works-teaser{display:grid;grid-template-columns:1fr;align-items:center;margin-top:var(--space-2);position:relative}.hero-works-teaser .caption{grid-column:1;grid-row:1;justify-self:center;text-align:center;font-size:clamp(12px,1.1vw,14px);line-height:1.2;color:#fff9;z-index:1}.hero-works-teaser .btn:hover,.hero-works-teaser .btn:focus-visible{transform:translateY(-50%)}.hero-works-teaser .btn.glass:before{display:none}.hero-works-teaser .btn.glass,.hero-works-teaser .btn.glass:hover,.hero-works-teaser .btn.glass:focus-visible{box-shadow:none}.profile-text h1{margin:0;line-height:1.1;font-size:calc(65px * var(--hero-scale));white-space:nowrap;word-break:normal;overflow-wrap:normal}.hero-firstname,.hero-lastname{display:inline-block}.profile-text{display:inline-flex;flex-direction:column;align-items:flex-start;max-width:100%}.hero-subtitle-row{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:calc(10px * var(--hero-scale));margin-top:calc(10px * var(--hero-scale));width:var(--hero-name-width, 100%);max-width:100%}.hero-subtitle-row .subtitle{flex:1 1 auto;min-width:0;font-size:calc(26px * var(--hero-scale));white-space:nowrap}.hero-subtitle-row .skills-cloud-caption{display:inline-flex;align-items:center;flex:0 0 auto;font-size:calc(20px * var(--hero-scale));line-height:1.2;white-space:nowrap;padding-block:0;padding-inline:.6em;transform:translate(-.5vw)}.hero-section .ticker.full-bleed{width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-left:0!important;border-right:0!important;border-radius:0!important}.hero-section .ticker{margin-top:auto}.hero-section .ticker{width:100%;margin:0}.ticker-mobile{display:none}.hero-ticker-wrap{position:relative;width:100%}.hero-works-cta{display:none;position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:flex-end;padding-right:clamp(10px,3.6vw,24px);z-index:2;pointer-events:none}.hero-works-cta-btn{padding:5px 8px;font-size:clamp(10px,2.8vw,12px);color:#ffffffd1;background:#ffffff14;border-color:#fff3;box-shadow:0 8px 18px #0000002e;pointer-events:auto}.hero-works-cta-btn:before{display:none}@supports (color: color-mix(in srgb,white,black)){.hero-works-cta-btn{background:color-mix(in srgb,var(--glass) 70%,rgba(255,255,255,.22) 30%)}}.hero-works-cta-icon{display:inline-flex;align-items:center;transition:transform .2s ease}@media(hover:hover)and (pointer:fine){.hero-works-cta-btn:hover .hero-works-cta-icon,.hero-works-cta-btn:focus-visible .hero-works-cta-icon{transform:translate(3px)}}.avatar.glass:before,.avatar.glass:after{display:none!important}.avatar.glass:hover,.avatar.glass:focus-visible,.avatar.glass:focus-within{background:var(--bg);border-color:var(--glass-border);box-shadow:var(--shadow)}.hero .avatar{pointer-events:none}.hero .avatar img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:480px){.title{font-size:clamp(22px,7vw,28px)}}@media(min-width:901px){.avatar-orb:before{display:none}}@media(max-width:900px){.hero{grid-template-columns:1fr;margin-top:3vw;margin-bottom:3vw}.hero-section{--hero-gap: clamp(20px, 5vw, 40px);--hero-scale: clamp(.6, calc(100vw/700px) , .9);--hero-stack-gap: clamp(10px, 3vw, 16px)}.hero-section .container{padding-inline:clamp(18px,6vw,36px)}.profile{flex-direction:column;align-items:center;gap:clamp(12px,4vw,20px)}.avatar{width:clamp(110px,30vw,170px)}.profile-text{min-width:0;width:100%;max-width:100%;align-items:center;text-align:center}.profile-text h1{font-size:clamp(32px,10vw,56px);line-height:1.05;white-space:normal;word-break:normal;overflow-wrap:normal;margin:0}.hero-subtitle-row{flex-direction:column;align-items:center;justify-content:center;width:max-content;gap:var(--hero-stack-gap);margin-top:8px}.hero-subtitle-row .subtitle{font-size:calc(clamp(16px,5vw,22px) * var(--hero-subtitle-scale, 1));white-space:nowrap;text-align:center;margin-top:0}.hero-subtitle-row .skills-cloud-caption{font-size:clamp(14px,4.2vw,18px);transform:none;justify-self:center}.hero-section .ticker{margin-top:0!important}.hero-ticker-wrap:after{content:"";position:absolute;top:0;right:0;height:100%;width:45%;pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#000)}.hero-works-cta{display:flex}.hero-ticker-wrap{margin-top:var(--hero-stack-gap)}}@media(hover:hover)and (pointer:fine){.hero-works-teaser .btn:hover,.hero-works-teaser .btn:focus-visible{transform:translateY(-50%)}}.avatar img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}@keyframes avatar-ring-fade{0%,to{border-color:var(--glass)}50%{border-color:var(--text)}}@keyframes avatar-orb-breath{0%,to{transform:scale(.96);opacity:.55}50%{transform:scale(1.04);opacity:.85}}.hero .profile{margin:0}.profile-text{min-width:0}.hero{flex:1 1 auto;display:grid;grid-template-columns:1fr;gap:calc(24px * var(--hero-scale));place-items:center;align-items:center;min-height:auto}.profile{display:flex;align-items:center;gap:calc(36px * var(--hero-scale))}.hero-section+section{margin-top:0}.profile-text .subtitle{margin-top:calc(4px * var(--hero-scale))}.nav a{color:var(--muted);padding:8px 10px;border-radius:12px;transition:all .25s ease}.nav a:hover{color:var(--text);background:#ffffff14}.header{isolation:isolate;position:sticky!important;top:0!important;bottom:auto!important;width:100%!important;z-index:var(--z-sticky)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-top:1px solid var(--glass-border);border-top:0!important}html.overlay-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}html.nav-open:before{opacity:1;pointer-events:auto;background:#0a0a0c75;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-overlay)}@media(max-width:480px){.header{position:sticky!important;top:0!important;bottom:auto!important;background:var(--glass)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-top:0!important;border-bottom:0!important}html.overlay-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}.nav{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;height:100dvh!important;display:grid!important;grid-auto-flow:row!important;align-content:center!important;justify-items:center!important;gap:14px!important;padding:32px 20px!important;background:var(--glass)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;z-index:var(--z-drawer);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}.nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}.nav a{font-size:18px!important;padding:12px 16px!important}.nav a span{display:inline!important}}@media(max-width:900px){.header .inner{padding-top:16px;padding-bottom:16px;justify-content:center!important}.nav{flex-direction:column;align-items:stretch;justify-content:center;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;height:100dvh!important;display:grid!important;grid-auto-flow:row!important;align-content:center!important;justify-items:center!important;gap:14px!important;padding:24px 20px!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;z-index:var(--z-drawer);opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .2s ease,transform .2s ease,visibility 0s .2s!important;isolation:isolate!important}.nav a{display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;width:100%!important;padding:12px 16px!important;border-radius:12px!important;background:var(--glass)!important}.nav a:active{transform:translateY(1px)!important}.nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;transition:opacity .2s ease,transform .2s ease,visibility 0s 0s!important}.header{display:none!important}.nav a span{display:inline!important}.footer{display:none!important}.nav-open .header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:0!important;position:relative!important;z-index:var(--z-drawer)!important}.nav-open{overflow:hidden!important;height:100vh!important}.nav-open body{overflow:hidden!important}.header .nav{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;height:100dvh!important;z-index:var(--z-drawer);opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important;transition:opacity .2s ease,transform .2s ease,visibility .2s step-end!important}}@media(min-width:901px){body{padding-top:var(--app-top-offset)!important}.header{position:fixed!important;top:0!important;bottom:auto!important;left:0;right:0;width:100%!important;z-index:var(--z-sticky)!important;background:var(--glass-bg)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border-bottom:1px solid var(--glass-border)!important}}@media(max-width:900px){.nav{position:fixed;left:0;right:0;bottom:0;top:auto;display:grid;grid-auto-flow:row;gap:12px;padding:20px 16px calc(env(safe-area-inset-bottom) + 20px);max-height:75vh;overflow:auto;background:#0a0a0cf5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -10px 30px #00000080;transform:translateY(100%);transition:transform .28s ease;z-index:var(--z-drawer)}.nav.is-open{transform:translateY(0)}.nav a{font-size:18px;padding:12px 16px;border-radius:12px;background:#ffffff0a}.nav a:active{transform:translateY(1px)}}.header .inner{display:flex;align-items:center;justify-content:center;padding:14px 0}.header>.container.inner{width:80vw;margin:0 auto}.header .nav a.active{color:#fff!important}.header .nav a.active .i,.header .nav a.active .i.stroke,.header .nav a.active svg path,.header .nav a.active svg circle{color:#fff!important;stroke:#fff!important}.nav{isolation:isolate}.nav a span{display:inline!important}.nav-open{overflow:hidden;height:100dvh}.nav-open body{overflow:hidden}.nav a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.nav a:visited,.nav a:hover,.nav a:focus{text-decoration:none}.nav{display:grid;grid-auto-flow:column;gap:16px;justify-content:center;justify-items:center;width:100%}.header .contact-cta{width:clamp(44px,5vh,56px);height:clamp(44px,5vh,56px);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 10px 28px #00000059;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.header .read-mode-cta{width:clamp(44px,5vh,56px);height:clamp(44px,5vh,56px);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:#c7c5c2;color:#3f3f3f;box-shadow:0 10px 24px #0000003d;border:1px solid #cfcfcf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.header .contact-cta .i,.header .contact-cta .i.stroke,.header .contact-cta svg path .header .contact-cta svg rect,.header .contact-cta svg circle{color:var(--text);stroke:currentColor}.header .read-mode-cta .i,.header .read-mode-cta .i.stroke,.header .read-mode-cta svg path,.header .read-mode-cta svg circle{color:#4d3c2a;stroke:currentColor}.header .contact-cta:hover{background:color-mix(in srgb,var(--text) 60%,transparent);border-color:var(--text);filter:brightness(1.03);transform:translateY(-1px)}.header .read-mode-cta:hover{background:color-mix(in srgb,#fcfcfc 8%,#e6e6e6);border-color:#bdbdbd;filter:brightness(1.03);transform:translateY(-1px)}.header .contact-cta:active{transform:translateY(0)}.header .read-mode-cta:active{background:color-mix(in srgb,#3f3f3f 12%,#e6e6e6);transform:translateY(0)}.header .header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px}@media(min-width:901px){.header .inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-content:stretch}.header .nav{grid-column:2;width:auto;justify-content:center}.header .header-actions{grid-column:3;justify-self:end}}@media(max-width:900px){.header .header-actions,.header .read-mode-cta,.header .contact-cta{display:none!important}}.nav-open{overflow:hidden}@supports not (height: 100dvh){.nav-open{height:100vh}}@media(hover:hover)and (pointer:fine){.btn:hover{background:var(--glass-hover-bg);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.btn.primary{background:#e539358c;border-color:#ffffff3d;color:#fff}@supports (color: color-mix(in srgb,white,black)){.btn.primary{background:color-mix(in srgb,var(--glass) 62%,rgba(229,57,53,.6) 38%)}}@media(hover:hover)and (pointer:fine){.btn.primary:hover{filter:brightness(1.15);transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass);box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative;overflow:hidden;transition:background var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease),transform var(--motion-fast, .2s) var(--ease-decel, ease),box-shadow var(--motion-base, .24s) var(--ease-standard, ease)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:.55;background:radial-gradient(120px circle at 22% 18%,rgba(255,255,255,.14),transparent 60%),linear-gradient(160deg,#ffffff14,#fff0 42%);mix-blend-mode:screen}@supports (color: color-mix(in srgb,white,black)){.btn:before{background:radial-gradient(120px circle at 22% 18%,color-mix(in srgb,var(--fx-light-0) 18%,transparent),transparent 60%),linear-gradient(160deg,#ffffff14,#fff0 42%)}}.btn>*{position:relative;z-index:1}.btn-contrast{border:1px solid transparent}.btn-xl{padding:clamp(14px,2.4vw,20px) clamp(55px,3vw);font-size:clamp(16px,12vw,20px);border-radius:18px}.cta{border:1px solid var(--glass-border);padding:8px 12px;border-radius:12px;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);position:relative;overflow:hidden}.vcard{width:clamp(180px,20vw,260px);aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:var(--shadow);position:relative;cursor:pointer;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease),background var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease)}.kpi{text-align:right;font-size:14px;color:var(--muted)}.kpi .num{font-size:18px;color:var(--text);font-weight:700}.thumb{position:relative;width:auto;overflow:hidden;border-radius:14px;padding:var(--space-2);transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease)}.uniform-media{height:var(--media-h);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#00f;border-radius:14px;border:1px solid var(--glass-border)}.client-card .logo{width:42px;height:42px;border-radius:12px;background:#ffffff14;display:grid;place-items:center;font-weight:800;border:1px solid var(--glass-border)}.card{padding:var(--space-4);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.card .info{display:flex;align-items:center;gap:var(--space-3)}@media(max-width:900px){.card{border-radius:16px;padding:var(--space-4);gap:var(--space-3);align-items:flex-start}.card .info{align-items:flex-start}.card .actions{gap:8px}}.card .icon{width:48px;height:48px;border-radius:14px;overflow:hidden;display:grid;place-items:center}.card .icon img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;object-fit:contain;object-position:center center;border-radius:inherit}.card .icon tgs-player{width:100%;height:100%;display:block}.client-card .info,.review-card .info{display:flex;align-items:center;gap:12px}.card:is(:hover,.is-hovered){--tiltLift: 0px;background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}.card.glow-hover{--tiltLift: 0px;transform:perspective(900px) translate3d(0,calc(var(--reveal-y, 0px) + var(--tiltLift, 0px)),0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}@media(hover:hover)and (pointer:fine){.card.glow-hover:is(:hover,.is-hovered){--tiltLift: 0px}}.thumb img{width:100%;height:auto;display:block;transition:transform .35s ease}.thumb,.thumb .uniform-media{border-radius:16px;overflow:hidden}.thumb img,.thumb video,.thumb picture>img,.thumb iframe{border-radius:16px}.thumb:hover img{transform:scale(1.04)}.thumb .label{position:absolute;left:10px;bottom:10px;padding:6px 10px;background:#00000073;border-radius:10px;font-size:14px;pointer-events:none}.grid.media-row>.thumb{scroll-snap-align:start end}.client-card:is(:hover,.is-hovered){transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}.clients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap-grid)}.client-card{padding:16px;display:flex;align-items:center;justify-content:space-between}.play-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.play-badge:before{content:"";width:58px;height:58px;border-radius:50%;background:#00000073;border:2px solid rgba(255,255,255,.6);display:grid;place-items:center}.vcard:is(:hover,.is-hovered){transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));filter:brightness(1.05)}.vcard img{width:100%;height:100%;object-fit:contain;background:#121215}.play-badge:after{content:"";position:absolute;width:0;height:0;border-left:16px solid white;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}.vcard{width:max(180px,22.5vw)!important}.actions{display:flex;gap:10px;margin-top:10px}.uniform-media>img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>picture{height:100%;width:auto;max-width:100%;display:block}.uniform-media>picture>img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>video{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media>iframe{height:100%;width:auto;max-width:100%;object-fit:contain;display:block}.uniform-media{border-radius:16px;overflow:hidden}.uniform-media>img,.uniform-media>video,.uniform-media>canvas,.uniform-media>iframe{border-radius:inherit;display:block}.scroll-hint.media-row-hint{display:flex;gap:0;align-items:center;justify-content:space-between;width:100%;padding-inline:10%;margin:var(--space-4) 0 0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.media-row-hint .chevrons{display:flex;align-items:center;gap:0;pointer-events:auto;cursor:pointer}.media-row-hint .chevron{width:22px;height:18px;fill:none;stroke:var(--scroll-hint-color, #fff);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;filter:var(--scroll-hint-filter, drop-shadow(0 0 9px rgba(255, 255, 255, .75)));opacity:.75}.media-row-hint .left .chevron{animation:hint-left 1.6s ease-in-out infinite}.media-row-hint .right .chevron{animation:hint-right 1.6s ease-in-out infinite}.scroll-hint.media-row-hint .chevrons.is-hidden{display:flex;visibility:hidden;pointer-events:none}.ticker.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-left:0;border-right:0;border-radius:0}.ticker.glass{border-radius:0!important}.ticker-track{display:flex;align-items:center;gap:12px;width:max-content;animation:ticker-move 38s linear infinite;will-change:transform}.ticker{position:relative;padding:10px 0;overflow:hidden}.ticker.glass:hover,.ticker.glass:focus-within{background:var(--glass);border-color:var(--glass-border);box-shadow:var(--shadow)}.ticker.glass:before{opacity:0!important;transform:none!important}.ticker.glass:after,.ticker.glass:hover:after,.ticker.glass:focus-within:after{opacity:0!important;transform:none!important}.ticker--scroll{overflow:hidden;cursor:auto;touch-action:pan-y;overscroll-behavior-x:none}.ticker--scroll.is-grabbing{cursor:auto}.ticker--scroll .ticker-track{animation:none;will-change:transform}.ticker--scroll .vcard{scroll-snap-align:start}.ticker .vcard{transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease),border-color var(--motion-fast, .2s) var(--ease-standard, ease),box-shadow var(--motion-fast, .2s) var(--ease-standard, ease);border-color:var(--glass-border)}.ticker .vcard:is(:hover,.is-hovered),.ticker .vcard:focus-visible{border-color:var(--glass-hover-border);box-shadow:0 0 0 2px color-mix(in srgb,var(--glass-hover-border) 70%,transparent),0 12px 28px #00000059;transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));z-index:2}.ticker .vcard.no-tilt:is(:hover,.is-hovered),.ticker .vcard.no-tilt:focus-visible{transform:translateZ(0)}@keyframes ticker-move{0%{transform:translate(0)}to{transform:translate(-50%)}}.modal .desc{color:var(--muted)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);top:0;bottom:0;position:fixed;top:var(--app-top-offset);left:0;right:0;bottom:var(--app-bottom-offset);background:#0000008c;backdrop-filter:blur(2px);display:none;z-index:var(--z-header)}html.overlay-open .modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.modal .panel{max-width:calc(100% - 2 * var(--modal-gap));max-height:calc(100% - 2 * var(--modal-gap));width:auto;padding:16px;position:relative;flex-direction:column;gap:12px;max-inline-size:min(96cqi,calc(var(--vw) - 2 * var(--modal-gap)));max-block-size:calc(var(--vh) - 2 * var(--modal-gap));display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:stretch;overflow:auto}.modal{position:fixed;top:var(--app-top-offset);left:0;right:0;bottom:var(--app-bottom-offset);display:none;align-items:center;justify-content:center;padding:var(--modal-gap);z-index:var(--z-modal)}.modal .media>svg{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .close:focus-visible{transform:scale(1.06)}.modal .media{background:transparent;border-radius:12px;margin:0;inline-size:100%;block-size:100%;display:grid;place-items:center;overflow:hidden}.modal .panel>.media{max-height:100%;min-block-size:0}.modal .media>img{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>video{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>canvas{max-inline-size:100%;max-block-size:100%;width:auto;height:auto;object-fit:contain}.modal .media>iframe{max-inline-size:100%;max-block-size:100%;width:100%;height:100%;border:0}.modal .media{overflow:hidden}.modal .media>img,.modal .media>video,.modal .media>canvas,.modal .media>iframe{display:block;width:min(100%,var(--media-max-w, 96vw))!important;max-width:100%!important;max-height:var(--media-max-h, 90svh)!important;height:auto!important;object-fit:contain!important;border:0}.modal .title{font-size:20px;margin:0;align-self:stretch}.modal .close:after{content:"✕"}.modal .close:after{content:"✕";font-size:20px;line-height:1;color:#fff}.modal .close:hover{transform:scale(1.06)}.modal.open{display:flex}.modal-backdrop.open{display:block}.modal .desc{font-size:14px;opacity:.9;align-self:stretch}.modal .meta{font-size:14px;opacity:.9;align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal .meta-date{color:var(--muted);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.modal .modal-tags{margin:0;justify-content:flex-end;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:70%;padding-bottom:2px;gap:clamp(6px,1.2vw,10px)}.modal .modal-tags .tag-chip{font-size:clamp(11px,1.2vw,14px);padding:clamp(5px,.9vw,8px) clamp(7px,1vw,10px);white-space:nowrap;flex:0 0 auto}.modal .modal-tags .tag-chip__icon{width:clamp(14px,1.6vw,18px);height:clamp(14px,1.6vw,18px)}.modal.open,.modal-backdrop.open{display:flex}.modal .close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:#00000080;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;cursor:pointer}.modal{display:none;position:fixed;top:var(--modal-offset-top, 0px);bottom:var(--modal-offset-bottom, 0px);left:0;right:0;z-index:var(--z-modal, 60);padding-top:max(var(--modal-pad-top, 12px),env(safe-area-inset-top),12px);padding-right:max(var(--modal-pad-side, 12px),env(safe-area-inset-right),12px);padding-bottom:max(var(--modal-pad-bottom, 12px),env(safe-area-inset-bottom),12px);padding-left:max(var(--modal-pad-side, 12px),env(safe-area-inset-left),12px);align-items:center;justify-content:center}.modal-backdrop{position:fixed;left:0;right:0;top:var(--modal-offset-top, 0px);bottom:var(--modal-offset-bottom, 0px);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;z-index:var(--z-overlay, 30)}.modal .panel{box-sizing:border-box;display:flex;flex-direction:column;--glass-hover-border: var(--glass-border);max-width:min(96vw,1200px);max-height:min(96svh,96vh);width:min(auto);height:min(auto);overflow:hidden}.modal .title,.modal .desc{flex:0 0 auto}.modal .media{flex:1 1 auto;min-height:0;display:grid;place-items:center}.modal .media>*{max-width:var(--media-max-w, 96vw);max-height:var(--media-max-h, 90svh);width:auto;height:auto;object-fit:contain}.modal .media .yt-embed{width:100%;max-width:var(--media-max-w, 96vw);max-height:var(--media-max-h, 90svh);aspect-ratio:16 / 9}.modal .media .yt-embed iframe{width:100%;height:100%;display:block}.modal .media.portrait>*,.modal .media.landscape>*{object-fit:contain}.modal .visit{position:absolute;top:18px;right:66px;width:38px;height:38px;border-radius:50%;background:#fff;color:#111;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #00000026,0 3px 12px #00000014;display:grid;place-items:center;text-decoration:none;cursor:pointer}.modal .visit:after{content:"↗";font-size:18px;line-height:1}@media(hover:hover)and (pointer:fine){.modal .visit:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}}.modal .visit:active{transform:translateY(0)}.modal .visit,.modal .close{position:absolute;width:var(--modal-control-size, 38px);height:var(--modal-control-size, 38px);top:calc(var(--panel-padding, 16px) + ((var(--modal-title-line, 21px) + var(--modal-title-gap, 6px)) / 2) - (var(--modal-control-size, 38px) / 2));border-radius:50%;display:grid;place-items:center;box-sizing:border-box;z-index:10}.modal .close{right:18px}.modal .visit{right:calc(18px + var(--modal-control-size, 38px) + var(--modal-controls-gap, 10px))}.modal .visit,.modal .close{border-width:1px}.modal .title,.modal .desc{padding-right:calc(18px + (var(--modal-control-size, 38px) * 2) + var(--modal-controls-gap, 10px));overflow-wrap:anywhere;word-break:break-word}.contact-overlay .btn-contrast.with-icon img,.contact-overlay .btn-contrast.with-icon tgs-player{--icon-size: clamp(.9em, 1.05em, 1.1em);width:var(--icon-size)!important;height:var(--icon-size)!important;padding:0;object-fit:contain;border-radius:6px;flex:0 0 auto}.contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:10000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease),visibility 0s linear var(--motion-base, .24s)}.contact-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--motion-base, .24s) var(--ease-standard, ease)}.contact-overlay .contact-actions{display:flex;flex-direction:column;align-items:center;gap:16px;width:fit-content;max-width:90vw;margin:0 auto}.contact-overlay .contact-actions .btn{width:auto;display:grid;place-items:center;justify-content:center;font-size:clamp(21px,3.75vw,30px);padding:clamp(18px,3.3vw,27px) clamp(42px,6.75vw,84px);border-radius:clamp(21px,1.875em,39px);line-height:1.1}@media(min-width:900px){.contact-overlay .contact-actions{flex-direction:row;justify-content:center}.contact-overlay .contact-actions .btn{width:auto;padding:clamp(20px,3.1vw,32px)}}@media(max-width:899px){.contact-overlay .contact-actions .btn{width:100%}}.contact-overlay .contact-actions .btn-content{display:inline-flex;align-items:center;justify-content:center;gap:clamp(8px,.6em,14px);margin-inline:auto}.contact-overlay .contact-actions .btn-content>*{flex:0 0 auto}.contact-modal .contact-actions{display:flex;flex-direction:column;gap:16px}.contact-overlay a:focus-visible,.contact-overlay button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent),white 35%);outline-offset:4px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent),transparent 70%)}html.overlay-open .contact-overlay{background:#0a0a0c75!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.contact-overlay .btn-contrast{background:#fff;color:#000}.contact-overlay .btn-contrast:hover{transform:translateY(-3px)}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),background var(--motion-base, .24s) var(--ease-standard, ease)}.contact-item img{width:28px;height:28px}.connect-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}@media(max-width:480px){.connect-actions{flex-direction:column}}@media(min-width:480px){.contact-modal .contact-actions{flex-direction:row}}.contact-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:#fff;display:grid;place-items:center;font-size:20px;cursor:pointer;transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease)}.contact-close:hover{transform:translateY(-2px);filter:brightness(1.1)}.contact-cta-section{padding-top:0;padding-bottom:var(--gap-section-y);overflow:visible;content-visibility:visible;contain:none}@media(max-width:900px){.contact-cta-section{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.contact-cta-block__visual{padding:clamp(16px,4.4vw,22px) clamp(56px,10vw,104px)}}.contact-cta-inner{display:flex;justify-content:center}.contact-cta-block{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:999px;overflow:visible;transform:none}.contact-cta-block:hover,.contact-cta-block:focus-visible,.contact-cta-block:active{transform:none;background:transparent;box-shadow:none}.contact-cta-block:before,.contact-cta-block:after{content:none}.contact-cta-block__visual{position:relative;display:inline-flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.02em;text-transform:none;border-radius:999px;padding:clamp(18px,3.6vw,28px) clamp(76px,12vw,150px);font-size:clamp(22px,3.6vw,44px);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transform:translateZ(0);overflow:visible;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;pointer-events:none}.contact-cta-block__label{position:relative;z-index:1;pointer-events:none}@supports not (color-mix(in srgb,white,black)){.contact-cta-block__visual{border-color:#ffffff38}}.contact-cta-block__visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.45);opacity:0;transform:none;filter:blur(.2px);z-index:0;pointer-events:none}.contact-cta-block__visual:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:radial-gradient(circle at top left,color-mix(in srgb,var(--glass-highlight) 70%,transparent) 0%,transparent 55%),linear-gradient(140deg,color-mix(in srgb,var(--liquid-edge, rgba(255, 255, 255, .25)),transparent 40%) 0%,transparent 65%);opacity:0;mix-blend-mode:screen;transition:opacity .35s ease,transform .45s ease;pointer-events:none;z-index:0}@media(hover:hover)and (pointer:fine){.contact-cta-block:hover .contact-cta-block__visual{background:var(--glass);border-color:var(--glass-hover-border);box-shadow:0 12px 32px #00000052;transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}.contact-cta-block:hover .contact-cta-block__visual:after{opacity:1;animation:contact-cta-waves 3s cubic-bezier(1,1,1,1) infinite}.contact-cta-block:hover .contact-cta-block__visual:before{opacity:.35;transform:translate3d(0,-2px,0)}}.contact-cta-block:active .contact-cta-block__visual{transform:translateZ(0)}@keyframes contact-cta-waves{0%{opacity:.45;top:0;right:0;bottom:0;left:0;box-shadow:0 0 10px #ffffff1f}70%{opacity:.18;top:-28px;right:-28px;bottom:-28px;left:-28px;box-shadow:0 0 20px #ffffff14}to{opacity:0;top:-44px;right:-44px;bottom:-44px;left:-44px;box-shadow:0 0 26px #fff0}}.toast{position:fixed;top:16px;right:16px;padding:10px 14px;border-radius:14px;background:#00c110d9;color:#fff;font-weight:600;font-size:14px;box-shadow:0 8px 30px #00000040;opacity:0;transform:translateY(-10px);transition:opacity var(--motion-fast, .2s) var(--ease-standard, ease),transform var(--motion-fast, .2s) var(--ease-decel, ease);z-index:12000;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:899px){.floating-actions{position:fixed;bottom:max(16px,env(safe-area-inset-bottom,0px) + 16px);right:calc(16px + env(safe-area-inset-right,0px));transform:none;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:9999}.fab{width:7vh;height:7vh;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;box-shadow:0 10px 28px #00000059;border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease,border-color .2s ease,transform .2s ease,filter .2s ease}.fab svg{color:#fff;stroke:currentColor}.fab.fab-cv{background:#e6e6e6;border-color:#cfcfcf;color:#3f3f3f;box-shadow:0 10px 24px #0000003d}.fab.fab-cv svg{color:#3f3f3f;stroke:currentColor}.fab.fab-cv:hover{background:color-mix(in srgb,#3f3f3f 8%,#e6e6e6);border-color:#bdbdbd;filter:brightness(1.03);transform:translateY(-1px)}.fab.fab-cv:active{background:color-mix(in srgb,#3f3f3f 12%,#e6e6e6);transform:translateY(0)}.floating-actions button{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;transition:background .3s}}@media(max-width:900px){.floating-actions{bottom:calc(var(--app-bottom-offset) + 16px)!important}}@media(min-width:900px){.floating-actions{display:none!important}}@media(max-width:900px){.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:var(--bottom-nav-h);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-border);z-index:9990;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -14px 30px #00000052}.mobile-bottom-nav .item{display:inline-flex;align-items:center;justify-content:center;padding:10px 0;color:var(--accent)}.mobile-bottom-nav .item .i{width:24px;height:24px;color:inherit}.mobile-bottom-nav .item.is-active{color:#fff}.mobile-bottom-nav .safe-bottom{position:absolute;left:0;right:0;bottom:0;height:env(safe-area-inset-bottom,0px);pointer-events:none}}@media(hover:none)and (pointer:coarse)and (max-width:900px){.mobile-bottom-nav{background:#0e0e12f0;-webkit-backdrop-filter:none;backdrop-filter:none;border-top-color:#ffffff24;box-shadow:0 -16px 36px #00000052,0 -1px #ffffff0a}}@media(min-width:901px){.mobile-bottom-nav{display:none}}.scroll-hint{display:flex;gap:32px;align-items:center;justify-content:center;margin:var(--space-3) 0 0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.scroll-hint .chevrons{display:flex;align-items:center;gap:0px;pointer-events:auto;cursor:pointer}.scroll-hint .chevron{width:22px;height:18px;fill:none;stroke:var(--scroll-hint-color, #fff);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;filter:var(--scroll-hint-filter, drop-shadow(0 0 9px rgba(255, 255, 255, .75)));opacity:.75}.scroll-hint .left .chevron{animation:hint-left 1.6s ease-in-out infinite}.scroll-hint .right .chevron{animation:hint-right 1.6s ease-in-out infinite}@keyframes hint-left{0%{transform:translate(0);opacity:.5}50%{transform:translate(-8px);opacity:1}to{transform:translate(0);opacity:.5}}@keyframes hint-right{0%{transform:translate(0);opacity:.5}50%{transform:translate(8px);opacity:1}to{transform:translate(0);opacity:.5}}@media{.scroll-hint{--scroll-hint-color: #fff;--scroll-hint-filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .45))}}.scroll-hint .chevrons.is-hidden{display:none}.admin-shell{min-height:100svh;display:grid;grid-template-columns:260px minmax(0,1fr);background:radial-gradient(circle at 0 0,rgba(229,57,53,.14),transparent 34rem),#080808;color:#f5f5f5}.admin-shell--center{grid-template-columns:1fr;place-items:center;padding:24px}.admin-login,.admin-sidebar,.admin-panel{border:1px solid rgba(255,255,255,.1);background:#101010d1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.admin-login{width:min(420px,100%);display:grid;gap:20px;padding:28px;border-radius:8px}.admin-login h1,.admin-sidebar h1,.admin-panel h2,.admin-panel h3{margin:0;letter-spacing:0}.admin-login p{margin:8px 0 0;color:#ffffffad}.admin-kicker{margin:0 0 6px;color:var(--accent);font-size:12px;text-transform:uppercase}.admin-sidebar{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;gap:28px;padding:24px;border-width:0 1px 0 0}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar button,.admin-toolbar button,.admin-file-list button,.admin-backups button,.admin-panel table button,.admin-login button,.admin-upload span{min-height:38px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0f;color:inherit;font:inherit;cursor:pointer}.admin-sidebar button{text-align:left;padding:0 12px}.admin-sidebar button.is-active,.admin-file-list button.is-active,.admin-toolbar button:last-child,.admin-login button{border-color:#e53935b8;background:#e5393533}.admin-logout{margin-top:auto}.admin-workspace{min-width:0;padding:24px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-panel{min-width:0;padding:18px;border-radius:8px}.admin-panel--wide{grid-column:1 / -1}.admin-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.admin-metrics div{padding:16px;border-radius:6px;background:#ffffff0f}.admin-metrics strong{display:block;font-size:34px;line-height:1}.admin-metrics span,.admin-file-list small{color:#ffffff9e}.admin-editor-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px}.admin-file-list,.admin-backups{display:grid;gap:8px;margin-top:14px}.admin-file-list button{display:grid;gap:4px;padding:10px;text-align:left}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.admin-toolbar button,.admin-backups button,.admin-panel table button,.admin-upload span{padding:0 12px}.admin-panel--editor textarea,.admin-form textarea,.admin-form input,.admin-login input,.admin-inline-field input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#0000005c;color:inherit;font:inherit}.admin-panel--editor textarea{min-height:56svh;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;resize:vertical}.admin-form{display:grid;gap:12px}.admin-form label,.admin-login label,.admin-inline-field{display:grid;gap:6px}.admin-form label span,.admin-login label span,.admin-inline-field span{color:#ffffffad;font-size:13px}.admin-form input,.admin-login input,.admin-inline-field input{min-height:40px;padding:0 10px}.admin-form textarea{min-height:92px;padding:10px;resize:vertical}.admin-checkbox{display:flex!important;grid-template-columns:none;align-items:center;gap:10px}.admin-checkbox input{width:auto;min-height:auto}.admin-message{margin-bottom:14px;padding:10px 12px;border:1px solid rgba(229,57,53,.28);border-radius:6px;background:#e539351f}.admin-message--error{margin:0}.admin-panel table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.admin-panel td{padding:9px 8px;border-top:1px solid rgba(255,255,255,.08);vertical-align:top}.admin-upload{position:relative;overflow:hidden}.admin-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;border-width:0 0 1px}.admin-sidebar nav,.admin-metrics,.admin-grid,.admin-editor-layout{grid-template-columns:1fr}.admin-workspace{padding:14px}}#education .edu-card{position:relative;padding:20px 18px;display:flex;gap:16px;align-items:flex-start;border-radius:var(--radius);color:inherit;text-decoration:none;transition:background .25s ease,transform .18s ease}#education .edu-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--glass-border)}#education .edu-icon .i{width:22px;height:22px;color:var(--accent);stroke-width:2;opacity:.95}#education .edu-title{margin:0 0 6px;line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--text);text-wrap:balance}#education .edu-sub{margin:0 0 8px;line-height:1.35;font-weight:600;color:var(--muted)}#education .edu-body p{margin:0 0 10px;font-size:clamp(14px,1.35vw,16px);line-height:1.65;color:var(--muted);text-wrap:pretty}#education .edu-meta{margin-top:8px;font-size:clamp(13px,1.1vw,15px);line-height:1.2;color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums}#education .edu-card:focus-within{outline:2px solid color-mix(in srgb,var(--accent),white 30%);outline-offset:2px}#education h2{text-wrap:balance;letter-spacing:-.01em;margin-bottom:.8em}#education h3{font-size:clamp(18px,1.8vw,22px)}#education h4{font-size:clamp(14px,1.3vw,16px)}#education .edu-card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#education .edu-body{max-width:68ch}#education .edu-grid{display:grid;grid-template-columns:1fr;gap:var(--gap-grid)}#skills .thumb.glass{padding:var(--thumb-pad, 10px);box-shadow:none;display:inline-block}@media(max-width:900px){#skills{--thumb-pad: 8px}}@media(max-width:480px){#skills{--thumb-pad: 6px}}#skills .thumb .uniform-media{box-sizing:border-box;width:100%;height:var(--media-h);padding:0;margin:0;border-radius:calc(var(--radius, 16px) - var(--thumb-pad, 10px))}#skills .skill-section--year{content-visibility:auto;contain:layout paint style;contain-intrinsic-size:420px}#skills .skill-section--year .thumb{width:fit-content}#skills .skill-section--year .thumb .uniform-media{width:auto}#skills .thumb .uniform-media>img{display:block;width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:inherit}#skills .thumb .uniform-media{background:transparent;box-sizing:border-box;border:0;border-radius:calc(var(--radius, 16px) - var(--thumb-pad, 10px));overflow:hidden}#skills .thumb .uniform-media>img,#skills .thumb .uniform-media>video,#skills .thumb .uniform-media>picture,#skills .thumb .uniform-media>picture>img{display:block;border-radius:inherit}.skills-container .label{color:#fff!important}#skills .skill-section.is-vertical-format{--skills-thumb-h: 22}.skill-section{position:relative}#skills.section{padding-bottom:var(--space-6)}.skill-section>h3{display:inline-flex;align-items:center;gap:var(--space-3)}.skill-section>h3{display:flex;justify-content:center;align-items:center;gap:.5rem;text-align:center}.skill-section>h3 .skill-icon{flex:0 0 auto;width:1.2em;height:1.2em}.skills-container{display:flex;flex-direction:column;gap:calc(var(--gap-grid) * 2)}.work-rows-section{contain:layout style}tgs-player.skill-icon{flex:0 0 auto;width:1.2em;height:1.2em;display:inline-block}#skills-cloud-root{display:flex;justify-content:center;align-items:center;width:100%}.skills-section{position:relative;top:auto;min-height:auto}.skills-section.section{padding-top:var(--space-4)}.skills-layout{display:flex;align-items:center;gap:clamp(24px,4vw,56px)}.skills-intro{flex:1 1 50%;color:var(--text);line-height:1.55;max-width:62ch;text-align:justify}.skills-intro p{color:var(--muted);margin:0 0 12px;text-align:justify}.skills-langs-chips{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:10px}.skills-visual{flex:1 1 50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0px}.skills-cloud{display:flex;justify-content:center;align-items:center;width:100%;padding-top:16px;position:relative;opacity:0;transition:opacity 2s ease}.skills-cloud-stage{position:relative;width:min(100%,var(--skills-cloud-size));aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;margin-inline:auto}.skills-cloud.is-ready{opacity:1}.skills-cloud canvas{display:block}#skills-canvas{position:relative;z-index:1;flex:none;max-width:100%}#skills-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.skills-cloud .skills-list{display:none}.skills-cloud-caption{width:fit-content;max-width:min(100%,52ch);padding:6px 10px;border-radius:999px;font-size:clamp(10px,2vw,16px);line-height:1.2;text-align:center}.skills-divider-wrap,.section-divider-wrap{margin:0;padding-block:var(--space-6);display:flex;justify-content:center}.skills-divider,.section-divider{width:min(70%,720px);flex:0 0 auto;margin:0;height:2px;border:0;padding:0;border-radius:999px;background:linear-gradient(90deg,#fff0,#ffffffd9,#fff0);transform-origin:50% 50%;transform:scaleX(1);filter:drop-shadow(0 0 10px rgb(255 255 255 / .08))}.skills-divider.breath,.section-divider.breath{animation:skills-divider-breath 4.2s ease-in-out infinite;filter:drop-shadow(0 0 var(--ui-breath-glow) rgb(255 255 255 / var(--ui-breath-alpha))) drop-shadow(0 0 10px rgb(255 255 255 / .08))}.skills-divider-wrap+.contact-cta-section{margin-top:calc(var(--space-6) * -1)}@keyframes skills-divider-breath{0%,to{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.57);opacity:.7}}.section .container>.skills-divider-wrap{margin-top:0}.section .container>#education.section{margin-top:0;padding-top:0}.section .container>h2+#skills.skills-section{margin-top:var(--space-2)}.section .container>h2:has(+#skills.skills-section){margin-bottom:var(--space-2)}@media(max-width:900px){.skills-layout{flex-direction:column;align-items:center}.skills-visual{order:-1;width:100%}.skills-cloud{padding-top:8px}.skills-cloud-stage{width:min(100%,var(--skills-cloud-size-mobile))}}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media{position:relative}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:before{content:"";position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1 / 1;border-radius:50%;transform:translate(-50%,-50%);background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 10px 24px #00000059,inset 0 0 0 1px var(--glass-border);pointer-events:none}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-38%,-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:18px solid rgba(255,255,255,.95);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:before,.skill-section:not(.skill-section--photo) .thumb.is-video .uniform-media:after{transition:opacity .25s ease,transform .25s ease}#skills .thumb.is-video:hover .uniform-media:before{transform:translate(-50%,-50%) scale(1.04);opacity:0}#skills .thumb.is-video:hover .uniform-media:after{transform:translate(-38%,-50%) scale(1.04);opacity:0}.skill-section{margin-top:0}.skill-icon{width:32px;height:32px;flex:0 0 auto}.skills-container .thumb{position:relative;overflow:visible;margin-bottom:18px}.skills-container .work-thumb{contain:layout style}.skills-container .thumb .uniform-media{background:#ffffff0f;padding:12px;box-sizing:border-box}.skills-container .thumb .uniform-media>img{width:100%;height:100%;object-fit:contain;border-radius:12px}.skills-container .thumb .label{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:0 10px 24px #00000038;color:(var(--text),transparent 80%);font-size:12px;line-height:1.1;text-align:center;width:max-content;max-width:max-content;pointer-events:none}#projects{--project-card-w: clamp(340px, 72vw, 720px)}#projects .projects-section>h3{text-align:center;font-weight:600}#projects .projects-section+.projects-section{margin-top:var(--gap-stack)}#projects .projects-section .cards{display:grid;grid-template-columns:1fr;justify-items:center;gap:var(--gap-grid)}#projects .projects-section .card{width:var(--project-card-w);max-width:100%;flex-wrap:wrap}#projects .card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);--tiltLift: 0px}#projects .card .info{flex:1 1 auto;min-width:0}#projects .card .icon{flex:0 0 48px}#projects .card .kpi{margin-left:auto}.works-search{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:14px 0 12px}.works-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;padding:8px 10px;border-radius:12px}.works-search input::placeholder{color:color-mix(in srgb,var(--muted),transparent 25%)}.works-reset{padding:8px 12px;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff0f;color:var(--text);transition:transform .18s ease,background .2s ease,border-color .2s ease}@media(hover:hover)and (pointer:fine){.works-reset:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff17}}.works-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 18px}.works-tags-groups{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}.works-tags-groups .works-tags{margin:0}.works-tags-groups .works-tags+.works-tags{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--glass-border),transparent 30%)}.tag-chip{padding:8px 10px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-surface-bg);color:var(--muted);display:inline-flex;align-items:center;gap:8px;transition:transform .18s ease,background .2s ease,border-color .2s ease,color .2s ease}.tag-chip__icon{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.tag-chip__icon>img,.tag-chip__icon>svg,.tag-chip__icon>tgs-player{width:100%;height:100%;display:block}.tag-chip__icon>img{object-fit:contain}.tag-chip__icon>img.work-tag-icon--img{border-radius:9999px;object-fit:cover}.tag-chip__icon>tgs-player{pointer-events:none}@media(hover:hover)and (pointer:fine){.tag-chip:hover{transform:perspective(800px) translate3d(0,-4px,0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg));background:#ffffff12;color:var(--text)}}.tag-chip.is-active{color:var(--text);border-color:#ffffffe6;background:#ffffff17}.tag-chip.is-disabled,.tag-chip:disabled{opacity:.45;cursor:not-allowed;background:#ffffff08;border-color:color-mix(in srgb,var(--glass-border),transparent 45%);color:var(--muted);transform:none}@media(hover:hover)and (pointer:fine){.tag-chip.is-disabled:hover,.tag-chip:disabled:hover{transform:none;background:#ffffff08;color:var(--muted)}}#socials{--project-card-w: clamp(340px, 72vw, 720px)}#socials .socials-sections{display:grid;gap:var(--gap-stack)}#socials .socials-section>h3{text-align:center;font-weight:600}#socials .cards{display:grid;grid-template-columns:1fr;justify-items:center;gap:var(--gap-grid)}#socials .card{width:var(--project-card-w);max-width:100%;flex-wrap:wrap}#socials .card .info{flex:1 1 auto;min-width:0}#socials .card .icon{flex:0 0 48px}#socials .card .kpi{margin-left:auto}#socials .card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);--tiltLift: 0px}#socials .social-soon{position:absolute;top:10px;right:10px;font-size:12px;color:var(--muted);padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--glass-border),transparent 35%);background:color-mix(in srgb,var(--glass-bg),transparent 30%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}@media(max-width:900px){#socials .card,#socials .card .info{align-items:center}}#collabs .collabs-board{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:dense;gap:clamp(14px,2.7vw,22px);align-items:stretch;padding:14px clamp(6px,1.2vw,12px) 8px}#collabs .collabs-board:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;pointer-events:none;opacity:.6;filter:blur(12px);background:radial-gradient(320px 140px at 18% 10%,rgba(255,255,255,.12),transparent 70%),radial-gradient(380px 220px at 78% 55%,rgba(229,57,53,.18),transparent 75%)}#collabs .collab-board-card{position:relative;text-decoration:none;border-bottom:0!important;color:inherit;display:flex;align-items:stretch;isolation:isolate;aspect-ratio:16 / 9;width:100%;min-width:0;container-type:inline-size;--collab-pad: clamp(8px, 2.4cqw, 14px);--collab-gap: clamp(4px, 1.6cqw, 8px);--collab-logo-size: clamp(28px, 7cqw, 40px);--collab-title-size: clamp(14px, 3.4cqw, 18px);--collab-subtitle-size: clamp(11px, 2.6cqw, 14px);--collab-tag-size: clamp(10px, 2.2cqw, 12px);--collab-summary-size: clamp(11px, 2.4cqw, 13px);--collab-visit-size: clamp(28px, 6.5cqw, 34px);--collab-visit-font: clamp(13px, 3.2cqw, 16px);--collab-kpi-pad-y: clamp(4px, 1.2cqw, 6px);--collab-kpi-pad-x: clamp(6px, 2cqw, 8px);--collab-kpi-radius: clamp(8px, 2.6cqw, 10px);--collab-kpi-font: clamp(11px, 2.3cqw, 14px);--collab-kpi-num: clamp(14px, 3.5cqw, 18px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;border-radius:20px}#collabs .collab-board-card.reveal,#collabs .collab-board-card.reveal.is-revealed{transition:opacity .55s ease,transform .95s ease,filter .7s ease,border-color .25s ease,box-shadow .25s ease;transition-delay:var(--reveal-delay),var(--reveal-delay),var(--reveal-delay),0ms,0ms}#collabs .collab-tilt-left{--collab-tilt: -.9deg}#collabs .collab-tilt-right{--collab-tilt: .9deg}#collabs .collab-size-xl{grid-column:span 6;grid-row:auto}#collabs .collab-size-lg{grid-column:span 5;grid-row:auto}#collabs .collab-size-md{grid-column:span 4;grid-row:auto}#collabs .collab-size-sm{grid-column:span 3;grid-row:auto}#collabs .collab-board-card__clip{position:relative;border-radius:20px;overflow:hidden;background:#ffffff0a;box-shadow:var(--shadow);--collab-outline-color: var(--glass-border);display:flex;align-items:stretch;width:100%;height:100%;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}#collabs .collab-board-card__outline{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:3;box-shadow:inset 0 0 0 1px var(--collab-outline-color),0 0 #fff0;transition:box-shadow .35s ease}#collabs .collab-board-card__clip.glow-hover:before,#collabs .collab-board-card__clip.glow-hover:after{z-index:1;background:none;opacity:0!important}#collabs .collab-board-card__tilt{z-index:2}#collabs .collab-board-card__tilt{position:relative;width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;transform:translateZ(0);transform-origin:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .25s ease}#collabs .collab-board-card__pin{display:none}#collabs .collab-board-card__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transform:translateZ(0);transition:transform .35s ease}#collabs .collab-board-card__bg img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95) contrast(1.05)}#collabs .collab-board-card__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000026 30%,#000000a6);pointer-events:none}#collabs .collab-board-card__glass{position:relative;z-index:1;margin:auto var(--collab-pad) var(--collab-pad);padding:var(--collab-pad);border-radius:14px;display:flex;flex-direction:column;gap:var(--collab-gap);max-width:min(360px,calc(100% - var(--collab-pad) * 2));min-width:0}#collabs .collab-board-card__visit{position:absolute;top:var(--collab-pad);right:var(--collab-pad);width:var(--collab-visit-size);height:var(--collab-visit-size);border-radius:50%;background:#fff;color:#111;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #00000026,0 3px 12px #00000014;display:grid;place-items:center;cursor:pointer;padding:0}#collabs .collab-board-card__visit:after{content:"↗";font-size:var(--collab-visit-font);line-height:1}#collabs .collab-board-card__visit{transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover)and (pointer:fine){#collabs .collab-board-card__visit:hover{transform:translate3d(0,-1px,0);box-shadow:0 2px 6px #0000002e,0 6px 16px #0000001f}}#collabs .collab-board-card__visit:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}#collabs .collab-board-card__header{display:flex;align-items:center;gap:var(--collab-gap)}#collabs .collab-board-card__titles{display:flex;flex-direction:column;gap:2px;min-width:0}#collabs .collab-board-card__logo{width:var(--collab-logo-size);height:var(--collab-logo-size);border-radius:12px;background:#ffffff14;display:grid;place-items:center;border:1px solid var(--glass-border);flex:0 0 auto;overflow:hidden}#collabs .collab-board-card__logo img{width:100%;height:100%;object-fit:contain;display:block}#collabs .collab-board-card__title{font-weight:600;font-size:var(--collab-title-size);line-height:1.2}#collabs .collab-board-card__subtitle{font-size:var(--collab-subtitle-size);line-height:1.2}#collabs .collab-board-card__tag{font-size:var(--collab-tag-size);letter-spacing:.02em;color:#ffffffb8}#collabs .collab-board-card__summary{font-size:var(--collab-summary-size);line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#collabs .collab-board-card__kpi{position:absolute;top:var(--collab-pad);right:var(--collab-pad);z-index:2;text-align:right;padding:var(--collab-kpi-pad-y) var(--collab-kpi-pad-x);border-radius:var(--collab-kpi-radius);background:#0006;border:1px solid rgba(255,255,255,.12);min-width:clamp(64px,18cqw,90px);font-size:var(--collab-kpi-font)}#collabs .collab-board-card__kpi .num{font-size:var(--collab-kpi-num)}@media(hover:hover)and (pointer:fine){#collabs .collab-board-card:hover,#collabs .collab-board-card:focus-visible{text-decoration:none;border-bottom:0!important}#collabs .collab-board-card:hover .collab-board-card__clip,#collabs .collab-board-card:focus-visible .collab-board-card__clip{--collab-outline-color: rgba(255, 255, 255, .96);border-color:var(--glass-hover-border);box-shadow:0 14px 26px #00000059,var(--shadow);transform:perspective(500px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#collabs .collab-board-card:hover .collab-board-card__outline,#collabs .collab-board-card:focus-visible .collab-board-card__outline{box-shadow:inset 0 0 0 1px #fffffff5,0 0 0 1px #ffffffb8,0 0 20px #ffffff61}#collabs .collab-board-card:hover .collab-board-card__bg,#collabs .collab-board-card:focus-visible .collab-board-card__bg{transform:scale(1.04)}}@media(max-width:1024px){#collabs .collabs-board{grid-template-columns:repeat(8,minmax(0,1fr))}#collabs .collab-size-xl{grid-column:span 8;grid-row:auto}#collabs .collab-size-lg{grid-column:span 6;grid-row:auto}#collabs .collab-size-md,#collabs .collab-size-sm{grid-column:span 4;grid-row:auto}}@media(max-width:700px){#collabs .collabs-board{grid-template-columns:1fr;grid-auto-rows:auto}#collabs .collab-board-card__glass{max-width:100%}#collabs .collab-size-xl,#collabs .collab-size-lg,#collabs .collab-size-md,#collabs .collab-size-sm{grid-column:span 1;grid-row:span 1;min-height:0}}@media(prefers-reduced-motion:reduce){#collabs .collab-board-card__clip,#collabs .collab-board-card__tilt,#collabs .collab-board-card__bg{transition:none}}#timeline.section{padding-top:0}#timeline .title-with-icon{margin-bottom:var(--space-4);display:flex;justify-content:center;width:100%}#timeline .timeline{--timeline-year-w: clamp(10px, 5vw, 70px);--timeline-rail-w: 2vw;--timeline-line-w: 2px;--timeline-dot: 12px;--timeline-row-gap: var(--space-2);--timeline-line-gap: 1vw;--timeline-year-gap: var(--timeline-row-gap);--timeline-cards-w: 60vw;--timeline-year-pad: 10px;--timeline-line-x: calc(50% - (var(--timeline-cards-w) / 2) - var(--timeline-line-gap));--timeline-font-year: clamp(13px, 1.15vw, 17px);--timeline-font-title: clamp(18px, 1.8vw, 24px);--timeline-font-body: clamp(14px, 1.3vw, 18px);--timeline-font-pill: clamp(12px, 1.05vw, 14px);position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}#timeline .timeline-row{position:relative;display:block;padding:10px 0}#timeline .timeline-year{position:absolute;top:0;left:calc(var(--timeline-line-x) - var(--timeline-rail-w) - var(--timeline-year-gap) - var(--timeline-year-w));width:var(--timeline-year-w);text-align:right;color:color-mix(in srgb,var(--text),var(--muted) 55%);font-weight:700;font-size:var(--timeline-font-year);line-height:1.1;padding-top:10px;padding-right:var(--timeline-year-pad)}#timeline .timeline-rail{position:absolute;top:0;left:calc(var(--timeline-line-x) - var(--timeline-rail-w));width:var(--timeline-rail-w);height:100%;display:flex;justify-content:flex-start;padding-top:14px}#timeline .timeline:before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--timeline-line-x) - (var(--timeline-line-w) / 2));width:var(--timeline-line-w);border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent);opacity:.55}#timeline .timeline-dot{width:var(--timeline-dot);height:var(--timeline-dot);border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);border:1px solid color-mix(in srgb,var(--text) 28%,transparent);box-shadow:0 10px 20px #00000040;transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}#timeline .timeline-row.is-empty .timeline-year{color:color-mix(in srgb,var(--muted),transparent 35%);font-weight:600;padding-top:0}#timeline .timeline-row.is-empty .timeline-dot{transform:scale(.8);background:color-mix(in srgb,var(--bg) 35%,transparent);border-color:color-mix(in srgb,var(--muted) 35%,transparent);box-shadow:none}#timeline .timeline-row.is-empty{padding:2px 0;min-height:calc(var(--timeline-dot) + 10px)}#timeline .timeline-row.is-empty .timeline-rail{padding-top:0}#timeline .timeline-row.is-empty .timeline-cards{display:none}#timeline .timeline-cards{display:flex;flex-direction:column;gap:var(--space-3);width:var(--timeline-cards-w);margin-inline:auto}#timeline .timeline-item{display:block}#timeline .timeline-card{position:relative;display:flex;gap:16px;align-items:flex-start;color:inherit;text-decoration:none;padding:20px 18px;border-radius:var(--radius);transition:background .25s ease,transform .18s ease}#timeline .timeline-card-wrap{display:block;width:100%}#timeline .timeline-card{min-height:var(--timeline-card-min-h, 0px)}#timeline .timeline-card:before{content:"";position:absolute;left:calc(-1 * (var(--timeline-line-gap) - (var(--timeline-line-w) / 2)));top:24px;width:calc(var(--timeline-line-gap) - (var(--timeline-line-w) / 2));height:1px;background:color-mix(in srgb,var(--text) 14%,transparent);opacity:.85}#timeline .edu-icon{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--glass-border)}#timeline .edu-icon .i,#timeline .edu-icon img,#timeline .edu-icon tgs-player{width:22px;height:22px;color:var(--accent);stroke-width:2;opacity:.95;object-fit:contain;display:block}#timeline .edu-body{max-width:68ch;min-width:0;flex:1 1 auto}#timeline .timeline-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}#timeline .edu-title{margin:0 0 6px;font-size:var(--timeline-font-title);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--text);text-wrap:balance;overflow-wrap:anywhere}#timeline .timeline-date-pill{flex:0 0 auto;height:40px;min-width:64px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;font-size:var(--timeline-font-pill);letter-spacing:.01em;text-transform:capitalize;color:var(--muted);border:1px solid color-mix(in srgb,var(--glass-border),transparent 30%);background:color-mix(in srgb,var(--glass-bg),transparent 42%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);white-space:nowrap}#timeline .edu-body p{margin:0 0 10px;font-size:var(--timeline-font-body);line-height:1.65;color:var(--muted);text-wrap:pretty;overflow-wrap:anywhere}#timeline .timeline-card.is-link{cursor:pointer}#timeline .timeline-card:is(:hover,.is-hovered){background:var(--glass);border-color:var(--glass-hover-border);transform:perspective(800px) translateZ(0) rotateX(var(--tiltX, 0deg)) rotateY(var(--tiltY, 0deg))}#timeline .timeline-card:focus-visible{transform:translateY(-2px);background:var(--glass-hover-bg);border-color:var(--glass-hover-border)}#timeline .timeline-card:is(:hover,.is-hovered):before,#timeline .timeline-card:focus-visible:before{background:color-mix(in srgb,var(--accent) 55%,transparent)}#timeline .timeline-row:has(.timeline-card:hover,.timeline-card.is-hovered) .timeline-dot,#timeline .timeline-row:has(.timeline-card:focus-visible) .timeline-dot{transform:scale(1.08);background:color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.08));border-color:color-mix(in srgb,var(--accent),white 25%);box-shadow:0 12px 24px #00000047}@media(hover:hover)and (pointer:fine){#timeline .timeline-card:is(:hover,.is-hovered) .timeline-date-pill,#timeline .timeline-card:focus-visible .timeline-date-pill{color:var(--text)}}@media(max-width:900px){#timeline .timeline{--timeline-year-w: clamp(44px, 9vw, 68px);--timeline-rail-w: 20px;--timeline-row-gap: 10px;--timeline-cards-w: 70vw;--timeline-year-pad: 8px}#timeline .timeline-card{padding:18px 16px}#timeline .timeline-year{padding-top:8px}#timeline .timeline-card:before{top:22px}#timeline .timeline-date-pill{height:36px;min-width:56px;padding:0 10px;border-radius:10px}}@media(max-width:480px){#timeline .timeline{--timeline-year-w: clamp(40px, 12vw, 56px);--timeline-rail-w: 18px;--timeline-row-gap: 8px;--timeline-cards-w: 70vw;--timeline-year-pad: 6px}#timeline .timeline-card{padding:16px 14px}#timeline .timeline-card:before{display:none}#timeline .timeline-year{padding-top:10px}#timeline .timeline-date-pill{height:34px;min-width:52px;padding:0 10px;border-radius:10px}}#vertical-videos.section{padding-top:var(--space-6);content-visibility:auto;contain:layout paint style;contain-intrinsic-size:980px}#vertical-videos .vv-wrapper{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:1rem}#vertical-videos .vv-phone{position:relative;width:min(360px,88vw);aspect-ratio:9 / 19.5;background-image:url(/assets/iPhone_16-Dp3n6WLM.png);background-size:contain;background-position:center;background-repeat:no-repeat;contain:layout paint style}#vertical-videos .vv-screen{position:absolute;top:6.5%;bottom:6.2%;left:6.8%;right:6.8%;border-radius:30px;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;background:#000;contain:layout paint style}@media(min-width:900px){#vertical-videos .vv-screen{scrollbar-width:none;-ms-overflow-style:none}#vertical-videos .vv-screen::-webkit-scrollbar{width:0;display:none}}#vertical-videos .vv-item{height:100%;min-height:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;position:relative;contain:layout paint style}#vertical-videos .vv-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:#000;background-size:cover;background-position:center;filter:blur(22px) saturate(1.05) brightness(.6);transform:scale(1.08);z-index:0}#vertical-videos .vv-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 85% at 50% 15%,#00000026,#000000a6);z-index:0}#vertical-videos .vv-item .vv-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;z-index:1}#vertical-videos .vv-item video{object-fit:contain;object-position:center center}#vertical-videos .vv-item .vv-inline-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2}#vertical-videos .vv-item .vv-inline-wrapper video{max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;object-position:center center}#vertical-videos .vv-item .vv-badge{position:absolute;right:10px;bottom:10px;padding:.35rem .45rem;font-size:.75rem;background:#0009;border:1px solid rgba(255,255,255,.12);border-radius:999px;-webkit-user-select:none;user-select:none;pointer-events:auto;cursor:pointer;z-index:2}#vertical-videos .work-vv-item{transition:transform var(--motion-fast, .2s) var(--ease-decel, ease),filter var(--motion-fast, .2s) var(--ease-standard, ease)}@media(hover:hover)and (pointer:fine){#vertical-videos .work-vv-item:hover,#vertical-videos .work-vv-item:focus-within{transform:translate3d(0,-2px,0);filter:brightness(1.02)}}#vertical-videos .vv-side{display:flex;flex-direction:column;align-items:center;gap:10px}#vertical-videos .vv-hint{margin:0;opacity:.6;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:32px}#vertical-videos .vv-hint .chevrons{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}#vertical-videos .vv-hint .chevron{width:22px;height:18px}#vertical-videos .vv-hint .up .chevron{animation:hint-up 1.6s ease-in-out infinite}#vertical-videos .vv-hint .down .chevron{animation:hint-down 1.6s ease-in-out infinite}@keyframes hint-up{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}to{transform:translateY(0);opacity:.5}}@keyframes hint-down{0%{transform:translateY(0);opacity:.5}50%{transform:translateY(8px);opacity:1}to{transform:translateY(0);opacity:.5}}@media(max-width:1023.98px){#vertical-videos .vv-side{display:flex}}@media(max-width:767.98px){#vertical-videos .vv-wrapper{gap:12px}#vertical-videos .vv-phone{width:min(340px,76vw)}}@media(prefers-reduced-motion:reduce){#vertical-videos .work-vv-item{transition:none;transform:none!important;filter:none!important}}body.cv-mode{background:#f2f2f2;color:#111;padding-top:0!important;padding-bottom:0!important}body.cv-mode:before,body.cv-mode:after{content:none!important}.cv-page{min-height:100vh;background:#f2f2f2;color:#111;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45;padding:20px 16px 40px}.cv-toolbar{max-width:920px;margin:0 auto 16px}.cv-toolbar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.cv-toolbar__back,.cv-toolbar__print{border:1px solid #c9c9c9;background:#fff;color:#111;padding:8px 12px;border-radius:6px;font-size:14px;line-height:1}.cv-toolbar__print{cursor:pointer}.cv-document{max-width:920px;margin:0 auto;background:#fff;border:1px solid #d9d9d9;border-radius:6px;box-shadow:0 6px 24px #00000014;padding:32px}.cv-document a,.cv-contacts a,.cv-links a,.cv-proof-list a{color:#0f3b82;text-decoration:underline}.cv-document a:hover,.cv-document a:focus-visible{color:#0b2d62}.cv-state{margin:0;color:#333}.cv-header{border-bottom:1px solid #d9d9d9;padding-bottom:16px;margin-bottom:22px}.cv-header h1{margin:0;font-size:36px;line-height:1.1;color:#111;font-weight:700}.cv-role{margin:8px 0 0;font-size:18px;color:#222}.cv-contacts{margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 14px;color:#333}.cv-contact-item{display:inline-flex;align-items:center;gap:6px}.cv-inline-icon{width:15px;height:15px;color:#4a4a4a;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.cv-updated{margin:10px 0 0;color:#555;font-size:14px}.cv-columns{display:block}.cv-section{margin-top:20px;break-inside:avoid}.cv-section h2{margin:0 0 10px;font-size:22px;line-height:1.2;color:#111;text-align:left;font-weight:700}.cv-section p,.cv-section li{color:#1b1b1b;margin-bottom:8px}.cv-item{margin-bottom:12px;break-inside:avoid}.cv-item h3{margin:0 0 6px;font-size:18px;color:#111}.cv-item__meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 8px;color:#444}.cv-item ul{margin:0;padding-left:20px}.cv-links{display:flex;flex-wrap:wrap;gap:8px 12px}.cv-proof-list{margin:0;padding-left:20px}@media(min-width:900px){.cv-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.cv-col-main .cv-section,.cv-col-side .cv-section{margin-top:0}.cv-col-side .cv-section+.cv-section{margin-top:20px}}@media(max-width:900px){.cv-page{padding:14px 10px 24px}.cv-document{padding:18px}.cv-header h1{font-size:28px}.cv-role{font-size:16px}}@media print{@page{size:A4;margin:12mm}html,body,.cv-page,.cv-document{background:#fff!important;color:#000!important;box-shadow:none!important;border:0!important}.print-hidden{display:none!important}.cv-page{padding:0!important}.cv-document{max-width:none;margin:0;padding:0}.cv-columns{display:block!important}.cv-document a{color:#0f3b82!important;text-decoration:underline!important}.cv-section,.cv-item{break-inside:avoid;page-break-inside:avoid}}.room-page{min-height:calc(100svh - var(--header-h));padding:0;position:relative}body:has(.app-layout--room){padding-top:0!important;padding-bottom:0}.app-layout--room{--app-top-offset: 0px;--noise-inset-top: 0px}.app-layout--room main#content{padding-top:0;margin-top:0}.app-layout--room main#content,.app-layout--room .room-page,.app-layout--room .room-prerender-shell,.app-layout--room .room-viewer{min-height:100svh;height:100svh}.app-layout--room .room-page{min-height:100svh}body:has(.room-page) .footer{margin-top:0}.room-prerender-shell{min-height:calc(100svh - var(--header-h));display:grid;place-items:center;padding:var(--container-pad);background:radial-gradient(circle at 20% 18%,rgba(229,57,53,.14),transparent 34%),linear-gradient(180deg,#070707,#111 62%,#050505)}.room-prerender-shell__content{width:min(720px,100%);padding:clamp(18px,4vw,34px);border-left:1px solid rgba(255,255,255,.28)}.room-prerender-shell__content h1{margin:4px 0 10px;font-size:clamp(48px,12vw,120px);line-height:.86}.room-prerender-shell__content p{margin:0;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.45}.room-editor-page{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:0;position:relative;background:#080808}.room-viewer{min-height:calc(100svh - var(--header-h));height:calc(100svh - var(--header-h));position:relative;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(229,57,53,.12),transparent 34%),radial-gradient(circle at 76% 12%,rgba(255,255,255,.055),transparent 26%),linear-gradient(180deg,#060606,#101010 58%,#050505);isolation:isolate}.room-viewer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.52),transparent 30%,transparent 72%,rgba(0,0,0,.34)),linear-gradient(180deg,rgba(0,0,0,.26),transparent 46%,rgba(0,0,0,.68));z-index:1}.room-viewer--intro:before{background:linear-gradient(90deg,#000000d1,#00000061 34%,#0003 68%,#000000c2),radial-gradient(ellipse at center,transparent 18%,rgba(0,0,0,.62) 76%),linear-gradient(180deg,rgba(0,0,0,.38),transparent 48%,rgba(0,0,0,.86))}@keyframes room-fade-up{0%{opacity:0;transform:translate3d(0,14px,0) scale(.985);filter:blur(6px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes room-fade-down{0%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(0,16px,0) scale(.985);filter:blur(8px)}}@keyframes room-dock-in{0%{opacity:0;transform:translate3d(14px,-50%,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,-50%,0);filter:blur(0)}}@keyframes room-panel-left-in{0%{opacity:0;transform:translate3d(-18px,-50%,0) scale(.985);filter:blur(6px)}to{opacity:1;transform:translate3d(0,-50%,0) scale(1);filter:blur(0)}}@keyframes room-centered-up-in{0%{opacity:0;transform:translate3d(-50%,18px,0) scale(.985);filter:blur(6px)}to{opacity:1;transform:translate3d(-50%,0,0) scale(1);filter:blur(0)}}@keyframes room-overlay-in{0%{opacity:0;-webkit-backdrop-filter:blur(0) saturate(.98);backdrop-filter:blur(0) saturate(.98)}to{opacity:1;-webkit-backdrop-filter:blur(24px) saturate(.98);backdrop-filter:blur(24px) saturate(.98)}}@keyframes room-overlay-out{0%{opacity:1;-webkit-backdrop-filter:blur(24px) saturate(.98);backdrop-filter:blur(24px) saturate(.98)}to{opacity:0;-webkit-backdrop-filter:blur(0) saturate(.98);backdrop-filter:blur(0) saturate(.98)}}@keyframes room-shell-in{0%{opacity:0;transform:translate3d(0,18px,0) scale(.975);filter:blur(10px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes room-shell-out{0%{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate3d(0,12px,0) scale(.985);filter:blur(8px)}}@keyframes room-marker-in{0%{opacity:0;transform:scale(.78);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.room-canvas-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;touch-action:none;cursor:grab}.room-canvas-host:active{cursor:grabbing}.room-canvas-host canvas{display:block;width:100%;height:100%}.room-side-dock,.room-hero,.room-modes,.room-object-marker-layer,.room-story-panel,.room-control-hint,.room-load-status,.room-flight-status,.room-editor-badge,.room-render-fallback,.room-mobile-controls,.room-entering-label{position:absolute;z-index:3}.room-hero{top:0;right:0;bottom:0;left:0;display:grid;align-content:center;padding:clamp(28px,6vw,72px);pointer-events:none;animation:room-fade-up var(--motion-reveal-transform) var(--ease-emphasized) both;transition:opacity var(--motion-slow) var(--ease-standard),transform var(--motion-slow) var(--ease-emphasized),filter var(--motion-slow) var(--ease-standard)}.room-hero.is-exiting{opacity:0;transform:translate3d(0,18px,0) scale(.985);filter:blur(10px)}.room-hero__copy{width:min(460px,88vw);pointer-events:auto}.room-hero__copy h1{margin:8px 0 18px;max-width:7ch;color:#fff;font-size:clamp(48px,7vw,96px);font-weight:650;line-height:.92;text-shadow:0 12px 42px rgba(0,0,0,.72)}.room-hero__copy p{margin:0 0 28px;max-width:360px;color:#ffffffb8;font-size:clamp(15px,1.6vw,18px);line-height:1.45;text-shadow:0 8px 26px rgba(0,0,0,.72)}.room-hero__cta{min-width:178px;min-height:52px;padding:0 28px;border:1px solid rgba(0,0,0,.14);border-radius:999px;background:#fffffff5;color:#111;font-size:15px;font-weight:650;box-shadow:0 14px 40px #0000006b,inset 0 -1px #00000029;transition:transform var(--motion-fast) var(--ease-decel),background var(--motion-fast) var(--ease-standard)}.room-hero__cta:hover,.room-hero__cta:focus-visible{background:#fff;transform:translateY(-2px)}.room-hero__stats{position:absolute;left:clamp(28px,6vw,72px);bottom:clamp(26px,5svh,56px);display:flex;gap:clamp(28px,5vw,72px);pointer-events:auto}.room-hero__stats div{display:grid;gap:4px}.room-hero__stats span{color:#ffffff70;font-size:12px}.room-hero__stats strong{color:#ffffffe6;font-size:19px;font-weight:620}.room-viewer__eyebrow{display:block;color:#f3f3f59e;font-size:11px;line-height:1.25;text-transform:uppercase;letter-spacing:.08em}.room-side-dock{top:50%;right:clamp(18px,3vw,42px);display:grid;gap:10px;transform:translateY(-50%);animation:room-dock-in var(--motion-slow) var(--ease-emphasized) .12s both}.room-side-dock button{width:138px;height:42px;border:0;border-radius:22px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;padding:0 13px;color:#ffffffc2;background:#ffffff0b;font-size:12px;line-height:1;white-space:nowrap;opacity:0;animation:room-fade-up var(--motion-slow) var(--ease-emphasized) both;animation-delay:calc(.18s + var(--room-motion-index, 0) * 58ms);transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel),box-shadow var(--motion-fast) var(--ease-standard)}.room-side-dock button:hover,.room-side-dock button:focus-visible,.room-side-dock button[aria-pressed=true]{color:#fff;background:#ffffff1f}.room-side-dock button:hover,.room-side-dock button:focus-visible{transform:translate(-3px);box-shadow:0 12px 28px #00000038}.room-side-dock svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65}.room-icon-btn{width:36px;height:36px;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#f3f3f5bd;background:transparent;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.room-icon-btn[aria-pressed=true]{color:#fff;background:#ffffff1f;border-color:#ffffff2e}.room-icon-btn:hover,.room-icon-btn:focus-visible{color:#fff;background:#ffffff1a}.room-modes span{display:block;margin-bottom:12px;padding:0 4px;color:#ffffff7a;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}.room-modes{left:clamp(18px,3vw,42px);top:50%;right:auto;bottom:auto;width:clamp(220px,18vw,260px);padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(180deg,#18181ab8,#0a0a0c94),#100e0c9e;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);box-shadow:0 24px 60px #00000075,inset 0 1px #ffffff14;transform:translateY(-50%);animation:room-panel-left-in var(--motion-slow) var(--ease-emphasized) .1s both}.room-modes button{position:relative;width:100%;min-height:46px;padding:0 10px 0 18px;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;color:#ffffff94;background:transparent;font-size:18px;line-height:1.05;text-align:left;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard)}.room-modes button.is-active{color:#fff;background:linear-gradient(90deg,rgba(229,57,53,.16),transparent 74%);text-shadow:0 0 20px rgba(229,57,53,.28)}.room-modes button:before{content:"";position:absolute;left:2px;top:50%;width:4px;height:24px;border-radius:999px;background:#e53935eb;box-shadow:0 0 18px #e5393594;opacity:0;transform:translateY(-50%) scaleY(.62);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-modes button.is-active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.room-modes button:hover,.room-modes button:focus-visible{color:#ffffffe0}.room-modes__reset{color:#ffffff7a}.room-control-hint{left:50%;bottom:clamp(22px,4svh,42px);padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#ffffffbd;background:#0a0a0c8a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:12px;transform:translate(-50%);animation:room-centered-up-in var(--motion-slow) var(--ease-emphasized) both}.room-load-status,.room-flight-status{left:clamp(18px,3vw,42px);color:#ffffffa3;font-size:12px}.room-load-status{top:clamp(18px,3vw,42px);animation:room-fade-up var(--motion-base) var(--ease-decel) both}.room-flight-status{bottom:clamp(22px,4svh,42px);padding-left:12px;border-left:1px solid rgba(255,255,255,.22);animation:room-fade-up var(--motion-slow) var(--ease-emphasized) .18s both}.room-modes button:disabled{opacity:.38;pointer-events:none}.room-object-marker-layer{top:0;right:0;bottom:0;left:0;pointer-events:none}.room-object-marker{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border:1px solid rgba(255,255,255,.5);border-radius:999px;pointer-events:auto;background:#ffffff1a;box-shadow:0 0 0 7px #ffffff0a,0 0 24px #ffffff2e;transition:background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel);animation:room-marker-in var(--motion-base) var(--ease-emphasized) both}.room-object-marker:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:inherit;background:#fff}.room-object-marker span{position:absolute;left:50%;top:calc(100% + 8px);max-width:140px;padding:5px 8px;border-radius:999px;color:#ffffffdb;background:#0a0a0cad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;line-height:1.15;opacity:0;transform:translate(-50%) translateY(-4px);transition:opacity var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel);white-space:nowrap}.room-object-marker:hover span,.room-object-marker:focus-visible span,.room-object-marker.is-active span{opacity:1;transform:translate(-50%) translateY(0)}.room-object-marker:hover,.room-object-marker:focus-visible,.room-object-marker.is-active{border-color:#e53935b8;background:#e5393542;transform:scale(1.08)}.room-story-panel{left:50%;right:auto;bottom:clamp(22px,4svh,42px);width:min(460px,calc(100vw - 36px));padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#0c0c0e9e;-webkit-backdrop-filter:blur(18px) saturate(1.08);backdrop-filter:blur(18px) saturate(1.08);box-shadow:0 20px 54px #00000070;transform:translate(-50%);animation:room-centered-up-in var(--motion-slow) var(--ease-emphasized) both}.room-story-panel h2{margin:6px 0 10px;color:#fff;font-size:clamp(25px,3vw,42px);line-height:.96;text-align:left}.room-story-panel p{margin:0;color:#f3f3f5b8;font-size:14px;line-height:1.45}.room-story-panel__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.room-story-panel__actions button{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#ffffffc7;background:#ffffff0e;font-size:12px;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-story-panel__actions button:hover,.room-story-panel__actions button:focus-visible{color:#fff;background:#ffffff1a;transform:translateY(-1px)}.room-story-panel__actions button:disabled{opacity:.38;pointer-events:none}.room-text-action{padding:0 0 3px;border:0;border-bottom:1px solid rgba(229,57,53,.72);border-radius:0;color:#fff;background:transparent;font-size:13px;line-height:1.3}.room-text-action:hover,.room-text-action:focus-visible{border-bottom-color:#fff}.room-render-fallback{left:50%;top:50%;width:min(520px,calc(100vw - 36px));padding:0 0 0 18px;border-left:1px solid rgba(255,255,255,.28);transform:translate(-50%,-50%);animation:room-centered-up-in var(--motion-slow) var(--ease-emphasized) both}.room-render-fallback h2{margin:5px 0 10px;font-size:clamp(28px,4vw,48px);line-height:.95}.room-render-fallback p{margin:0;color:#f3f3f5ad;line-height:1.45}.room-editor-badge{left:clamp(18px,2.5vw,30px);bottom:clamp(22px,4svh,38px);padding-left:12px;display:flex;flex-direction:column;gap:3px;border-left:1px solid rgba(255,255,255,.24);animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-editor-badge span{color:#f3f3f585;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.room-editor-badge strong{max-width:220px;overflow:hidden;color:#f3f3f5c7;font-size:13px;font-weight:500;text-overflow:ellipsis}.room-editor-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.room-editor-handle{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.82);border-radius:999px;background:#e53935f2;box-shadow:0 0 0 5px #e539352e,0 12px 28px #00000061;pointer-events:auto;cursor:grab;touch-action:none}.room-editor-handle:active{cursor:grabbing}.room-editor-handle span{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);padding:4px 7px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#080809db;color:#ffffffd6;font-size:11px;line-height:1;white-space:nowrap}.room-editor-handle--pivot{background:#ffffffeb;box-shadow:0 0 0 5px #ffffff21,0 12px 28px #00000061}.room-editor-handle--pivot span{color:#080809d1;background:#ffffffdb}.room-editor-handle--focus{width:18px;height:18px;border-radius:3px;background:#54befff0;box-shadow:0 0 0 5px #54beff29,0 12px 28px #00000061}.room-mobile-controls{right:clamp(18px,2.5vw,30px);bottom:calc(var(--app-bottom-offset) + 18px);display:none;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,38px);gap:6px;animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-viewer--intro .room-mobile-controls,.room-viewer--objects .room-mobile-controls,.room-viewer--nav-top .room-mobile-controls,.room-viewer--nav-story .room-mobile-controls{display:none}.room-mobile-control{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#07070861;color:#f3f3f5b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:11px;font-weight:700;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-mobile-control:hover,.room-mobile-control:focus-visible,.room-mobile-control:active{color:#fff;background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.room-mobile-control--w{grid-column:2}.room-mobile-control--a{grid-column:1}.room-mobile-control--s{grid-column:2}.room-mobile-control--d{grid-column:3}.room-editor-login{min-height:calc(100svh - var(--header-h));display:grid;place-items:center;padding:var(--container-pad);background:#080808}.room-entering-label{left:50%;top:50%;color:#ffffffd1;font-size:13px;text-transform:uppercase;letter-spacing:.12em;transform:translate(-50%,-50%);animation:room-centered-up-in var(--motion-slow) var(--ease-emphasized) .12s both}.room-objects-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;padding:clamp(18px,3vw,38px);background:radial-gradient(circle at 12% 8%,rgba(229,57,53,.1),transparent 28%),radial-gradient(circle at 82% 22%,rgba(145,166,190,.08),transparent 30%),#040608e0;-webkit-backdrop-filter:blur(24px) saturate(.98);backdrop-filter:blur(24px) saturate(.98);animation:room-overlay-in var(--motion-slow) var(--ease-standard) both}.room-objects-overlay.is-closing{pointer-events:none;animation:room-overlay-out .32s var(--ease-standard) both}.room-objects-shell{width:100%;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.095);border-radius:26px;background:radial-gradient(circle at 28% 30%,rgba(255,255,255,.05),transparent 38%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.035),transparent 32%),linear-gradient(135deg,#14171bbd,#07090bd1);box-shadow:inset 0 0 0 1px #ffffff09,0 30px 120px #0000008a;animation:room-shell-in var(--motion-slow) var(--ease-emphasized) 70ms both;will-change:transform,opacity,filter}.room-objects-overlay.is-closing .room-objects-shell{animation:room-shell-out .3s var(--ease-standard) both}.room-objects-layout{min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(380px,34vw,520px);gap:clamp(22px,3.2vw,48px);padding:clamp(28px,4vw,52px);transition:grid-template-columns var(--motion-slow) var(--ease-emphasized),gap var(--motion-base) var(--ease-standard),padding var(--motion-base) var(--ease-standard)}.room-objects-layout--solo{grid-template-columns:minmax(0,1fr)}.room-objects-main{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:clamp(20px,2.6vw,32px);animation:room-fade-up var(--motion-slow) var(--ease-emphasized) .12s both}.room-objects-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.room-objects-header h2{margin:0 0 6px;color:#fff;font-size:clamp(34px,3.1vw,48px);line-height:.95;letter-spacing:0}.room-objects-header p{margin:0;color:#f3f3f59e;font-size:clamp(14px,1.3vw,18px);line-height:1.35}.room-object-view-toggle{height:42px;flex:0 0 auto;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.055);border-radius:999px;background:#ffffff0f;box-shadow:0 14px 36px #0000003d}.room-object-view-toggle span{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;color:#ffffff94;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-object-view-toggle span.is-active{color:#fff;background:#ffffff1f}.room-object-view-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.room-object-filterbar{min-width:0;display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;overflow:visible;padding:0 2px 0 0;scrollbar-width:none}.room-object-filterbar::-webkit-scrollbar{display:none}.room-object-filterbar button,.room-object-select-filter{height:50px;flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:0 20px;border:1px solid rgba(255,255,255,.055);border-radius:999px;background:#ffffff0f;color:#ffffffc2;font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 12px 28px #0000002e;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-object-filterbar button.is-active{border-color:#e53935a6;background:linear-gradient(180deg,#ff5752,#e53935);color:#fff;box-shadow:0 20px 42px #e5393547}.room-object-filterbar button:hover,.room-object-filterbar button:focus-visible,.room-object-select-filter:hover,.room-object-select-filter:focus-within{transform:translateY(-1px);border-color:#ffffff24;background:#ffffff17}.room-object-filterbar strong{color:currentColor;font-size:14px}.room-object-select-filter span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.room-object-select-filter select{border:0;outline:0;background:transparent;color:inherit;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.room-objects-close{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:999px;color:#ffffffd1;background:transparent;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-objects-close:hover,.room-objects-close:focus-visible{color:#fff;background:#ffffff17;transform:rotate(4deg) scale(1.04)}.room-objects-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.room-object-carousel{position:relative;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0}.room-object-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.35vw,18px);overflow:visible;padding:0;animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-object-arrow{position:absolute;top:50%;z-index:2;width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#fff;background:#ffffff0e;box-shadow:0 18px 44px #00000057;transform:translateY(-50%);transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-decel),opacity var(--motion-fast) var(--ease-standard)}.room-object-arrow:hover,.room-object-arrow:focus-visible{background:#ffffff1a;border-color:#ffffff29;box-shadow:0 22px 54px #0000006b;transform:translateY(-50%) scale(1.04)}.room-object-arrow--prev{left:-26px}.room-object-arrow--next{right:-26px}.room-object-arrow:disabled{opacity:.28;pointer-events:none}.room-object-arrow svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.room-object-card{position:relative;min-height:clamp(230px,25vw,320px);aspect-ratio:.72;border:1px solid rgba(255,255,255,.045);border-radius:16px;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:7px;overflow:hidden;padding:16px 18px 22px;color:#fff;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.1),transparent 34%),linear-gradient(180deg,#ffffff12,#ffffff09);text-align:left;box-shadow:0 18px 42px #00000042;opacity:0;animation:room-fade-up var(--motion-slow) var(--ease-emphasized) both;animation-delay:calc(var(--room-motion-index, 0) * 52ms);transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),transform var(--motion-fast) var(--ease-decel),filter var(--motion-fast) var(--ease-standard)}.room-object-card.is-active,.room-object-card:hover,.room-object-card:focus-visible{border-color:#ff4842f2;background:radial-gradient(circle at 50% 32%,rgba(229,57,53,.18),transparent 42%),linear-gradient(180deg,#ffffff14,#ffffff0a);box-shadow:0 24px 62px #00000057,0 0 0 1px #e539352e,0 0 52px #e539351f;transform:translateY(-4px) scale(1.01)}.room-object-card__media,.room-object-preview--compact{min-height:0;display:grid;place-items:center}.room-object-card__media{width:100%;min-height:0}.room-object-preview--compact{width:100%;height:100%;min-height:150px;border:0;border-radius:0;background:transparent}.room-object-preview--compact>span{display:none}.room-object-card__media i{width:58px;height:58px;border-radius:18px;background:radial-gradient(circle at 42% 35%,rgba(255,255,255,.9),transparent 18%),radial-gradient(circle at 50% 50%,rgba(229,57,53,.42),transparent 62%),#ffffff14;box-shadow:0 18px 38px #00000057}.room-object-card img{max-width:100%;max-height:210px;object-fit:contain}.room-object-card strong{position:relative;z-index:1;font-size:clamp(16px,1.5vw,22px);font-weight:760;line-height:1.08}.room-object-card>span:last-child{position:relative;z-index:1;color:#ffffff9e;font-size:clamp(13px,1.1vw,16px)}.room-object-detail{min-height:0;display:grid;grid-template-rows:auto minmax(290px,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:radial-gradient(circle at 54% 24%,rgba(255,255,255,.075),transparent 36%),#090a0ca8;box-shadow:inset 0 0 0 1px #ffffff06;animation:room-fade-up var(--motion-slow) var(--ease-emphasized) 90ms both}.room-object-detail__top{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px 0;color:#ffffffc7;font-size:18px;font-weight:650}.room-object-preview{position:relative;min-height:260px;overflow:hidden;border:0;border-radius:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.07),transparent 32%),linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px),#090a0b;background-size:100% 100%,42px 42px,42px 42px,auto}.room-object-preview__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.room-object-preview canvas{display:block;width:100%;height:100%}.room-object-preview>span{position:absolute;left:12px;bottom:10px;color:#ffffff7a;font-size:11px}.room-object-detail__copy{display:grid;gap:13px;align-content:start;padding:24px 28px 26px;background:#ffffff06}.room-object-detail__copy h3{margin:0;color:#fff;font-size:clamp(26px,2.8vw,36px);line-height:1.05}.room-object-detail__meta{color:#ffffff94;font-size:15px}.room-object-detail__copy p{margin:0;color:#ffffff9e;line-height:1.45}.room-object-detail__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:8px}.room-object-open{min-height:46px;width:100%;border:0;border-radius:16px;color:#fff;background:linear-gradient(180deg,#ff5954,#e53935);font-size:14px;font-weight:750;box-shadow:0 14px 34px #e5393547;transition:filter var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel),box-shadow var(--motion-base) var(--ease-standard)}.room-object-secondary{min-height:46px;width:100%;border:0;border-radius:16px;color:#ffffffdb;background:#ffffff13;font-size:14px;font-weight:750;transition:background var(--motion-fast) var(--ease-standard),filter var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-object-open:hover,.room-object-open:focus-visible,.room-object-secondary:hover,.room-object-secondary:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}.room-object-solo{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.07),transparent 34%),#080a0cb8;animation:room-fade-up var(--motion-slow) var(--ease-emphasized) both}.room-object-solo__top{min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 18px 0;color:#ffffffb8;font-size:15px;font-weight:650}.room-object-solo__top .room-objects-close{justify-self:end}.room-object-back{width:fit-content;min-height:38px;padding:0 15px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#ffffffd1;background:#ffffff0e;font-size:13px;font-weight:700;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-object-back:hover,.room-object-back:focus-visible{color:#fff;background:#ffffff1a;border-color:#ffffff2e;transform:translate(-2px)}.room-object-solo__stage{min-height:0}.room-object-solo__stage .room-object-preview{width:100%;height:100%;min-height:360px}.room-object-solo__copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:10px 28px;align-items:end;padding:24px 30px 30px;background:#ffffff07}.room-object-solo__copy .room-object-detail__meta{grid-column:1 / -1}.room-object-solo__copy h3{margin:0;color:#fff;font-size:clamp(32px,4vw,56px);line-height:.96}.room-object-solo__copy p{grid-column:1;margin:0;color:#ffffff9e;font-size:16px;line-height:1.45}.room-object-solo__copy .room-object-detail__actions{grid-column:2;grid-row:2 / span 2;margin-top:0}.room-object-dots{display:flex;justify-content:center;gap:12px;min-height:18px}.room-object-dots button{width:12px;height:12px;border:0;border-radius:999px;background:#ffffff42;transition:background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-object-dots button.is-active{background:#ff5752;box-shadow:0 0 22px #e539356b;transform:scale(1.18)}.room-object-empty{display:grid;place-items:center;min-height:220px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;color:#ffffff94;animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-editor-login__panel{width:min(430px,100%);padding:clamp(20px,4vw,34px) 0 clamp(20px,4vw,34px) clamp(18px,4vw,28px);border-left:1px solid rgba(255,255,255,.26)}.room-editor-login__panel h1,.room-editor-panel h1{margin:5px 0 10px;font-weight:600;line-height:1}.room-editor-login__panel p{margin:0 0 18px;color:#f3f3f5a8;line-height:1.45}.room-editor-panel{height:calc(100svh - var(--header-h));overflow:auto;padding:20px;z-index:4;border-left:1px solid rgba(255,255,255,.12);background:#080809f0}.room-editor-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.room-editor-status{display:flex;justify-content:space-between;gap:12px;margin:-6px 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08);color:#f3f3f59e;font-size:12px}.room-editor-status strong{color:#f3f3f56b;font-weight:500;text-align:right}.room-editor-workbench,.room-editor-section{display:grid;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.room-editor-workbench{padding-left:12px;border-left:1px solid rgba(229,57,53,.48)}.room-editor-links{display:grid;gap:5px;color:#f3f3f57a;font-size:12px}.room-editor-quick-actions{display:flex;flex-wrap:wrap;gap:10px 14px}.room-editor-section__head h2{margin:0;color:#f3f3f5e6;font-size:14px;font-weight:600}.room-editor-section__head p{margin:4px 0 0;color:#f3f3f575;font-size:12px;line-height:1.35}.room-editor-section__body{display:grid;gap:12px}.room-editor-tabs{display:flex;gap:18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.room-editor-tabs button{min-width:0;padding:0 0 10px;border:0;border-bottom:1px solid transparent;border-radius:0;color:#f3f3f58c;background:transparent;font-size:13px}.room-editor-tabs button.is-active{color:#fff;border-bottom-color:#e53935d1}.room-editor-form,.room-editor-json,.room-editor-primary{display:grid;gap:12px}.room-editor-new-object{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.room-editor-new-object__form{display:grid;gap:12px}.room-editor-field{display:grid;gap:6px;color:#f3f3f594;font-size:12px}.room-editor-field input,.room-editor-field select,.room-editor-field textarea,.room-editor-json textarea{width:100%;min-width:0;border:0;border-bottom:1px solid rgba(255,255,255,.13);border-radius:0;background:#ffffff09;color:var(--text);padding:9px 10px;outline:0}.room-editor-field input:focus,.room-editor-field select:focus,.room-editor-field textarea:focus,.room-editor-json textarea:focus{border-bottom-color:#e53935c7}.room-editor-field textarea{min-height:90px;resize:vertical}.room-editor-field--vec>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.room-editor-toggle{display:flex;gap:10px;align-items:center;color:#f3f3f5c7;font-size:13px}.room-editor-toggle input{accent-color:var(--accent)}.room-editor-action{width:fit-content;padding:0 0 4px;border:0;border-bottom:1px solid rgba(255,255,255,.24);border-radius:0;color:#f3f3f5c2;background:transparent;font-size:13px}.room-editor-action--primary{color:#fff;border-bottom-color:#e53935d1}.room-editor-action:hover,.room-editor-action:focus-visible{color:#fff;border-bottom-color:#fff}.room-editor-json{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.room-editor-json summary{cursor:pointer;color:#f3f3f5bd;font-size:13px}.room-editor-json[open] summary{margin-bottom:12px;color:#fff}.room-editor-json textarea{min-height:230px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;resize:vertical}.room-editor-json__actions{display:flex;flex-wrap:wrap;gap:12px}.room-editor-error,.room-editor-message{color:#f3f3f59e;font-size:13px}.room-editor-error{color:#ff8b86}.room-editor-panel--inspector{align-self:stretch;width:100%;min-width:0;height:calc(100svh - var(--header-h));min-height:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:14px;scrollbar-gutter:stable}.room-editor-topbar{min-width:0;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.09)}.room-editor-topbar>div:first-child{min-width:0}.room-editor-topbar span,.room-editor-topbar strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-editor-topbar strong{display:block;margin-top:4px;color:#f3f3f5db;font-size:13px;font-weight:650}.room-editor-topbar__actions{display:flex;gap:4px;flex:0 0 auto}.room-editor-object-switcher{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#ffffff09;animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-editor-object-switcher__head{min-width:0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.room-editor-object-switcher__head>div:first-child{min-width:0}.room-editor-object-switcher__head span{color:#f3f3f575;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.room-editor-object-switcher__head strong{display:block;max-width:100%;margin-top:3px;color:#fff;font-size:18px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-editor-search,.room-editor-object-switcher select{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0b;color:var(--text);padding:9px 10px;outline:0}.room-editor-object-switcher select{min-height:74px}.room-editor-object-switcher option{background:#111;color:#fff}.room-editor-mini-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;color:#f3f3f5b8;font-size:12px}.room-editor-mini-toggle input{accent-color:var(--accent)}.room-editor-tabs--tools{flex-wrap:wrap;min-width:0;max-width:100%;margin:0;overflow:visible;gap:10px;border-bottom:0}.room-editor-tabs--tools button{flex:1 1 108px;min-width:0;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0b;transition:color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),transform var(--motion-fast) var(--ease-decel)}.room-editor-tabs--tools button.is-active{border-color:#e539359e;background:#e5393529}.room-editor-tabs--tools button:hover,.room-editor-tabs--tools button:focus-visible{color:#fff;transform:translateY(-1px)}.room-editor-tool-surface{flex:0 0 auto;min-height:0;min-width:0;overflow:visible;display:grid;align-content:start;gap:12px;padding:0 2px 22px 0;animation:room-fade-up var(--motion-base) var(--ease-emphasized) both}.room-editor-section--inspector{display:block;min-width:0;margin:0;padding:0!important;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:#ffffff08;overflow:visible}.room-editor-section--inspector summary{cursor:pointer;display:grid;gap:3px;padding:12px 13px;list-style:none}.room-editor-section--inspector summary::-webkit-details-marker{display:none}.room-editor-section--inspector summary span{color:#f3f3f5e6;font-size:13px;font-weight:700}.room-editor-section--inspector summary small{color:#f3f3f573;font-size:11px;line-height:1.35}.room-editor-section--inspector .room-editor-section__body{min-width:0;display:grid;gap:12px;padding:0 13px 13px}.room-editor-control{min-width:0;display:grid;gap:9px}.room-editor-control__head{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#f3f3f5a3;font-size:12px}.room-editor-control__head button,.room-editor-axis button,.room-editor-scalar-row button,.room-editor-camera-grid button{border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0e;color:#f3f3f5c7}.room-editor-control__head button{min-height:24px;padding:0 8px;font-size:11px}.room-editor-axis,.room-editor-scalar-row{min-width:0;display:grid;grid-template-columns:16px minmax(80px,1fr) 26px minmax(48px,54px) 26px;align-items:center;gap:6px}.room-editor-scalar-row{grid-template-columns:minmax(80px,1fr) 26px minmax(52px,58px) 26px}.room-editor-axis>span{color:#f3f3f575;font-size:11px;font-weight:700}.room-editor-axis input[type=range],.room-editor-scalar-row input[type=range]{width:100%;accent-color:var(--accent)}.room-editor-axis input[type=number],.room-editor-scalar-row input[type=number]{width:100%;min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:#ffffff0a;color:var(--text);padding:6px 5px;font-size:12px}.room-editor-axis button,.room-editor-scalar-row button{width:26px;height:26px}.room-editor-linked-status{display:flex;flex-wrap:wrap;gap:7px}.room-editor-linked-status span,.room-editor-linked-status button{min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;font-size:11px}.room-editor-linked-status span{border:1px solid rgba(255,255,255,.075);color:#f3f3f5ad;background:#ffffff0a}.room-editor-linked-status .is-linked{color:#a7ffbcd1;border-color:#a7ffbc2e}.room-editor-linked-status .is-missing{color:#ff9c96;border-color:#ff9c963d}.room-editor-linked-status button{border:0;color:#fff;background:#e539353d}.room-editor-camera-grid{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.room-editor-camera-grid button{min-width:0;min-height:36px;padding:0 10px;border-radius:12px;text-align:left}.room-editor-card-preview{display:grid;gap:7px;padding:12px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:#ffffff08}.room-editor-card-preview .room-object-preview{min-height:180px;border-radius:12px}.room-editor-card-preview strong{color:#fff;font-size:16px}.room-editor-card-preview span{color:#f3f3f58a;font-size:12px}.room-editor-drawer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;justify-items:end;background:#0000005c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:room-overlay-in var(--motion-base) var(--ease-standard) both}.room-editor-drawer__panel{width:min(620px,100%);height:100%;overflow:auto;padding:18px;border-left:1px solid rgba(255,255,255,.1);background:#09090af5;box-shadow:-30px 0 90px #00000070;animation:room-dock-in var(--motion-slow) var(--ease-emphasized) both}.room-editor-drawer__panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.room-editor-drawer__panel h2{margin:4px 0 0;color:#fff;font-size:30px;line-height:.95}.room-editor-create-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:18px}.room-editor-json-textarea{width:100%;min-height:62svh;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#ffffff0a;color:var(--text);padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;resize:vertical}.room-editor-handle.is-active{border-color:#fff;transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 8px #e5393538,0 0 34px #e5393585,0 18px 36px #00000070}@media(max-width:960px){.room-editor-page{grid-template-columns:1fr}.room-editor-page .room-viewer{height:46svh;min-height:320px}.room-editor-panel{height:auto;min-height:54svh;border-top:1px solid rgba(255,255,255,.12);border-left:0}.room-editor-panel--inspector{width:100%;height:auto;max-height:54svh;min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px}.room-editor-tool-surface{min-height:0;overflow:visible;padding-bottom:26px}.room-editor-object-switcher select{min-height:48px}.room-editor-axis{grid-template-columns:16px minmax(70px,1fr) 26px minmax(48px,52px) 26px}.room-editor-scalar-row,.room-editor-camera-grid{grid-template-columns:1fr}.room-editor-drawer{justify-items:stretch}.room-editor-drawer__panel{width:100%;border-left:0}.room-editor-create-grid{grid-template-columns:1fr}.room-objects-shell{overflow:auto}.room-objects-layout{grid-template-columns:1fr;gap:22px;height:auto;min-height:100%;overflow:visible}.room-objects-layout--solo{height:100%}.room-objects-main{min-height:auto}.room-object-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-object-detail{grid-template-rows:auto minmax(220px,.8fr) auto}.room-object-preview{min-height:220px}.room-object-solo{min-height:680px}.room-object-solo__copy{grid-template-columns:1fr}.room-object-solo__copy p,.room-object-solo__copy .room-object-detail__actions{grid-column:1;grid-row:auto}}@media(max-width:760px){.room-viewer{min-height:calc(100svh - var(--header-h) - var(--app-bottom-offset));height:calc(100svh - var(--header-h) - var(--app-bottom-offset))}.app-layout--room .room-viewer{min-height:100svh;height:100svh}.room-hero{align-content:start;padding:78px 20px 20px}.room-hero__copy h1{max-width:6.5ch;font-size:clamp(44px,15vw,68px)}.room-hero__copy p{max-width:300px;margin-bottom:20px;font-size:14px}.room-hero__cta{min-width:154px;min-height:46px}.room-hero__stats{left:20px;right:20px;bottom:calc(var(--app-bottom-offset) + 86px);justify-content:space-between;gap:12px}.room-hero__stats strong{font-size:15px}.room-side-dock{top:82px;right:16px;gap:6px}.room-side-dock button{width:94px;height:36px;gap:6px;padding:0 9px;font-size:10px}.room-side-dock svg{width:16px;height:16px}.room-story-panel{left:16px;right:16px;bottom:calc(var(--app-bottom-offset) + 184px);width:auto;padding:14px;transform:none}.room-story-panel h2{font-size:25px}.room-mobile-controls{display:grid;right:16px;bottom:calc(var(--app-bottom-offset) + 178px)}.room-modes{left:16px;top:auto;right:16px;bottom:calc(var(--app-bottom-offset) + 18px);width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px;border-radius:999px;transform:none}.room-modes span{display:none}.room-modes button{min-height:34px;padding:0 8px;border-top:0;border-radius:999px;font-size:10px;text-align:center}.room-modes button:before{display:none}.room-modes button.is-active{background:#ffffff1a}.room-control-hint{bottom:calc(var(--app-bottom-offset) + 270px);width:max-content;max-width:calc(100vw - 32px);text-align:center}.room-flight-status{left:16px;bottom:calc(var(--app-bottom-offset) + 116px)}.room-objects-overlay{padding:8px}.room-objects-shell{height:calc(100svh - 16px);border-radius:22px}.room-objects-layout{padding:18px}.room-objects-layout--solo{height:auto}.room-objects-header{align-items:flex-start;gap:10px}.room-objects-header h2{font-size:34px}.room-objects-header p{font-size:13px}.room-object-view-toggle{height:38px;padding:3px}.room-object-view-toggle span{width:30px;height:30px}.room-object-filterbar{gap:6px;flex-wrap:nowrap;overflow-x:auto}.room-object-filterbar button,.room-object-select-filter{height:38px;padding:0 13px;font-size:12px}.room-object-carousel{grid-template-columns:1fr;gap:12px}.room-object-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}.room-object-card{min-height:180px;aspect-ratio:.78;padding:12px 13px 15px;border-radius:14px}.room-object-card strong{font-size:14px}.room-object-card>span:last-child{font-size:12px}.room-object-preview--compact{min-height:110px}.room-object-arrow{display:none}.room-object-preview{min-height:210px}.room-object-detail__top{min-height:56px;padding:14px 16px 0;font-size:15px}.room-object-detail__copy{padding:18px}.room-object-detail__actions{grid-template-columns:1fr}.room-object-solo{min-height:620px;border-radius:18px}.room-object-solo__top{grid-template-columns:auto 1fr auto;min-height:56px;padding:10px 12px 0;gap:10px;font-size:13px}.room-object-back{min-height:34px;padding:0 11px;font-size:12px}.room-object-solo__stage .room-object-preview{min-height:300px}.room-object-solo__copy{padding:18px}.room-object-solo__copy h3{font-size:32px}.room-object-solo__copy p{font-size:14px}}@media(prefers-reduced-motion:reduce){.room-icon-btn,.room-editor-action,.room-text-action{transition:none}}@media(prefers-reduced-motion:reduce){.breath{animation:none!important;filter:none!important}.glass.breath{box-shadow:var(--shadow)!important}}@media(prefers-reduced-motion:reduce){a.link-fx:after{transition:none!important;animation:none!important}}@media(prefers-reduced-motion:reduce){.magnetic{translate:0px 0px!important}}@media(prefers-reduced-motion:reduce){.route-layer--exit,.route-layer--enter{animation:none!important}.route-overlay{display:none!important}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.card.glass.reveal.is-revealed{animation:none!important}}@media(prefers-reduced-motion:reduce){[data-parallax]{transform:none!important}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:reduce){.ticker--js .ticker-track{animation:none!important}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@media(prefers-reduced-motion:reduce){.skills-cloud canvas{filter:grayscale(.2)}}@media(prefers-reduced-motion:reduce){.skills-cloud{transition:none!important}}@media(prefers-reduced-motion:reduce){#timeline .timeline-dot,#timeline .timeline-card,#timeline .timeline-thumb>img,#timeline .timeline-thumb>tgs-player{transition:none!important}}
