@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--color-bg: #000000;--color-surface: #0e0e0e;--color-surface-hover: #141414;--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .5);--color-text-muted: rgba(255, 255, 255, .35);--color-border-subtle: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .25);--color-cursor: #ffffff;--color-overlay-mobile: #000000;--gradient-rainbow: linear-gradient( 135deg, #e8907e, #e0b084, #a3c9a8, #84b6d4, #a794c9, #d98ca8, #e8907e );--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 15px;--font-size-md: 16px;--font-size-lg: clamp(1.15rem, 1.8vw, 1.4rem);--font-size-xl: clamp(2rem, 3.8vw, 3.5rem);--font-size-2xl: clamp(2.5rem, 5vw, 4.5rem);--font-size-hero: clamp(3rem, 6vw, 6rem);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.1;--line-height-heading: 1.15;--line-height-base: 1.2;--line-height-relaxed: 1.5;--letter-spacing-tight: -.03em;--letter-spacing-tighter: -.04em;--letter-spacing-normal: normal;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-40: 160px;--space-viewport: 1vh;--space-viewport-half: .5vh;--radius-none: 0px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--aspect-card: 4 / 5;--aspect-hero: 16 / 9;--aspect-portrait: 1080 / 1350;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-fade: .35s ease;--transition-fluid: 1.3s cubic-bezier(.4, 0, .2, 1) infinite;--z-overlay: 99;--z-header: 100;--z-cursor: 99999}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--line-height-base);overflow-x:clip;width:100%;min-height:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}input,textarea,button,select{outline:none;box-shadow:none}input:focus,textarea:focus,input:focus-visible,textarea:focus-visible,button:focus,button:focus-visible{outline:none!important;box-shadow:none!important}.container{width:100%;margin:0 auto;padding:0 var(--space-viewport)}.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) var(--space-3) var(--space-4) var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);background:transparent}.header-left{justify-self:start;cursor:pointer;background:none;border:none;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;padding:0;text-align:left}.header-center{display:flex;gap:var(--space-4);justify-self:center}.header-right{justify-self:end}.header a{color:var(--color-text-primary);transition:opacity var(--transition-base)}.header a.inactive{opacity:.6}.header a:hover{opacity:.7}.header a.inactive:hover{opacity:1}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-viewport);padding-top:var(--space-viewport);padding-bottom:var(--space-40)}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.project-card{cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2)}.project-image-wrapper{width:100%;aspect-ratio:var(--aspect-card);background-color:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;position:relative}.project-image-wrapper:after,.gallery-image-wrapper:after,.about-hero-image-wrapper:after,.admin-media-frame:after,.admin-gallery-preview:after,.admin-thumb-box:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-sizing:border-box;border:1px solid rgba(255,255,255,.15);pointer-events:none;z-index:2}.project-image{width:100%;height:100%;object-fit:cover}.project-info{display:flex;justify-content:space-between;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:0 var(--space-viewport-half) var(--space-viewport) var(--space-viewport-half)}.project-title{color:var(--color-text-primary)}.project-role{color:var(--color-text-secondary)}.footer{padding:var(--space-8) var(--space-3) calc(var(--space-8) + env(safe-area-inset-bottom,0px)) var(--space-3);display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.footer a{color:var(--color-text-secondary);transition:color var(--transition-base);min-height:44px;display:inline-flex;align-items:center}.footer a:hover{color:var(--color-text-primary)}.footer span{color:var(--color-text-secondary)}.mobile-only{display:none!important}.desktop-only{display:flex!important}.mobile-toggle{cursor:pointer;color:var(--color-text-primary);justify-self:end;background:none;border:none;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);min-height:44px;min-width:44px;align-items:center;justify-content:flex-end;padding:0;-webkit-user-select:none;user-select:none}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--color-overlay-mobile);z-index:var(--z-overlay);overscroll-behavior:contain}.mobile-menu-inner{position:absolute;top:calc(var(--space-16) + env(safe-area-inset-top,0px));left:5vw;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-2xl);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight)}.mobile-menu-inner a{color:var(--color-text-primary);transition:opacity var(--transition-base);min-height:48px;display:inline-flex;align-items:center}.mobile-menu-inner a:hover{opacity:.7}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:inline-flex!important}.header{grid-template-columns:1fr auto}.admin-clean-input,.admin-clean-textarea,.admin-clean-input.micro{font-size:16px!important}}.project-detail{padding:var(--space-viewport) 0 var(--space-24) 0}.project-lead-image{margin-bottom:var(--space-14)}.project-lead-halves{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-viewport);margin-bottom:var(--space-14)}@media (max-width: 768px){.project-lead-halves{grid-template-columns:1fr}}.project-detail-header{padding:0 var(--space-3);margin-bottom:var(--space-14)}.project-detail-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin-bottom:var(--space-4);text-wrap:balance}.project-detail-meta{display:flex;gap:var(--space-8);padding:0 0 var(--space-6) 0}.meta-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.meta-value{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.project-detail-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:800px;text-wrap:pretty}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-viewport);margin-bottom:var(--space-16)}.gallery-image-wrapper{width:100%;border-radius:var(--radius-md);overflow:hidden;position:relative;background-color:var(--color-surface)}.gallery-image-wrapper.full{grid-column:1 / -1;aspect-ratio:var(--aspect-hero)}.gallery-image-wrapper.half{grid-column:span 1;aspect-ratio:var(--aspect-card)}.gallery-image{width:100%;height:100%;display:block;object-fit:cover}@media (max-width: 768px){.project-gallery{grid-template-columns:1fr;gap:var(--space-viewport)}.gallery-image-wrapper.full,.gallery-image-wrapper.half{grid-column:1 / -1}}.about-page{padding:var(--space-12) var(--space-3) var(--space-32) var(--space-3)}.about-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--space-16);align-items:start;margin-bottom:var(--space-20)}.about-hero-content{display:flex;flex-direction:column}.about-hero-image-wrapper{width:100%;aspect-ratio:var(--aspect-portrait);border-radius:var(--radius-md);overflow:hidden;position:relative;background-color:var(--color-surface)}.about-hero-image{width:100%;height:100%;object-fit:cover;display:block}.about-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-heading);margin-bottom:var(--space-8);color:var(--color-text-primary);text-wrap:balance}.about-lead{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-16);text-wrap:pretty}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding-top:0}.about-column-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6);font-weight:var(--font-weight-regular)}.about-list{display:flex;flex-direction:column;gap:var(--space-4)}.about-item{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.about-item-company{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.about-link{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium);transition:opacity var(--transition-base)}.about-link:hover{opacity:.7}@media (max-width: 900px){.about-hero{grid-template-columns:1fr;gap:var(--space-12)}}@media (max-width: 768px){.about-grid{grid-template-columns:1fr;gap:var(--space-12)}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}.skeleton-box{background:linear-gradient(90deg,#111 25%,#1c1c1c,#111 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-image{width:100%;aspect-ratio:var(--aspect-card)}.skeleton-info{display:flex;justify-content:space-between;padding:0 var(--space-viewport-half)}.skeleton-title{width:50%;height:18px}.skeleton-role{width:30%;height:18px}.skeleton-lead-image{width:100%;aspect-ratio:var(--aspect-hero);margin-bottom:var(--space-14)}.skeleton-portrait{width:100%;aspect-ratio:var(--aspect-portrait)}.skeleton-headline{width:80%;height:48px;margin-bottom:var(--space-4)}.skeleton-meta{width:40%;height:24px;margin-bottom:var(--space-6)}.skeleton-text{width:100%;height:80px;margin-bottom:var(--space-4)}.admin-mode{cursor:auto!important}.admin-wrapper{width:100%;overflow-x:hidden;background-color:var(--color-bg)}.admin-nav-item{background:none;border:none;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);opacity:.6;cursor:pointer;padding:0;transition:opacity var(--transition-base)}.admin-nav-item.active,.admin-nav-item:hover{opacity:1}.admin-page{padding:var(--space-viewport) 0 var(--space-24) 0;width:100%;overflow-x:hidden}.admin-top-bar{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-14);padding:0 var(--space-3);flex-wrap:wrap;gap:1.5rem}.admin-page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);color:var(--color-text-primary)}.admin-text-action{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;transition:color var(--transition-base),opacity var(--transition-base)}.admin-text-action:hover{color:var(--color-text-primary)}.admin-text-action.highlight{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:3px}.admin-text-action.muted{color:var(--color-text-secondary)}.admin-text-action.danger{color:#ff6b6b;opacity:.8}.admin-text-action.danger:hover{opacity:1;color:#f88}.admin-actions-row{display:flex;align-items:center;gap:1.5rem}.admin-list-container{display:flex;flex-direction:column;padding:0 var(--space-3)}.admin-list-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--color-border-subtle);gap:1.5rem;transition:opacity var(--transition-fast)}.admin-list-item.is-dragging{opacity:.2}.admin-list-item.is-drag-over{border-bottom-color:var(--color-text-primary)}.admin-item-start{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0}.admin-drag-icon{color:var(--color-text-secondary);cursor:grab;font-size:16px;-webkit-user-select:none;user-select:none;opacity:.35;transition:opacity var(--transition-fast),color var(--transition-fast)}.admin-drag-icon:hover{opacity:1;color:var(--color-text-primary)}.admin-drag-icon:active{cursor:grabbing}.admin-thumb-box{position:relative;width:52px;aspect-ratio:var(--aspect-card);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);cursor:pointer;flex-shrink:0}.admin-thumb-box img,.admin-thumb-box video{width:100%;height:100%;object-fit:cover;display:block}.admin-item-text{cursor:pointer;min-width:0}.admin-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.admin-item-sub{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.admin-item-end{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.admin-status-text{background:none;border:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:0;transition:opacity var(--transition-fast)}.admin-status-text.is-published{color:var(--color-text-primary)}.admin-status-text.is-draft{color:var(--color-text-secondary);opacity:.5}.admin-grid-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:4rem;padding:0 var(--space-3);align-items:start;width:100%}@media (max-width: 900px){.admin-grid-layout{grid-template-columns:minmax(0,1fr);gap:3rem}}.admin-col-left,.admin-col-right{display:flex;flex-direction:column;min-width:0;width:100%}.admin-group{display:flex;flex-direction:column;margin-bottom:2rem;min-width:0;width:100%}.admin-group-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.admin-input-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.admin-subtext{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-top:.5rem}.admin-clean-input,.admin-clean-textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid var(--color-border-subtle)!important;border-radius:0!important;padding:.6rem 0;font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);outline:none!important;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--transition-fast)}.admin-clean-input:focus,.admin-clean-textarea:focus,.admin-clean-input:focus-visible,.admin-clean-textarea:focus-visible{outline:none!important;box-shadow:none!important;border-bottom-color:var(--color-text-primary)!important}.admin-clean-input.micro{padding:.35rem 0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-clean-textarea{resize:none!important;line-height:var(--line-height-relaxed);overflow:hidden}.admin-input-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.admin-media-frame{position:relative;width:100%;border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);margin:.75rem 0}.admin-media-frame.cover{aspect-ratio:var(--aspect-card)}.admin-media-frame.portrait{aspect-ratio:var(--aspect-portrait)}.admin-media-frame img,.admin-media-frame video{width:100%;height:100%;object-fit:cover;display:block}.admin-gallery-rows{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.admin-gallery-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border-subtle);transition:opacity var(--transition-fast)}.admin-gallery-row.is-dragging{opacity:.2}.admin-gallery-row.is-drag-over{border-bottom-color:var(--color-text-primary)}.admin-gallery-preview{position:relative;width:60px;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);flex-shrink:0}.admin-gallery-preview img,.admin-gallery-preview video{width:100%;height:100%;object-fit:cover;display:block}.admin-gallery-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.admin-gallery-meta-top{display:flex;align-items:baseline;gap:.75rem}.admin-index-tag{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.admin-layout-switch{background:none;border:none;font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;padding:0;transition:color var(--transition-fast)}.admin-layout-switch:hover{color:var(--color-text-primary)}.admin-repeater-rows{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.admin-repeater-pair{display:grid;grid-template-columns:1fr 1fr auto;gap:1.5rem;align-items:center}.admin-repeater-single{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}.admin-login-center{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:0 var(--space-3)}.admin-login-content{width:100%;max-width:360px}.admin-empty-text{padding:4rem 0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.admin-empty-text.small{padding:1.5rem 0;font-size:var(--font-size-sm)}.admin-error-text{color:#ff6b6b;font-size:var(--font-size-sm);padding:0 var(--space-3);margin-bottom:2rem}.admin-success-text{color:var(--color-text-primary);font-size:var(--font-size-sm);padding:0 var(--space-3);margin-bottom:2rem}
