@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=Merriweather:wght@300;400;700;900&family=Playfair+Display:wght@400;500;600;700;800;900&family=Roboto:wght@300;400;500;700;900&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";:root{color-scheme:dark;--color-background: #ffffff;--color-text: #f5f2ea00;--color-muted: #b8b1a5;--color-accent: #d7ff5f00;--color-project-title: #ffffff00;--color-header-background: rgba(8, 8, 8, 0);--color-header-text: #d7ff5f00;--header-logo-size: 2rem;--header-logo-animation-speed: 1.6s;--header-blur: 0px;--header-blur-gradient-end: 35%;--header-block-spacing: 1rem;--header-inline-spacing: clamp(1rem, 4vw, 3rem);--burger-button-color: var(--color-header-text);--burger-button-background: transparent;--burger-button-border: currentColor;--burger-button-hover-color: var(--color-accent);--burger-button-hover-background: transparent;--burger-button-hover-border: var(--color-accent);--burger-button-size: 2.4rem;--burger-line-width: 1rem;--burger-line-thickness: 1px;--burger-close-icon-size: 1rem;--burger-menu-background: rgba(8, 8, 8, .86);--burger-menu-border: rgba(215, 255, 95, .28);--burger-menu-text: var(--color-header-text);--burger-menu-width: 14rem;--burger-menu-link-weight: var(--heading-weight);--burger-menu-link-size: .82rem;--burger-menu-link-spacing: .12em;--burger-menu-block-spacing: 1rem;--burger-menu-inline-spacing: 1rem;--burger-menu-offset-block: .2rem;--burger-menu-offset-inline: clamp(1rem, 4vw, 3rem);--header-outline-color: transparent;--header-outline-thickness: 0px;--header-outline-style: solid;--nav-block-spacing: 0rem;--nav-inline-spacing: 0rem;--nav-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nav-font-weight: 800;--nav-font-size: .75rem;--nav-side-writing-mode: vertical-rl;--nav-side-text-rotate: 0deg;--nav-side-text-scale-x: 1;--nav-side-text-scale-y: 1;--nav-side-item-spacing: .75rem;--color-panel: rgba(255, 255, 255, .075);--color-border: rgba(255, 255, 255, 0);--font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 3px;--border-width: 1px;--base-font-size: 12px;--heading-scale: 1;--heading-weight: 800;--body-weight: 400;--letter-spacing: -.08em;--shadow: 0 18px 80px var(--shadow-color);--shadow-color: rgba(0, 0, 0, 0);--background-fade-duration: .45s;--grid-gap: clamp(.8rem, 2vw, 1.4rem);--home-grid-top-spacing: 2rem;--home-tile-overlay: rgba(0, 0, 0, 0);--social-icon-color: var(--color-text);--social-icon-hover-color: var(--color-accent);--social-icon-size: 1rem;--social-icon-weight: 1.8;--social-icon-spacing: 1rem;--social-menu-spacing-top: clamp(2rem, 6vw, 5rem);--social-menu-spacing-bottom: 1rem;--social-menu-inline-spacing: var(--home-grid-inline-spacing);background:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-synthesis:none;text-rendering:optimizeLegibility;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,color var(--background-fade-duration) ease;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-background);transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,color var(--background-fade-duration) ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button-link{border:var(--border-width) solid var(--color-border);border-radius:999px;color:var(--color-text);background:var(--color-panel);cursor:pointer;padding:.7rem 1rem;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease,color var(--background-fade-duration) ease}button:hover,.button-link:hover,.tag-list .is-active{border-color:var(--color-accent);color:var(--color-accent)}.site-header{background:var(--color-header-background);border-bottom:var(--header-outline-thickness) var(--header-outline-style) var(--header-outline-color);box-sizing:border-box;inset:0 0 auto;min-height:0;padding-block:var(--header-block-spacing);padding-inline:var(--header-inline-spacing);pointer-events:none;position:fixed;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease;z-index:10}.site-header-bar{align-items:center;display:flex;gap:.75rem;position:relative;width:100%;z-index:1}.site-header[data-header-placement=top]{display:block}.site-header[data-header-placement=top] .site-header-bar{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.site-header[data-header-placement=top][data-brand-alignment=left][data-nav-alignment=left] .site-header-bar,.site-header[data-header-placement=top][data-brand-alignment=right][data-nav-alignment=right] .site-header-bar{display:flex;flex-wrap:wrap}.site-header[data-header-placement=top][data-brand-alignment=left][data-nav-alignment=left] .site-header-bar{justify-content:flex-start}.site-header[data-header-placement=top][data-brand-alignment=right][data-nav-alignment=right] .site-header-bar{justify-content:flex-end}.site-header[data-header-placement=top][data-brand-alignment=center][data-nav-alignment=center] .site-header-bar{align-items:center;display:flex;flex-direction:column;justify-content:center}.site-header[data-header-placement=top] .brand{flex:unset;grid-row:1}.site-header[data-header-placement=top][data-brand-alignment=left] .brand{grid-column:1;justify-self:start}.site-header[data-header-placement=top][data-brand-alignment=center] .brand{grid-column:1 / -1;justify-self:center}.site-header[data-header-placement=top][data-brand-alignment=right] .brand{grid-column:3;justify-self:end}.site-header[data-header-placement=top] .site-nav{grid-row:1;margin-block-start:var(--nav-top-offset, 0);max-width:100%;width:max-content}.site-header[data-header-placement=top][data-nav-alignment=left] .site-nav{grid-column:1;justify-content:flex-start;justify-self:start}.site-header[data-header-placement=top][data-nav-alignment=center] .site-nav{grid-column:1 / -1;justify-content:center;justify-self:center}.site-header[data-header-placement=top][data-nav-alignment=right] .site-nav{grid-column:3;justify-content:flex-end;justify-self:end}.site-header:before{backdrop-filter:blur(var(--header-blur));content:"";inset:0;mask-image:linear-gradient(to bottom,black 0%,black var(--header-blur-gradient-end),transparent 100%);pointer-events:none;position:absolute;transition:backdrop-filter var(--background-fade-duration) ease;-webkit-mask-image:linear-gradient(to bottom,black 0%,black var(--header-blur-gradient-end),transparent 100%);z-index:0}.site-layout{min-height:100vh}.site-content{min-height:100vh;min-width:0}.site-layout[data-header-placement=left],.site-layout[data-header-placement=right]{display:grid;min-height:100vh}.site-layout[data-header-placement=left]{grid-template-columns:auto minmax(0,1fr)}.site-layout[data-header-placement=right]{grid-template-columns:minmax(0,1fr) auto}.site-layout[data-header-placement=left] .site-header{grid-column:1;grid-row:1}.site-layout[data-header-placement=left] .site-content,.site-layout[data-header-placement=right] .site-header{grid-column:2;grid-row:1}.site-layout[data-header-placement=right] .site-content{grid-column:1;grid-row:1}.site-header[data-header-placement=left],.site-header[data-header-placement=right]{align-items:stretch;border-bottom:0;display:flex;flex-direction:column;height:100vh;inset:0 auto auto;justify-content:flex-start;max-height:100vh;max-width:min(18rem,40vw);overflow-x:hidden;overflow-y:auto;position:sticky;width:max-content}.site-header[data-header-placement=left]{border-right:var(--header-outline-thickness) var(--header-outline-style) var(--header-outline-color)}.site-header[data-header-placement=right]{border-left:var(--header-outline-thickness) var(--header-outline-style) var(--header-outline-color)}.site-header[data-header-placement=left]:before,.site-header[data-header-placement=right]:before{-webkit-mask-image:linear-gradient(to right,black 0%,black var(--header-blur-gradient-end),transparent 100%);mask-image:linear-gradient(to right,black 0%,black var(--header-blur-gradient-end),transparent 100%)}.site-header[data-header-placement=right]:before{-webkit-mask-image:linear-gradient(to left,black 0%,black var(--header-blur-gradient-end),transparent 100%);mask-image:linear-gradient(to left,black 0%,black var(--header-blur-gradient-end),transparent 100%)}.site-header[data-header-placement=left] .site-header-bar,.site-header[data-header-placement=right] .site-header-bar{align-items:stretch;flex:1 1 auto;flex-direction:column;gap:.75rem;height:100%;min-height:0}.site-header[data-header-placement=left] .brand,.site-header[data-header-placement=right] .brand{align-items:flex-start;align-self:flex-start;flex:0 0 auto;flex-direction:column;white-space:normal;width:100%}.site-header[data-brand-alignment=center] .brand{align-items:center;align-self:center}.site-header[data-brand-alignment=right] .brand{align-items:flex-end;align-self:flex-end}.site-header[data-header-placement=left] .brand>span,.site-header[data-header-placement=right] .brand>span{overflow:visible;text-overflow:unset;white-space:normal}.site-header[data-header-placement=left] .brand-logo,.site-header[data-header-placement=right] .brand-logo{max-width:100%}.site-header[data-header-placement=left] .menu-toggle,.site-header[data-header-placement=right] .menu-toggle{display:none}.site-header[data-header-placement=left] .site-nav,.site-header[data-header-placement=right] .site-nav{align-items:flex-start;background:transparent;border:0;border-radius:0;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--nav-side-item-spacing, .75rem);justify-content:flex-start;margin-inline-start:var(--nav-side-offset, 0);min-width:0;position:static;text-align:left;transform:none;width:100%}.site-header[data-nav-alignment=center] .site-nav{align-items:center;text-align:center}.site-header[data-nav-alignment=right] .site-nav{align-items:flex-end;text-align:right}.site-header[data-header-placement=left] .site-nav a,.site-header[data-header-placement=right] .site-nav a{align-items:center;align-self:flex-start;display:flex;flex:0 0 auto;justify-content:center;min-height:0;min-width:0;width:max-content}.site-header[data-nav-alignment=center] .site-nav a{align-self:center}.site-header[data-nav-alignment=right] .site-nav a{align-self:flex-end}.site-header[data-header-placement=left] .site-nav .site-nav-label,.site-header[data-header-placement=right] .site-nav .site-nav-label{display:inline-block;text-orientation:mixed;transform:rotate(var(--nav-side-text-rotate, 0deg)) scale(var(--nav-side-text-scale-x, 1),var(--nav-side-text-scale-y, 1));transform-origin:center center;white-space:nowrap;writing-mode:var(--nav-side-writing-mode, vertical-rl)}.brand{align-items:center;color:var(--color-header-text);display:inline-flex;flex:0 1 auto;font-size:.9rem;font-weight:var(--heading-weight);gap:.6rem;letter-spacing:.12em;min-width:0;pointer-events:auto;position:relative;text-transform:uppercase;transition:color var(--background-fade-duration) ease;white-space:nowrap;z-index:1}.brand>span{overflow:hidden;text-overflow:ellipsis}.brand-logo{display:block;max-height:var(--header-logo-size);max-width:min(12rem,34vw);object-fit:contain;transform:translateY(0) rotate(0) scale(1);transition:transform .9s cubic-bezier(.16,1,.3,1)}.brand-logo-icon{align-items:center;display:inline-flex;font-size:var(--header-logo-size);justify-content:center;line-height:1;min-height:var(--header-logo-size);min-width:var(--header-logo-size);text-transform:none}.brand-logo:hover,.brand:hover .brand-logo{animation-play-state:paused}.brand-logo[data-logo-animation=pulse]{animation:logo-pulse var(--header-logo-animation-speed) ease-in-out infinite}.brand-logo[data-logo-animation=spin]{animation:logo-spin var(--header-logo-animation-speed) linear infinite}.brand-logo[data-logo-animation=float]{animation:logo-float var(--header-logo-animation-speed) ease-in-out infinite}.brand-logo[data-logo-animation=wiggle]{animation:logo-wiggle var(--header-logo-animation-speed) ease-in-out infinite}.brand-logo[data-logo-loading=false]{animation:none!important;transform:translateY(0) rotate(0) scale(1)}@keyframes logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes logo-spin{to{transform:rotate(1turn)}}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.18em)}}@keyframes logo-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.menu-toggle{align-items:center;background:var(--burger-button-background);border:var(--border-width) solid var(--burger-button-border);color:var(--burger-button-color);display:none;flex:0 0 auto;flex-direction:column;gap:.22rem;height:var(--burger-button-size);justify-content:center;padding:0;pointer-events:auto;position:relative;width:var(--burger-button-size);z-index:2}.menu-toggle:hover{background:var(--burger-button-hover-background);border-color:var(--burger-button-hover-border);color:var(--burger-button-hover-color)}.menu-toggle span{background:currentColor;border-radius:999px;display:block;height:var(--burger-line-thickness);transition:opacity var(--background-fade-duration) ease,transform var(--background-fade-duration) ease;width:var(--burger-line-width)}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(.33rem) rotate(45deg);width:var(--burger-close-icon-size)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-.33rem) rotate(-45deg);width:var(--burger-close-icon-size)}.site-nav{align-items:center;color:var(--color-muted);display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;padding-block:var(--nav-block-spacing);padding-inline:var(--nav-inline-spacing);pointer-events:auto;position:relative;z-index:1}.site-nav a{color:var(--color-header-text);font-family:var(--nav-font-family, var(--font-family));font-size:var(--nav-font-size, .75rem);font-weight:var(--nav-font-weight, var(--heading-weight));letter-spacing:.12em;text-transform:uppercase;transition:color var(--background-fade-duration) ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-accent)}.social-link{align-items:center;display:inline-flex;justify-content:center}.social-link svg{display:block;fill:none;height:var(--social-icon-size);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--social-icon-weight);width:var(--social-icon-size)}.social-link svg path,.social-link svg rect{fill:currentColor;stroke:none}.site-social-links[data-social-icon-style=outline] .social-link svg circle,.site-social-links[data-social-icon-style=outline] .social-link svg path,.site-social-links[data-social-icon-style=outline] .social-link svg rect{fill:none;stroke:currentColor}.site-social-links[data-social-icon-style=filled] .social-link svg circle,.site-social-links[data-social-icon-style=filled] .social-link svg path,.site-social-links[data-social-icon-style=filled] .social-link svg rect{fill:currentColor;stroke:none}.site-social-links{align-items:center;color:var(--social-icon-color);display:flex;gap:var(--social-icon-spacing);justify-content:center;margin-top:var(--social-menu-spacing-top);padding-block:0 var(--social-menu-spacing-bottom);padding-inline:var(--social-menu-inline-spacing)}.site-social-links[data-social-menu-alignment=left]{justify-content:flex-start}.site-social-links[data-social-menu-alignment=right]{justify-content:flex-end}.site-social-links .social-link{color:inherit;transition:color var(--background-fade-duration) ease}.site-social-links .social-link:hover{color:var(--social-icon-hover-color)}.home-page,.project-page,.page-shell,.admin-page,.loading-shell{background:var(--color-background);color:var(--color-text);font-size:var(--base-font-size);font-weight:var(--body-weight);min-height:100vh;padding:clamp(1rem,4vw,3rem);transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,color var(--background-fade-duration) ease}.hero-panel,.project-hero,.admin-hero,.empty-state{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-panel);box-shadow:var(--shadow);margin-bottom:clamp(1rem,4vw,2.5rem);max-width:1100px;padding:clamp(1.25rem,4vw,4rem);transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease,border-radius var(--background-fade-duration) ease,box-shadow var(--background-fade-duration) ease,color var(--background-fade-duration) ease}.hero-panel,.project-hero{border:0}.contact-form{display:grid;gap:1rem;margin-top:2rem;max-width:900px}.contact-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{color:var(--color-muted);display:grid;gap:.45rem}.contact-form input,.contact-form select,.contact-form textarea{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:.8rem .9rem;width:100%}.hero-panel h1,.project-hero h1,.admin-hero h1,.page-shell h1{font-size:clamp(calc(2.4rem * var(--heading-scale)),calc(9vw * var(--heading-scale)),calc(7.5rem * var(--heading-scale)));font-weight:var(--heading-weight);line-height:.9;letter-spacing:var(--letter-spacing);margin:0 0 1rem}.hero-panel p,.project-hero p,.admin-hero p,.project-card-copy p,.empty-state p{color:var(--color-muted);max-width:70ch;transition:color var(--background-fade-duration) ease}.eyebrow{color:var(--color-accent);font-size:.75rem;font-weight:var(--heading-weight);letter-spacing:.16em;margin:0 0 .8rem;text-transform:uppercase;transition:color var(--background-fade-duration) ease}.filter-panel{align-items:end;display:flex;gap:1rem;margin-bottom:1.5rem}.search-field,.admin-card label{color:var(--color-muted);display:grid;gap:.45rem}.search-field input,.admin-card input,.admin-card select,.admin-card textarea{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:14px;color:var(--color-text);padding:.8rem .9rem;width:100%}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag-list span,.tag-list button{border:var(--border-width) solid var(--color-border);border-radius:999px;color:var(--color-muted);padding:.45rem .7rem;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease,color var(--background-fade-duration) ease}.project-grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:var(--home-grid-top-spacing);padding-inline:var(--home-grid-inline-spacing)}.project-card{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);contain:content;overflow:hidden;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease,border-radius var(--background-fade-duration) ease,box-shadow var(--background-fade-duration) ease,transform .18s ease}.project-card.is-hidden-project{opacity:.72}.project-hidden-badge{align-items:center;background:color-mix(in srgb,var(--color-background) 82%,transparent);border:var(--border-width) solid var(--color-accent);border-radius:999px;color:var(--color-accent);display:inline-flex;font-size:.75rem;font-weight:var(--heading-weight);gap:.4rem;inset:.75rem auto auto .75rem;letter-spacing:.08em;padding:.35rem .55rem;position:absolute;text-transform:uppercase;z-index:3}.project-hero>.project-hidden-badge{inset:auto;margin-bottom:1rem;position:relative}.project-thumb{aspect-ratio:var(--project-tile-aspect-ratio, 4 / 3);background:color-mix(in srgb,var(--color-panel) 70%,black);display:grid;grid-template:1fr / 1fr;overflow:hidden;position:relative;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease}.project-thumb>*{grid-area:1 / 1;min-height:0;min-width:0}.project-thumb:after{background:var(--home-tile-overlay);content:"";inset:0;pointer-events:none;position:absolute;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease;z-index:1}.project-thumb img,.project-thumb-video,.project-thumb-model,.project-thumb-model .model-viewer{display:block;height:100%;object-fit:cover;width:100%}.project-thumb .media-image,.project-thumb img,.project-thumb-video{object-fit:cover}.media-block .media-image,.media-block video.media-image,.media-placeholder{display:block;height:100%;width:100%}.media-block .media-image,.media-block video.media-image{object-fit:cover}.media-placeholder{object-fit:cover}.project-thumb img,.project-thumb-video,.project-thumb-model{filter:grayscale(var(--project-thumb-grayscale, 0));transition:filter .22s ease}.project-thumb-model{height:100%;width:100%}.project-thumb-model .model-viewer{aspect-ratio:unset;height:100%;min-height:0;width:100%}.project-thumb .model-placeholder{min-height:100%}.project-thumb .is-monochrome{--project-thumb-grayscale: 1}.project-thumb-fallback,.model-placeholder{align-items:center;color:var(--color-muted);display:grid;height:100%;min-height:220px;place-items:center}.project-card-copy{background:transparent;bottom:0;color:#fff;display:grid;gap:.2rem;inset-inline:0;padding:clamp(1rem,3vw,1.5rem);position:absolute;transition:color var(--background-fade-duration) ease,opacity .18s ease;z-index:2}.project-card-copy .eyebrow,.project-card-copy p{color:#ffffffc7}.project-card-copy h2{color:var(--color-project-title);font-size:clamp(calc(1.4rem * var(--heading-scale)),calc(4vw * var(--heading-scale)),calc(2.4rem * var(--heading-scale)));font-weight:var(--heading-weight);letter-spacing:var(--letter-spacing);margin:0;transition:color var(--background-fade-duration) ease}@media(hover:hover)and (pointer:fine){.project-thumb img,.project-thumb-video,.project-thumb-model{filter:grayscale(var(--project-thumb-grayscale, 0)) blur(var(--home-tile-blur))}.project-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-card:hover .project-thumb img,.project-card:hover .project-thumb-video,.project-card:hover .project-thumb-model{filter:grayscale(var(--project-thumb-grayscale, 0)) blur(0px)}.project-card:hover .project-card-copy{opacity:0}}.project-meta-list{color:var(--color-muted);display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0}.project-meta-list dt{color:var(--color-accent);font-weight:var(--heading-weight)}.project-meta-list dd{margin:0}.back-link{color:var(--color-muted);display:inline-block;margin-bottom:2rem}.project-media-grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(12,minmax(0,1fr));padding-inline:var(--project-grid-inline-spacing)}.media-block{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);grid-column:span 6;min-height:0;overflow:hidden;position:relative;transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,border-color var(--background-fade-duration) ease,border-radius var(--background-fade-duration) ease,box-shadow var(--background-fade-duration) ease,color var(--background-fade-duration) ease}.media-block:not(.text-block):not(.spacer-block){aspect-ratio:var(--media-tile-aspect-ratio, 4 / 3);display:flex;flex-direction:column}.media-block.model-media-block{background:transparent}.project-thumb:has(.project-thumb-model){background:transparent}.media-block.no-outline{border:0}.media-block.force-outline{border:max(1px,var(--border-width)) solid var(--color-border)}.is-monochrome{filter:grayscale(1)}.importance-1{grid-column:span 3}.importance-2{grid-column:span 4}.importance-3{grid-column:span 6}.importance-4{grid-column:span 8}.importance-5{grid-column:1 / -1}.media-figure{display:block;flex:1 1 auto;height:100%;margin:0;min-height:0;overflow:hidden;position:relative;width:100%}.media-placeholder{filter:blur(18px);inset:0;position:absolute;transform:scale(1.08)}.media-image{position:relative}.media-block .media-image{aspect-ratio:unset;min-height:0}.media-block .video-poster-button,.media-block .video-load-frame{display:block;height:100%;width:100%}.media-block .video-poster-button .media-image{height:100%;object-fit:cover;width:100%}.media-block .video-load-frame{display:grid;min-height:0}.media-block .video-load-frame>.media-image,.media-block .video-load-frame>.video-preview{grid-area:1 / 1;height:100%;object-fit:cover;width:100%}.video-poster-button{background:transparent;border:0;border-radius:0;color:inherit;display:block;height:100%;padding:0;position:relative;width:100%}.video-poster-button:hover{color:inherit}.video-load-frame{display:grid}.video-load-frame>.media-image{grid-area:1 / 1}.video-preview{opacity:1;transition:opacity .22s ease}.video-preview.is-loading{opacity:0}.text-block{padding:var(--media-text-padding);transition:background-color var(--background-fade-duration) ease,background var(--background-fade-duration) ease,color var(--background-fade-duration) ease,padding var(--background-fade-duration) ease}.text-block p{font-size:clamp(calc(1.1rem * var(--media-text-scale)),calc(2.4vw * var(--media-text-scale)),calc(2rem * var(--media-text-scale)));line-height:1.35;margin:0;transition:color var(--background-fade-duration) ease,font-size var(--background-fade-duration) ease}.spacer-block{min-height:var(--spacer-height, clamp(2rem, 8vw, 6rem))}.admin-media-tile-controls{align-items:center;background:color-mix(in srgb,var(--color-background) 84%,transparent);border:var(--border-width) solid var(--color-border);border-radius:999px;display:flex;gap:.25rem;padding:.3rem;position:absolute;right:.55rem;top:.55rem;z-index:4}.admin-media-tile-controls button,.admin-media-tile-controls select{border-radius:999px;min-height:1.75rem;min-width:1.75rem;padding:.25rem .45rem}.admin-media-tile-controls select{width:auto}.admin-media-tile-controls button:disabled{cursor:not-allowed;opacity:.45}.admin-project-tile-controls{left:.55rem;right:auto}.model-viewer{aspect-ratio:16 / 10;min-height:320px;overflow:hidden;position:relative;touch-action:none;width:100%}.model-viewer canvas{display:block;height:100%;touch-action:none;width:100%}.media-block .model-viewer{aspect-ratio:unset;height:100%;min-height:0;width:100%}.admin-workspace{display:block;min-height:calc(100vh - 64px);padding:0}.admin-sidepanel{background:color-mix(in srgb,var(--color-background) 88%,white 4%);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:1rem;max-height:min(78vh,760px);max-width:min(calc(100vw - 2rem),420px);overflow:auto;padding:1rem;position:fixed;width:min(calc(100vw - 2rem),390px);z-index:20}.admin-floating-panel-header{align-items:center;cursor:grab;display:flex;gap:1rem;justify-content:space-between;touch-action:none;user-select:none}.admin-floating-panel-header:active{cursor:grabbing}.admin-floating-panel-header h1{font-size:1.35rem;margin:0}.admin-floating-panel-header button{cursor:pointer;padding:.45rem .65rem;white-space:nowrap}.admin-panel-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:.35rem}.admin-preview-mode-icons{display:inline-flex;gap:.25rem}.admin-preview-mode-icon{font-size:.72rem;font-weight:var(--heading-weight);line-height:1;min-height:1.75rem;min-width:1.75rem;padding:.35rem}.admin-preview-mode-icon.is-active{border-color:var(--color-accent);color:var(--color-accent)}.admin-header-icon{align-items:center;display:inline-flex;font-size:.72rem;font-weight:var(--heading-weight);justify-content:center;line-height:1;min-height:1.75rem;min-width:1.75rem;padding:.35rem}.admin-header-icon svg{display:block;height:.95rem;width:.95rem}.admin-header-icon.is-dirty{border-color:var(--color-accent);color:var(--color-accent)}.admin-header-icon:disabled{cursor:not-allowed;opacity:.45}.admin-floating-icon{align-items:center;background:color-mix(in srgb,var(--color-background) 88%,white 4%);border:var(--border-width) solid var(--color-border);border-radius:999px;box-shadow:var(--shadow);color:var(--color-text);cursor:grab;display:inline-flex;height:3rem;justify-content:center;padding:0;position:fixed;touch-action:none;user-select:none;width:3rem;z-index:20}.admin-floating-icon:active{cursor:grabbing}.admin-floating-icon svg{display:block;height:1.2rem;width:1.2rem}.admin-floating-icon.is-dirty{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 28%,transparent),var(--shadow);color:var(--color-accent)}.admin-floating-icon.is-dirty:after{background:var(--color-accent);border-radius:999px;content:"";height:.45rem;position:absolute;right:.2rem;top:.2rem;width:.45rem}.admin-panel-description{color:var(--color-muted);margin:-.5rem 0 0}.admin-panel-tabs{display:grid;gap:.45rem;grid-template-columns:repeat(var(--admin-tab-count, 4),minmax(0,1fr))}.admin-panel-tab{align-items:center;display:inline-flex;justify-content:center;min-height:2.25rem;padding:.45rem}.admin-panel-tab svg{display:block;height:1rem;width:1rem}.admin-panel-tabs .is-active,.admin-panel-tab.is-active{border-color:var(--color-accent);color:var(--color-accent)}.admin-panel-section{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);display:grid;gap:.85rem;padding:1rem}.admin-panel-intro h1,.admin-panel-section h2,.admin-preview-toolbar h2{margin:0}.admin-section-toggle{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-text);display:flex;justify-content:space-between;padding:0;text-align:left}.admin-section-toggle>span:first-child{display:grid;gap:.35rem}.admin-section-toggle>span:last-child{align-items:center;color:var(--color-accent);display:inline-flex;justify-content:center}.admin-section-toggle .admin-expand-icon{color:var(--color-accent);flex:0 0 auto}.admin-section-body{display:grid;gap:.85rem}.admin-control-group{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);display:grid;gap:.75rem;padding:.75rem}.admin-subsection-toggle{align-items:center;background:transparent;border:0;border-radius:0;color:var(--color-text);display:flex;justify-content:space-between;padding:0;text-align:left}.admin-subsection-toggle h3{margin:0}.admin-subsection-toggle span,.admin-subsection-toggle .admin-expand-icon{color:var(--color-accent);flex:0 0 auto}.admin-subsection-body{display:grid;gap:.85rem}.admin-panel-intro p,.admin-panel-section p,.admin-status{color:var(--color-muted);margin:0}.admin-panel-section label,.admin-login-form{color:var(--color-muted);display:grid;gap:.45rem}.admin-login-form input{background:transparent;border:var(--border-width) solid var(--color-accent);border-radius:999px;color:var(--color-text);padding:.7rem .9rem;transition:border-color var(--background-fade-duration) ease,color var(--background-fade-duration) ease;width:100%}.admin-login-form input:focus{border-color:var(--color-accent);outline:none}.admin-icon-button{align-items:center;display:inline-flex;justify-content:center;min-height:1.75rem;min-width:1.75rem;padding:.35rem}.admin-icon-button svg{display:block;height:.9rem;width:.9rem}.admin-expand-icon{display:block;height:.95rem;transition:transform var(--background-fade-duration) ease;width:.95rem}.admin-expand-icon.is-expanded{transform:rotate(180deg)}.admin-save-status{align-items:center;border:var(--border-width) solid var(--color-border);border-radius:999px;color:var(--color-muted);display:inline-flex;justify-content:center;min-height:2rem;min-width:2rem;padding:.35rem}.admin-save-status svg{display:block;height:1rem;width:1rem}.admin-save-status.admin-dirty{border-color:var(--color-accent);color:var(--color-accent)}.admin-panel-section input,.admin-panel-section select,.admin-panel-section textarea{background:var(--color-panel);border:var(--border-width) solid var(--color-border);border-radius:14px;color:var(--color-text);padding:.7rem .8rem;width:100%}.admin-panel-section textarea{min-height:7rem;resize:vertical}.admin-color-field{display:grid;gap:.5rem;grid-template-columns:auto 1fr}.admin-color-control-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.admin-color-control-row input[type=color]{aspect-ratio:1;cursor:pointer;min-height:2.4rem;padding:.2rem;width:2.4rem}.admin-color-field input[type=color]{aspect-ratio:1;cursor:pointer;min-height:100%;padding:.2rem;width:3rem}.admin-color-value{align-self:center;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-opacity-field{grid-column:1 / -1}.admin-slider-field{display:grid;gap:.45rem}.admin-slider-label{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.admin-slider-label span{color:var(--color-text);font-variant-numeric:tabular-nums}.admin-slider-row{align-items:center;display:grid;gap:.45rem;grid-template-columns:auto minmax(0,1fr) auto}.admin-slider-row button{border-radius:999px;display:grid;font-size:.75rem;line-height:1;min-height:2.1rem;min-width:3.2rem;padding:.35rem .55rem;place-items:center}.admin-slider-row input[type=range]{appearance:none;background:transparent;border:0;cursor:grab;min-height:2rem;padding:0;width:100%}.admin-slider-row input[type=range]:active{cursor:grabbing}.admin-slider-row input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 45%,var(--color-border)));border-radius:999px;height:.45rem}.admin-slider-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-text);border:2px solid var(--color-panel);border-radius:999px;box-shadow:0 0 0 1px var(--color-border);height:1.15rem;margin-top:-.35rem;width:1.15rem}.admin-slider-row input[type=range]::-moz-range-track{background:linear-gradient(90deg,var(--color-accent),color-mix(in srgb,var(--color-accent) 45%,var(--color-border)));border-radius:999px;height:.45rem}.admin-slider-row input[type=range]::-moz-range-thumb{background:var(--color-text);border:2px solid var(--color-panel);border-radius:999px;box-shadow:0 0 0 1px var(--color-border);height:1.15rem;width:1.15rem}.admin-model-material-subtab{border:var(--border-width) solid var(--color-border);border-radius:14px;display:grid;gap:.75rem;grid-column:1 / -1;padding:.75rem}.admin-model-material-subtab summary{color:var(--color-text);cursor:pointer;font-weight:700}.admin-model-material-controls{display:grid;gap:.75rem;margin-top:.75rem}.admin-noise-map,.admin-normal-layer{border-top:var(--border-width) solid var(--color-border);display:grid;gap:.75rem;padding-top:.75rem}.admin-noise-map h3,.admin-normal-layer strong{color:var(--color-text);font-size:.82rem;letter-spacing:.08em;margin:0;text-transform:uppercase}.admin-control-heading{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.admin-control-heading button{padding:.35rem .55rem}.admin-logo-preview{background:color-mix(in srgb,var(--color-panel) 70%,black);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);display:block;max-height:80px;max-width:100%;object-fit:contain;padding:.5rem}.admin-save-row,.admin-preview-toolbar,.admin-preview-toggle{align-items:center;display:flex;gap:.75rem}.admin-save-row,.admin-preview-toolbar{justify-content:space-between}.admin-save-row .admin-save-status{margin-inline-start:auto}.admin-preview-toolbar span{border:var(--border-width) solid var(--color-border);border-radius:999px;color:var(--color-muted);padding:.45rem .7rem;white-space:nowrap}.admin-save-row .admin-save-status.admin-dirty,.admin-preview-toolbar span{color:var(--color-accent)}.admin-preview-toggle button{flex:1}.admin-preview-toggle .is-active{border-color:var(--color-accent);color:var(--color-accent)}.admin-checkbox-label{align-items:center;display:flex!important;flex-direction:row}.admin-checkbox-label input{width:auto}.admin-preview-window{min-width:0}.admin-preview-toolbar{background:color-mix(in srgb,var(--color-background) 84%,transparent);border-bottom:var(--border-width) solid var(--color-border);padding:1rem clamp(1rem,3vw,2rem);position:sticky;top:64px;z-index:5}.admin-preview-frame{min-width:0;overflow:auto}.admin-preview-surface{min-height:100%}.media-editor-list{display:grid;gap:.75rem}.media-bulk-controls{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.homepage-order-row,.media-editor-row{align-items:stretch;border:var(--border-width) solid var(--color-border);border-radius:16px;display:grid;gap:.75rem;grid-template-columns:1fr;padding:.75rem}.media-editor-row{cursor:grab}.media-editor-row.is-dragging{border-color:var(--color-accent);opacity:.55}.homepage-order-row.is-hidden-project{opacity:.72}.homepage-order-row span,.media-editor-row span{color:var(--color-muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-order-controls{display:flex;gap:.5rem}.media-order-controls button:disabled{cursor:not-allowed;opacity:.45}.admin-actions{align-items:center;background:color-mix(in srgb,var(--color-background) 84%,transparent);border-top:var(--border-width) solid var(--color-border);bottom:0;display:flex;gap:1rem;inset-inline:0;justify-content:flex-end;padding:1rem clamp(1rem,4vw,3rem);position:sticky}@media(max-width:860px){.site-layout[data-header-placement=left],.site-layout[data-header-placement=right]{display:block}.site-header[data-header-placement=left],.site-header[data-header-placement=right]{border-bottom:var(--header-outline-thickness) var(--header-outline-style) var(--header-outline-color);border-left:0;border-right:0;height:auto;inset:0 0 auto;max-height:none;max-width:none;overflow:visible;position:fixed;width:auto}.site-header[data-header-placement=left] .site-header-bar,.site-header[data-header-placement=right] .site-header-bar{align-items:flex-start;flex-direction:row;height:auto;justify-content:space-between}.site-header[data-header-placement=left] .brand,.site-header[data-header-placement=right] .brand{align-items:center;align-self:auto;flex:1 1 auto;flex-direction:row;white-space:nowrap;width:auto}.site-header[data-header-placement=left][data-brand-alignment=center] .brand,.site-header[data-header-placement=right][data-brand-alignment=center] .brand{flex:1 1 auto;justify-content:center}.site-header[data-header-placement=left][data-brand-alignment=right] .brand,.site-header[data-header-placement=right][data-brand-alignment=right] .brand{flex:0 1 auto;justify-content:flex-end}.site-header[data-header-placement=left]:before,.site-header[data-header-placement=right]:before{-webkit-mask-image:linear-gradient(to bottom,black 0%,black var(--header-blur-gradient-end),transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black var(--header-blur-gradient-end),transparent 100%)}.site-header[data-header-placement=left] .brand>span,.site-header[data-header-placement=right] .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header[data-header-placement=top] .site-header-bar{align-items:flex-start;display:flex;justify-content:space-between}.site-header[data-header-placement=top] .brand{flex:1 1 auto;grid-column:unset;grid-row:unset;justify-self:unset}.site-header[data-header-placement=top][data-brand-alignment=center] .brand{flex:1 1 auto;justify-content:center}.site-header[data-header-placement=top][data-brand-alignment=right] .brand{flex:0 1 auto;justify-content:flex-end}.site-header{display:block}.site-header[data-header-placement=left] .menu-toggle,.site-header[data-header-placement=right] .menu-toggle,.menu-toggle{display:inline-flex}.site-header[data-header-placement=left] .site-nav,.site-header[data-header-placement=right] .site-nav{align-items:flex-end;background:var(--burger-menu-background);border:var(--border-width) solid var(--burger-menu-border);border-radius:var(--radius);display:none;flex:0 0 auto;flex-direction:column;gap:.9rem;margin-block-start:0;margin-inline-start:0;min-width:min(var(--burger-menu-width),calc(100vw - (var(--burger-menu-offset-inline) * 2)));padding-block:var(--burger-menu-block-spacing);padding-inline:var(--burger-menu-inline-spacing);position:absolute;right:var(--burger-menu-offset-inline);text-align:right;top:calc(100% + var(--burger-menu-offset-block));width:auto}.site-header[data-header-placement=left] .site-nav a,.site-header[data-header-placement=right] .site-nav a{align-self:auto;display:inline;width:auto}.site-header[data-header-placement=left] .site-nav .site-nav-label,.site-header[data-header-placement=right] .site-nav .site-nav-label{transform:none;writing-mode:horizontal-tb}.site-nav{align-items:flex-end;background:var(--burger-menu-background);border:var(--border-width) solid var(--burger-menu-border);border-radius:var(--radius);display:none;flex-direction:column;gap:.9rem;margin-block-start:0;min-width:min(var(--burger-menu-width),calc(100vw - (var(--burger-menu-offset-inline) * 2)));padding-block:var(--burger-menu-block-spacing);padding-inline:var(--burger-menu-inline-spacing);position:absolute;right:var(--burger-menu-offset-inline);text-align:right;top:calc(100% + var(--burger-menu-offset-block))}.site-nav[data-menu-alignment=left]{align-items:flex-start;left:var(--burger-menu-offset-inline);right:auto;text-align:left}.site-nav[data-menu-alignment=center]{align-items:center;left:50%;right:auto;text-align:center;transform:translate(-50%)}.site-nav.is-open,.site-header[data-header-placement=left] .site-nav.is-open,.site-header[data-header-placement=right] .site-nav.is-open{display:flex}.site-nav a{color:var(--burger-menu-text);font-family:var(--nav-font-family, var(--font-family));font-size:var(--nav-font-size, var(--burger-menu-link-size));font-weight:var(--nav-font-weight, var(--burger-menu-link-weight));letter-spacing:var(--burger-menu-link-spacing)}.filter-panel,.media-editor-row{grid-template-columns:1fr}.admin-sidepanel{max-height:min(82vh,680px)}.admin-preview-toolbar{top:0}.project-media-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.importance-1,.importance-2,.importance-3,.importance-4,.importance-5,.media-block{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
