@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@300;400;500;600&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root{--primary:#0f1419;--secondary:#1a1f26;--background:#1e2328;--surface:#2a2f35;--surface-light:#32373d;--content-bg:hsla(0,0%,100%,.02);--text-primary:#e8eaed;--text-secondary:rgba(232,234,237,.75);--text-tertiary:rgba(232,234,237,.55);--accent:#5b8fa8;--accent-hover:#6b9fb8;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:3rem;--space-xl:5rem;--space-2xl:6.5rem;--space-3xl:8rem;--font-size-xs:0.875rem;--font-size-sm:1rem;--font-size-base:1.0625rem;--font-size-lg:1.125rem;--font-size-xl:1.75rem;--font-size-2xl:2.25rem;--font-size-3xl:2.75rem;--font-size-4xl:3.5rem;--transition-fast:240ms;--transition-base:280ms;--transition-slow:350ms;--easing-smooth:cubic-bezier(0.4,0,0.2,1);--easing-ease-out:ease-out;--easing-luxury:cubic-bezier(0.22,1,0.36,1);--content-max-width:65ch;--content-comfort-width:55ch}html{scroll-behavior:smooth}body{background-color:var(--background);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-size-base);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:300;line-height:1.2}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}h1{font-size:clamp(var(--font-size-3xl),4vw,var(--font-size-4xl));margin-bottom:var(--space-xl);line-height:1.15}h1,h2{font-weight:400}h2{font-size:clamp(var(--font-size-xl),2.5vw,var(--font-size-2xl));margin-bottom:var(--space-lg);line-height:1.25;letter-spacing:-.015em}h3{font-size:var(--font-size-xl);font-weight:400;margin-bottom:var(--space-sm)}p{font-size:var(--font-size-base);line-height:1.7;margin-bottom:var(--space-lg);color:var(--text-secondary);max-width:var(--content-comfort-width)}.text-primary{color:var(--text-primary);opacity:.95}.text-secondary{color:var(--text-secondary);opacity:.8}.text-tertiary{color:var(--text-tertiary);opacity:.6}a{color:inherit;text-decoration:none;transition:opacity var(--transition-base) var(--easing-ease-out),color var(--transition-base) var(--easing-ease-out);position:relative}a:hover{opacity:.9}a:not([class]):not([style*=text-decoration]){text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition-base) var(--easing-ease-out),opacity var(--transition-base) var(--easing-ease-out)}a:not([class]):not([style*=text-decoration]):hover{border-bottom-color:rgba(232,234,237,.3);opacity:.95}.portfolio-list{display:flex;flex-direction:column;gap:clamp(4rem,7vh,5.5rem)}.portfolio-entry{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:opacity var(--transition-base) var(--easing-ease-out);padding:0;border:none;background:none}.portfolio-entry:hover{opacity:.85}.portfolio-entry-content{display:flex;flex-direction:column;gap:.5rem;position:relative}.portfolio-entry-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,2.5vw,1.875rem);font-weight:400;letter-spacing:-.02em;line-height:1.3;color:var(--text-primary);opacity:.95;margin:0;transition:opacity var(--transition-base) var(--easing-ease-out)}.portfolio-entry:hover .portfolio-entry-title{opacity:1}.portfolio-entry-outcome{font-family:Inter,sans-serif;font-size:clamp(1rem,1.5vw,1.125rem);font-weight:300;letter-spacing:.01em;line-height:1.6;color:var(--text-secondary);opacity:.75;margin:0;max-width:65ch}.portfolio-entry-cta{font-family:Inter,sans-serif;font-size:.875rem;font-weight:300;letter-spacing:.02em;color:var(--text-tertiary);opacity:.6;margin-top:.75rem;transition:opacity var(--transition-base) var(--easing-ease-out),color var(--transition-base) var(--easing-ease-out);display:inline-block}.portfolio-entry:hover .portfolio-entry-cta{opacity:.85;color:var(--text-secondary)}.portfolio-back-link:hover{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:768px){.toc-desktop{display:none!important}}@media (min-width:769px){.toc-mobile,.toc-mobile-toggle{display:none!important}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:fadeLift .28s cubic-bezier(.22,1,.36,1) forwards}@keyframes fadeLift{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav-shell{position:fixed;top:0;left:0;right:0;z-index:1000;transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1)}.nav-visible{opacity:1;transform:translateY(0);pointer-events:auto}.nav-hidden{opacity:0;transform:translateY(-12px);pointer-events:none}@media (max-width:768px){.nav-shell.nav-hidden{pointer-events:auto}body{font-size:16px;line-height:1.6}h1{font-size:clamp(2rem,5vw,2.5rem)!important;line-height:1.2!important;margin-bottom:1rem!important}h2{font-size:clamp(1.5rem,4vw,1.875rem)!important;line-height:1.3!important;margin-bottom:.75rem!important}p{font-size:clamp(15px,4vw,17px)!important;line-height:1.6!important;max-width:38ch!important;margin-bottom:1.25rem!important}main:not(.homepage-main){padding-top:calc(56px + 2rem)!important}:root{--navbar-height-mobile:56px}.hero-container,.homepage-main{height:100dvh!important;overflow:hidden!important}.hero-container{min-height:100dvh!important;max-height:100dvh!important;padding:clamp(3rem,10vh,4.5rem) clamp(1.25rem,4vw,1.5rem) clamp(2rem,5vh,3rem)!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;box-sizing:border-box!important}.hero-identity-section{flex:0 0 auto!important;width:100%!important;margin-bottom:clamp(2rem,4vh,3rem)!important}.hero-identity-section h1{font-size:clamp(28px,6vw,40px)!important;line-height:1.2!important;margin-bottom:clamp(.5rem,1.5vh,.75rem)!important;margin-top:0!important;font-weight:500!important}.hero-identity-section p{font-size:clamp(14px,3.5vw,16px)!important;margin:0!important}.hero-messaging-section{flex:0 0 auto!important;width:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:clamp(1rem,2.5vh,1.5rem)!important;margin-bottom:clamp(2rem,4vh,3rem)!important;min-height:0!important}.typing-text-container{height:calc(1.4em * 2)!important;min-height:calc(1.4em * 2)!important;max-height:calc(1.4em * 2)!important;display:flex!important;align-items:flex-start!important;flex-shrink:0!important;overflow:visible!important}.typing-text{font-size:clamp(18px,4.5vw,24px)!important;line-height:1.4!important;margin:0!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.hero-messaging-section p:not(.typing-text){font-size:clamp(14px,3.5vw,16px)!important;line-height:1.6!important;margin:0!important}.hero-cta-section{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:clamp(.75rem,2vh,1rem)!important;width:100%!important}.hero-cta-section a{display:block!important;width:100%!important;box-sizing:border-box!important}}@media (min-width:769px){.hero-container{height:100dvh!important;padding:clamp(2rem,5vh,4rem) clamp(2rem,8vw,6rem)!important;justify-content:center!important;align-items:flex-start!important}.hero-identity-section{margin-bottom:clamp(2rem,4vh,3rem)!important}.hero-identity-section h1{font-size:clamp(40px,5vw,56px)!important;margin-bottom:clamp(.5rem,1vh,.75rem)!important}.hero-identity-section p{font-size:clamp(16px,2vw,18px)!important}.hero-messaging-section{margin-bottom:clamp(2rem,4vh,3rem)!important;gap:clamp(1rem,2vh,1.5rem)!important}.typing-text-container{height:calc(1.3em * 1)!important;min-height:calc(1.3em * 1)!important;max-height:calc(1.3em * 1)!important}.typing-text{font-size:clamp(24px,3vw,32px)!important;line-height:1.3!important}.hero-messaging-section p:not(.typing-text){font-size:clamp(15px,1.75vw,18px)!important;max-width:65ch!important}.hero-cta-section{flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:clamp(1rem,1.5vw,1.5rem)!important}}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}