@property --nav-bg-opacity{syntax: '<number>';
    inherits: true;
    initial-value: 0;
}@property --nav-logo-opacity{syntax: '<number>';
    inherits: true;
    initial-value: 0;
}@property --scroll-indicator-opacity{syntax: '<number>';
    inherits: true;
    initial-value: 1;
}@font-face{font-family:cormorant garamond;src:url(../fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.woff2)format('woff2');font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:cormorant garamond;src:url(../fonts/Cormorant_Garamond/CormorantGaramond-Italic-VariableFont_wght.woff2)format('woff2');font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:im fell english;src:url(../fonts/IM_Fell_English/IMFellEnglish-Regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:im fell english;src:url(../fonts/IM_Fell_English/IMFellEnglish-Italic.woff2)format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:departure mono;src:url(../fonts/DepartureMono-1.500/DepartureMono-Regular.woff2)format('woff2'),url(../fonts/DepartureMono-1.500/DepartureMono-Regular.woff)format('woff');font-weight:400;font-style:normal;font-display:swap}:root{--font-heading:'Cormorant Garamond', Georgia, 'Times New Roman', serif;--font-body:'IM Fell English', Georgia, 'Times New Roman', serif;--font-size-base:clamp(1rem, 1.5vw, 1.125rem);--font-size-sm:clamp(0.875rem, 1.25vw, 1rem);--font-size-lg:clamp(1.125rem, 2vw, 1.375rem);--font-size-xl:clamp(1.5rem, 3vw, 2rem);--font-size-2xl:clamp(2rem, 4vw, 3rem);--font-size-hero:clamp(2.5rem, 6vw, 4.5rem);--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--max-width:1200px;--max-width-narrow:800px;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:300ms cubic-bezier(0.4, 0, 0.2, 1)}:root{--color-bg:#0A0A0A;--color-text:#F5F5F0;--color-text-muted:#888888;--color-accent:#00FF00;--color-accent-muted:#00CC66;--color-border:#333333;--color-surface:rgba(0, 255, 0, 0.03);--nav-gradient:rgba(10, 10, 10, 0.95)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;background-color:#0a0a0a;color-scheme:dark;overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:400;line-height:1.45;color:var(--color-text);background-color:initial;position:relative;visibility:hidden;font-kerning:normal;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;overflow-x:hidden;width:100%}body.loaded{visibility:visible}body::before{content:'';position:absolute;top:0;left:0;width:100%;min-height:100%;z-index:-2;background-image:url(../images/tower_of_babel.jpg);background-size:max(100vw,calc(100svh * 2240/1650));background-position:50% -10%;background-repeat:no-repeat;pointer-events:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent}a:hover{color:var(--color-accent)}h1,h2,h3,h4,h5,h6{font-family:departure mono,monospace;font-weight:400;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;font-kerning:normal;font-feature-settings:"kern" 1}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h1,h2,h3,h4,h5,h6,.nav,.hero-logo-container,.hero-title,.project,.contact-text,.contact-cta{user-select:none;-webkit-user-select:none}p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:8 3 3;max-width:66ch;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}.section{padding:clamp(4rem,10vw,8rem)0}.section-title{margin-bottom:var(--space-md);color:var(--color-accent);font-weight:400;font-size:1.5rem;letter-spacing:.1em;text-align:center}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:clamp(.5rem,2vw,1rem)clamp(1rem,3vw,2rem);background:rgba(10,10,10,var(--nav-bg-opacity));pointer-events:none}.nav::after{content:'';position:absolute;left:0;right:0;top:100%;height:3rem;background:linear-gradient(to bottom,rgba(10,10,10,var(--nav-bg-opacity)),transparent);pointer-events:none}.nav>*{pointer-events:auto}.nav-logo{display:flex;align-items:center;gap:var(--space-xs);opacity:var(--nav-logo-opacity);transform:translateY(calc(-20px * (1 - var(--nav-logo-opacity))));pointer-events:none;font-size:var(--font-size-lg);will-change:opacity,transform}.nav-logo.visible{pointer-events:auto}@supports(animation-timeline:scroll()){@keyframes nav-bg-fade{from{--nav-bg-opacity:0}to{--nav-bg-opacity:1}}@keyframes nav-logo-fade{from{--nav-logo-opacity:0}to{--nav-logo-opacity:1}}.nav{animation:nav-bg-fade linear forwards;animation-timeline:scroll(root);animation-range:0 200px}.nav-logo{animation:nav-logo-fade linear forwards;animation-timeline:scroll(root);animation-range:100px 250px}@media(max-width:480px){.nav{animation-range:0 30px}}}.nav-logo-img{height:.72em;width:auto}.nav-logo-green{display:none}.nav-logo-white{display:block}.nav-logo.visible:hover .nav-logo-white{display:none}.nav-logo.visible:hover .nav-logo-green{display:block}.nav-logo-text{font-family:departure mono,monospace;font-weight:400;font-size:1em;letter-spacing:-.005em;font-kerning:normal;font-feature-settings:"kern" 1}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{font-family:departure mono,monospace;font-size:1rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;transition:color var(--transition-fast)}.nav-links a.active{color:var(--color-accent)}@media(max-width:480px){.nav{top:auto;bottom:0;justify-content:center;padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom,0px))}.nav::after{top:auto;bottom:100%;background:linear-gradient(to top,rgba(10,10,10,var(--nav-bg-opacity)),transparent)}.nav-logo{display:none}.nav-links{gap:1.5rem}.nav-links a{font-size:.875rem}}.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:clamp(4rem,10vw,8rem)clamp(1rem,3vw,2rem);position:relative}.hero-content{max-width:var(--max-width-narrow)}.hero-logo-container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.2em;margin-bottom:var(--space-md);font-size:clamp(2rem,8vw,5.5rem);white-space:nowrap}.hero-logo{height:.72em;width:auto}.hero-logo-text{font-family:departure mono,monospace;font-size:inherit;font-weight:400;letter-spacing:-.005em;white-space:nowrap;line-height:1;font-kerning:normal;font-feature-settings:"kern" 1}.hero-title{font-family:var(--font-heading);font-size:clamp(1.1rem,3.5vw,2.5rem);margin-bottom:var(--space-sm);font-weight:400;text-transform:none;letter-spacing:-.01em;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;color:var(--color-text-muted)}.hero-subtitle{font-family:var(--font-body);font-size:var(--font-size-lg);color:var(--color-text-muted);font-style:italic;text-align:center;max-width:none}@media(max-width:480px){.hero{justify-content:flex-start;padding-top:20svh;padding-bottom:calc(8rem + env(safe-area-inset-bottom,0px))}}.scroll-indicator{position:absolute;bottom:var(--space-md);left:50%;transform:translateX(-50%);opacity:var(--scroll-indicator-opacity);will-change:opacity}.scroll-indicator span{display:block;width:1px;height:3.75rem;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scroll-pulse 2.8s cubic-bezier(.37,0,.63,1)infinite;will-change:opacity,transform;transform-origin:top center;transform:translateZ(0);backface-visibility:hidden}@media(max-width:480px){.scroll-indicator{bottom:calc(7rem + env(safe-area-inset-bottom,0px))}}@keyframes scroll-pulse{0%,100%{opacity:.25;transform:scaleY(.5)translateZ(0)}50%{opacity:1;transform:scaleY(1)translateZ(0)}}@supports(animation-timeline:scroll()){@keyframes indicator-fade{from{--scroll-indicator-opacity:1}to{--scroll-indicator-opacity:0}}.scroll-indicator{animation:indicator-fade linear forwards;animation-timeline:scroll(root);animation-range:50px 250px}}.approach-content{display:flex;flex-direction:column;align-items:center}.approach-content p{margin-bottom:var(--space-md)}.approach-content p:last-child{margin-bottom:0}@media(max-width:480px){.approach{margin-top:2rem}.approach-content p{max-width:none;width:100%}.approach .container{padding-left:calc((100vw - 19.25rem)/2);padding-right:calc((100vw - 19.25rem)/2)}}.projects{display:grid;gap:var(--space-sm);max-width:66ch;margin:0 auto}.project{padding:var(--space-md);border:1px solid rgba(51,51,51,.4);cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base);-webkit-tap-highlight-color:transparent}.project:hover{border-color:var(--color-accent-muted)}.project.active{background-color:var(--color-surface);border-color:var(--color-accent-muted)}.project-name{font-family:im fell english,Georgia,times new roman,serif;font-size:var(--font-size-xl);font-weight:400;margin-bottom:var(--space-xs);transition:color var(--transition-fast);text-align:center;text-transform:none;letter-spacing:normal}.project:hover .project-name{color:var(--color-accent)}.project-brief{color:var(--color-text-muted);font-size:var(--font-size-base);text-align:center;max-width:none}.project-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-base),margin-top var(--transition-base),opacity var(--transition-base);opacity:0}.project-details-inner{overflow:hidden;display:flex;justify-content:center}.project.active .project-details{grid-template-rows:1fr;margin-top:var(--space-md);opacity:1}.project-details p{color:var(--color-text);font-size:var(--font-size-base)}@media(max-width:480px){.work .container{padding-left:calc((100vw - 19.25rem)/2);padding-right:calc((100vw - 19.25rem)/2)}.projects{max-width:none}}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:var(--space-lg);max-width:900px;margin:0 auto}.team-member{padding:0;display:flex;flex-direction:column;align-items:center}.member-headshot{width:180px;height:180px;border-radius:50%;object-fit:cover;object-position:center 20%;margin-bottom:var(--space-sm);border:2px solid var(--color-border);transition:border-color var(--transition-base)}.member-name{font-family:im fell english,Georgia,times new roman,serif;font-size:var(--font-size-xl);font-weight:400;margin-bottom:var(--space-sm);text-align:center;text-transform:none;letter-spacing:normal}.member-bio{color:var(--color-text-muted);margin-bottom:var(--space-sm);font-size:var(--font-size-base);width:325px}.member-links{display:flex;gap:1.5rem;align-items:center}.member-email,.member-linkedin{font-family:departure mono,monospace;font-size:var(--font-size-sm);color:var(--color-accent);letter-spacing:.05em}.member-email:hover,.member-linkedin:hover{text-decoration:underline}@media(max-width:480px){.team .container{padding-left:calc((100vw - 19.25rem)/2);padding-right:calc((100vw - 19.25rem)/2)}.team-grid{max-width:none}.member-bio{width:19.25rem}}.copy-btn{background:0 0;border:none;padding:0;cursor:pointer;opacity:.7;transform:scale(1);transition:opacity var(--transition-fast),transform var(--transition-fast);display:flex;align-items:center;position:relative;-webkit-tap-highlight-color:transparent}.copy-btn:hover{opacity:1;transform:scale(1.1)}.copy-btn img{width:14px;height:14px}.member-links .copy-btn{margin-right:-1rem}.copy-toast{position:fixed;background:var(--color-bg);color:var(--color-accent);font-family:departure mono,monospace;font-size:.75rem;padding:.25rem .5rem;border:1px solid var(--color-accent);pointer-events:none;z-index:1000;opacity:0;transform:translateY(5px);animation:toast-fade 1s ease forwards}@keyframes toast-fade{0%{opacity:0;transform:translateY(5px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-5px)}}.contact{text-align:center;padding-bottom:clamp(8rem,20vw,16rem)}.contact-text{font-size:var(--font-size-lg);color:var(--color-text-muted);margin-top:32px;margin-bottom:var(--space-md);text-align:center;max-width:66ch;margin-left:auto;margin-right:auto}.contact-cta{display:inline-block;padding:var(--space-sm)var(--space-md);border:1px solid var(--color-accent);color:var(--color-accent);font-family:departure mono;font-size:var(--font-size-base);font-weight:500;letter-spacing:.05em;text-transform:uppercase;background-color:initial;transition:background-color var(--transition-base),color var(--transition-base);-webkit-tap-highlight-color:transparent}.contact-cta:hover{background-color:var(--color-accent);color:var(--color-bg)}.contact-email{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:var(--space-sm)}.contact-email a{font-family:departure mono,monospace;font-size:var(--font-size-sm);color:var(--color-accent);letter-spacing:.05em}.contact-email a:hover{text-decoration:underline}.footer{padding:var(--space-lg)0;border-top:1px solid var(--color-border)}.footer .container{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.footer-logo{width:1.875rem;opacity:.6}.footer-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:480px){.footer{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}}