@font-face{font-family:DeFonte;src:url(/assets/fonts/DeFonte%20reduced%20Leger.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:DeFonte;src:url(/assets/fonts/DeFonte%20reduced%20Normale.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DeFonte;src:url(/assets/fonts/DeFonte%20reduced%20DemiGras.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:DeFonte;src:url(/assets/fonts/DeFonte%20reduced%20Gros.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-bg-primary: #06111f;--color-bg-secondary: #0a1628;--color-bg-elevated: #0f1e36;--color-text-primary: #e8f0f8;--color-text-secondary: #a8bcd4;--color-text-muted: #6b8099;--color-accent-primary: #4dd0e1;--color-accent-hover: #26c6da;--color-border: #1e3456;--color-shadow: rgba(0, 0, 0, .3);--color-studio-bg: #e8f0f8;--color-studio-text: #06111f;--color-studio-text-secondary: #0a1628;--color-studio-border: #a8bcd4;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-display: "DeFonte", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--font-size-6xl: 4.5rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-leger: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--container-max-width: 900px;--sidebar-width: 280px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);margin-bottom:var(--space-md);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-normal)}h2{font-size:var(--font-size-3xl);margin-top:var(--space-2xl)}h3{font-size:var(--font-size-2xl);margin-top:var(--space-xl)}h4{font-size:var(--font-size-xl)}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}p.lead{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-xl)}a{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}a:focus{outline:2px solid var(--color-accent-primary);outline-offset:2px}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-xl);color:var(--color-text-secondary)}li{margin-bottom:var(--space-sm)}strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}em{font-style:italic}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-accent-primary);color:var(--color-bg-primary);padding:var(--space-sm) var(--space-md);z-index:100;font-weight:var(--font-weight-normal)}.skip-link:focus{top:0}.layout{display:flex;min-height:100vh}.content-area{flex:1;padding:var(--space-2xl);padding-right:calc(var(--sidebar-width) + var(--space-2xl));overflow-y:auto}.container{max-width:var(--container-max-width);margin:0 auto;width:100%}.sidebar{position:fixed;right:0;top:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-bg-secondary);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--space-2xl) var(--space-xl);box-shadow:-4px 0 24px var(--color-shadow);z-index:10}.nav-toggle{display:none;background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;padding:var(--space-sm);position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:100;border-radius:var(--border-radius-sm)}.hamburger{display:block;width:24px;height:2px;background:var(--color-text-primary);position:relative;transition:background var(--transition-base)}.hamburger:before,.hamburger:after{content:"";position:absolute;width:24px;height:2px;background:var(--color-text-primary);transition:transform var(--transition-base)}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}.nav-toggle[aria-expanded=true] .hamburger{background:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{transform:rotate(45deg) translate(5px,5px)}.nav-toggle[aria-expanded=true] .hamburger:after{transform:rotate(-45deg) translate(6px,-6px)}.nav-list{list-style:none;padding:0;margin:0;width:100%}.nav-list li{margin-bottom:var(--space-lg)}.nav-list a{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-leger);color:var(--color-text-secondary);text-decoration:none;display:block;padding:var(--space-sm) 0;transition:all var(--transition-base);position:relative}.nav-list a:hover{color:var(--color-accent-primary);padding-left:var(--space-sm)}.nav-list a[aria-current=page]{color:var(--color-accent-primary);font-weight:var(--font-weight-leger)}.nav-list a[aria-current=page]:before{content:"";position:absolute;left:calc(-1 * var(--space-md));top:50%;transform:translateY(-50%);width:4px;height:20px;background:var(--color-accent-primary);border-radius:2px}.page-header{margin-bottom:var(--space-3xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.page-header h1{margin-bottom:var(--space-sm)}.page-intro{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.hero{padding:var(--space-3xl) 0 var(--space-4xl)}.hero-title{font-family:var(--font-family-display);font-size:var(--font-size-6xl);font-weight:var(--font-weight-normal);margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--color-text-primary),var(--color-accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.hero-subtitle{font-family:var(--font-family-display);font-size:var(--font-size-xl);color:var(--color-text-secondary);font-weight:var(--font-weight-leger);margin-bottom:0;line-height:var(--line-height-relaxed)}.intro,.featured{margin-bottom:var(--space-4xl)}.content-section{margin-bottom:var(--space-3xl)}.content-section:last-child{margin-bottom:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-lg);transition:all var(--transition-base);display:flex;flex-direction:column;min-height:200px}.card:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow)}.card h3{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);margin-top:0;margin-bottom:var(--space-sm);color:var(--color-text-primary)}.card p{margin-bottom:var(--space-md);font-size:var(--font-size-sm);flex-grow:1}.card-link{color:var(--color-accent-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:auto}.link-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.link-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-lg);transition:all var(--transition-base);text-align:center}.link-card:hover{border-color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow)}.link-card h3{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}.link-card a{font-size:var(--font-size-base)}.projects-list{display:flex;flex-direction:column;gap:var(--space-2xl)}.project-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-xl);transition:all var(--transition-base)}.project-card:hover{border-color:var(--color-accent-primary);transform:translateY(-2px)}.project-meta{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.project-year,.project-category{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.project-card h2{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);margin-top:0;margin-bottom:var(--space-md)}.project-card h2 a{color:var(--color-text-primary);font-size:var(--font-size-2xl);transition:color var(--transition-fast)}.project-card h2 a:hover{color:var(--color-accent-primary)}.filter-buttons{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);flex-wrap:wrap}.filter-btn{padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.filter-btn.active{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-bg-primary)}.project-tags,.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.tag{display:inline-block;background:var(--color-bg-elevated);color:var(--color-accent-primary);padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border)}.breadcrumb{margin-bottom:var(--space-xl)}.breadcrumb a{color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--color-accent-primary)}.research-item{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.research-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.research-item h3{font-family:var(--font-family-display);font-weight:var(--font-weight-normal);margin-top:0;margin-bottom:var(--space-sm)}.research-status{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-md)}body.studio-page{background-color:var(--color-studio-bg);color:var(--color-studio-text)}body.studio-page .content-area{background-color:var(--color-studio-bg)}body.studio-page h1,body.studio-page h2,body.studio-page h3,body.studio-page h4,body.studio-page h5,body.studio-page h6{color:var(--color-studio-text)}body.studio-page p{color:var(--color-studio-text-secondary)}body.studio-page .card,body.studio-page .project-card,body.studio-page .tag{background:#fff;border-color:var(--color-studio-border)}.studio-item{margin-bottom:var(--space-3xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-studio-border)}.studio-item:last-child{border-bottom:none}.studio-item h3{font-family:var(--font-family-display);font-weight:var(--font-weight-normal);margin-top:0;margin-bottom:var(--space-md)}.studio-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);margin:var(--space-xl) 0}.studio-gallery img{width:100%;height:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-studio-border)}.studio-gallery.triptych{grid-template-columns:repeat(3,1fr)}.studio-caption{font-size:var(--font-size-sm);color:var(--color-studio-text-secondary);margin-top:var(--space-sm);font-style:italic}.link-list{list-style:none;padding:0}.link-list li{margin-bottom:var(--space-md)}.external-link:after{content:" ↗";font-size:var(--font-size-sm);opacity:.7}.project-nav{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.btn-secondary{display:inline-block;padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.note{padding:var(--space-md);background:var(--color-bg-elevated);border-left:3px solid var(--color-accent-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:1024px){.sidebar{width:240px}.content-area{padding-right:calc(240px + var(--space-xl))}.hero-title{font-size:var(--font-size-5xl)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}}@media(max-width:768px){.layout{flex-direction:column}.sidebar{position:fixed;inset:0;width:100%;height:100vh;padding:var(--space-2xl) var(--space-lg);box-shadow:none;transform:translate(100%);transition:transform var(--transition-base);z-index:50}.sidebar[aria-hidden=false]{transform:translate(0)}.nav-toggle{display:block}.nav-list a[aria-current=page]:before{display:none}.content-area{padding:var(--space-2xl) var(--space-md);padding-top:80px;padding-right:var(--space-md)}.hero{padding:var(--space-2xl) 0}.hero-title{font-size:var(--font-size-4xl)}.hero-subtitle{font-size:var(--font-size-lg)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl);margin-top:var(--space-xl)}h3{font-size:var(--font-size-lg)}.card-grid{grid-template-columns:1fr}.page-header,.intro,.featured,.content-section{margin-bottom:var(--space-2xl)}.studio-gallery,.studio-gallery.triptych{grid-template-columns:1fr}}@media(max-width:480px){:root{--font-size-base: .9375rem}.content-area{padding:var(--space-xl) var(--space-sm);padding-top:70px}.card,.project-card{padding:var(--space-md)}.hero-title{font-size:var(--font-size-3xl)}}@media print{.sidebar,.nav-toggle,.skip-link{display:none}.content-area{padding:0}body{background:#fff;color:#000}a{color:#000;text-decoration:underline}}.masonry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:250px;gap:var(--space-lg);margin-top:var(--space-xl)}.masonry-item{position:relative;overflow:hidden;border-radius:var(--border-radius-md);border:1px solid var(--color-studio-border);transition:all var(--transition-base)}.masonry-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000026}.masonry-item.masonry-tall{grid-row:span 2}.masonry-item.masonry-wide{grid-column:span 2}.masonry-item img{width:100%;height:100%;object-fit:cover}.masonry-item a{display:block;height:100%;position:relative;font-size:var(--font-size-base);font-weight:var(--font-weight-normal)}.masonry-content{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(6,17,31,.95),transparent);padding:var(--space-lg);color:var(--color-text-primary)}.masonry-content h3{font-size:var(--font-size-xl);margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.masonry-content p{font-size:var(--font-size-sm);margin:0;color:var(--color-text-secondary)}.crush-masonry{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-auto-rows:200px;gap:var(--space-lg);margin-top:var(--space-xl)}.crush-item{border-radius:var(--border-radius-md);overflow:hidden}.crush-item.crush-text{background:#fff;padding:var(--space-xl);border:1px solid var(--color-studio-border);display:flex;flex-direction:column;justify-content:center;grid-row:span 2}.crush-item.crush-text h2{font-size:var(--font-size-xl);margin:0 0 var(--space-md) 0;color:var(--color-studio-text)}.crush-item.crush-text p{color:var(--color-studio-text-secondary);margin-bottom:var(--space-sm)}.crush-item.crush-text p:last-child{margin-bottom:0}.crush-item.crush-image{border:1px solid var(--color-studio-border);grid-row:span 2}.crush-item.crush-image-tall{border:1px solid var(--color-studio-border);grid-row:span 4}.crush-item img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:768px){.masonry-grid,.crush-masonry{grid-template-columns:1fr;grid-auto-rows:auto}.masonry-item,.crush-item{grid-row:auto!important;grid-column:auto!important;min-height:250px}.crush-item.crush-image,.crush-item.crush-image-tall{min-height:300px}.crush-item.crush-text{min-height:auto}}@keyframes gradientSweep{0%{background-position:200% center}to{background-position:-200% center}}.hero-title{background:linear-gradient(90deg,var(--color-text-primary) 0%,var(--color-text-primary) 30%,var(--color-accent-primary) 50%,var(--color-text-primary) 70%,var(--color-text-primary) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientSweep 5s ease-in-out .5s;animation-fill-mode:forwards}.hero-title:hover{animation:gradientSweep 2.5s ease-in-out}@keyframes borderSweep{0%{background-position:200% 0}to{background-position:-200% 0}}.card{position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0;border-radius:var(--border-radius-md);padding:2px;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-accent-primary) 30%,var(--color-accent-hover) 50%,var(--color-accent-primary) 70%,var(--color-border) 100%);background-size:200% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.card:hover:before{opacity:1;animation:borderSweep .5s ease-in-out}.card:after{content:"";position:absolute;inset:0;border-radius:var(--border-radius-md);background:radial-gradient(circle at center,rgba(77,208,225,.08) 0%,rgba(77,208,225,.04) 50%,transparent 100%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card:hover:after{opacity:1}.card >{position:relative;z-index:1}
