*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-primary: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--transition-bg: .5s;--transition-text: 1s;--transition-text-delay: .5s;--color-text: #ffffff;--color-text-secondary: rgba(255, 255, 255, .8)}@media (prefers-reduced-motion: reduce){:root{--transition-bg: 0ms;--transition-text: 0ms;--transition-text-delay: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-primary);color:var(--color-text);overflow-x:hidden;background:#000}body.deep-link-loading{opacity:0}body.deep-link-fade-in{animation:fadeInFromBlack .8s ease-out forwards}@keyframes fadeInFromBlack{0%{opacity:0}to{opacity:1}}.skip-link{position:absolute;top:-100px;left:0;background:#000;color:#fff;padding:var(--spacing-sm);text-decoration:none;z-index:10000}.skip-link:focus{top:0}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--spacing-md);opacity:0;transition:opacity var(--transition-bg) ease-in-out}.header.visible{opacity:1}.project-page .header{opacity:1;top:0;transition:opacity var(--transition-bg) ease-in-out,top .3s cubic-bezier(.4,0,.2,1)}.project-page .header.header-hidden{top:-100px}.header-nav{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;width:100%}.nav-left,.nav-right{display:flex;gap:var(--spacing-md);align-items:center;flex:1}.nav-left{justify-content:flex-start}.nav-right{justify-content:flex-end}.nav-link{color:var(--color-text);text-decoration:none;font-size:.95rem;font-weight:500;letter-spacing:.02em;transition:opacity .2s ease;position:relative;background:none;border:none;padding:0}.nav-link:hover,.nav-link:focus{opacity:.7}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-text)}.header-logo{display:flex;justify-content:center;align-items:center;flex:0 0 auto}.header-logo img{height:40px;width:auto;display:block}.about-page .header-logo,.work-page .header-logo,.contact-page .header-logo,.project-page .header-logo{display:none}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:110;position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%)}@media (max-width: 1024px){.mobile-menu-toggle{right:20px;top:15px;transform:none}}.hamburger-line{width:24px;height:2px;background:var(--color-text);transition:all .3s ease;display:block}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-lg);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:105}.mobile-menu.active{display:flex;opacity:1;pointer-events:auto}.mobile-nav-link{color:var(--color-text);text-decoration:none;font-size:1.5rem;font-weight:500;letter-spacing:.02em;transition:opacity .2s ease}.mobile-nav-link:hover,.mobile-nav-link:focus{opacity:.7}.mobile-nav-link.active{font-weight:700}.intro-section{background:#c00;display:flex;justify-content:center;flex-direction:column;min-height:100vh}.intro-content{max-width:1200px;width:100%;margin:0 auto}.intro-description{font-size:clamp(1.2rem,3vw,2.5rem);font-weight:400;line-height:1.4;margin-bottom:var(--spacing-lg);text-align:center;letter-spacing:-.01em;max-width:100%;padding:0 20px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.services-column{list-style:none;padding:0;margin:0}.services-column li{font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:400;line-height:1.3;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.services-column li:before{content:"•";position:absolute;left:0;font-size:1.2em}.awards-section{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;margin-top:0}.award-logo{height:60px;width:auto;object-fit:contain;opacity:.9;transition:opacity .3s ease}.award-logo.clio{filter:brightness(0) invert(1)}.award-logo:hover{opacity:1}.award-logo.clio{height:80px}.award-logo.fwa{height:50px}.background-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;background:#000}.background-layer:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;z-index:2;pointer-events:none}.background-media{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--transition-bg) ease-in-out}.background-media.active{opacity:1}.supporting-text-container{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);max-width:600px;z-index:50;opacity:0;transition:opacity var(--transition-text) ease-in-out var(--transition-text-delay);pointer-events:none;text-align:center}.supporting-text-container.visible{opacity:1}.supporting-text{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;text-shadow:0 2px 8px rgba(0,0,0,.5)}main{position:relative;z-index:10}.card{min-height:100vh;height:100vh;display:flex;align-items:center;padding:var(--spacing-lg);position:relative;scroll-snap-align:start}@media (max-width: 1024px){.card,.logo-intro-screen{min-height:calc(100vh + 50px);height:calc(100vh + 50px)}.intro-section{height:auto;min-height:calc(100vh + 50px);scroll-snap-align:start;padding:180px var(--spacing-md) calc(var(--spacing-xl) + 80px)}}html{scroll-snap-type:y proximity;scroll-behavior:smooth}body.scroll-past-projects .card{scroll-snap-align:none}.logo-intro-screen{justify-content:center;align-items:center;background:#000;position:relative;overflow:hidden}.logo-red-background{position:absolute;top:0;left:0;width:100%;height:100%;background:#b20000;opacity:0;z-index:1}.phase-zero-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;color:#fff;opacity:1;transition:opacity .3s ease-out;width:100%;padding:0 20px}@media (max-width: 1024px){.phase-zero-container{transform:translate(-50%,calc(-50% - 70px))}}.phase-zero-line{font-size:clamp(1.5rem,4vw,3rem);font-weight:300;line-height:1.4;margin:0;opacity:0;transform:translateY(20px);width:100%}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:3;width:48px;height:48px;opacity:0;animation:pulse 2s ease-in-out infinite;transition:opacity .3s ease-out}@media (max-width: 1024px){.scroll-indicator{bottom:150px}}.scroll-indicator svg{width:100%;height:100%;fill:#fff}@keyframes pulse{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.logo-intro-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center center;height:100vh;width:auto;will-change:transform;z-index:2;opacity:0}@media (max-width: 1024px){.logo-intro-image{top:calc(50% - 70px)}}.project-card{justify-content:center;align-items:center}.project-card-content{max-width:100%;width:100%;text-shadow:0 2px 12px rgba(0,0,0,.2);text-align:center;display:flex;flex-direction:column;align-items:center}.project-headline{font-size:clamp(2.5rem,8vw,5rem);font-weight:800;font-style:italic;line-height:1.1;margin-bottom:var(--spacing-sm);letter-spacing:-.02em;text-transform:uppercase}.project-subtitle{font-size:clamp(1rem,2.5vw,1.4rem);font-weight:400;line-height:1.3;margin-bottom:var(--spacing-md);color:var(--color-text-secondary);letter-spacing:.01em}.project-title{font-size:clamp(2.5rem,8vw,5rem);font-weight:800;font-style:italic;line-height:1.1;margin-bottom:var(--spacing-xs);letter-spacing:-.02em;text-transform:uppercase}.project-client{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300;margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.project-client-logo{max-width:240px;max-height:120px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}.project-page{background:#0a0a0a}.project-hero{position:relative;width:100%;height:100vh;display:flex;align-items:flex-end;overflow:hidden}.project-hero-media{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in}.project-hero-media.loaded{opacity:1}.project-hero .hero-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fffc;border-radius:50%;animation:spin .8s linear infinite;z-index:1;pointer-events:none}.project-hero .hero-spinner.hidden{display:none}.project-hero{background:#1a1a1a}.project-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000004d,#000c);z-index:1}.project-hero-content{position:relative;z-index:2;padding:var(--spacing-lg);max-width:1200px;width:100%;margin:0 auto}.project-detail-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;font-style:italic;line-height:1.1;margin-bottom:var(--spacing-sm);text-transform:uppercase}.project-detail-client{font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:300;margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.project-detail-client-logo{max-width:121px;max-height:40px;margin-bottom:var(--spacing-md);filter:brightness(0) invert(1);opacity:.9;object-fit:contain;object-position:left center;display:block}.project-summary{font-size:clamp(1rem,2vw,1.3rem);line-height:1.5;margin-bottom:var(--spacing-md);max-width:700px}.project-services{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.service-tag{padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff26;border-radius:20px;font-size:.9rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-body{max-width:1400px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.media-block{margin-bottom:var(--spacing-xl)}.media-block img,.media-block video{width:100%;height:auto;display:block;border-radius:8px}.image-loader{position:relative;background:#333;border-radius:8px;min-height:400px;display:flex;align-items:center;justify-content:center}.image-loader img{opacity:0;transition:opacity .3s ease-in}.image-loader.loaded img{opacity:1}.image-loader .spinner{position:absolute;width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fffc;border-radius:50%;animation:spin .8s linear infinite}.image-loader.loaded .spinner{display:none}@keyframes spin{to{transform:rotate(360deg)}}.media-scroll-container{width:100%;max-width:1200px;margin:0 auto;aspect-ratio:16 / 9;overflow-y:auto;overflow-x:hidden;border-radius:8px;background:#000;position:relative;cursor:grab}.media-scroll-container:active{cursor:grabbing}.media-scroll-container img{width:100%;height:auto;border-radius:8px 8px 0 0;display:block;pointer-events:none}.media-mobile-container{width:100%;max-width:375px;margin:0 auto;aspect-ratio:9 / 16;overflow-y:auto;overflow-x:hidden;border-radius:8px;background:#000;position:relative;cursor:grab}.media-mobile-container:active{cursor:grabbing}.media-mobile-container img{width:100%;height:auto;border-radius:8px 8px 0 0;display:block;pointer-events:none}.media-carousel{width:100%;max-width:1200px;margin:0 auto;aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;background:#000;position:relative}.media-carousel-track{position:relative;width:100%;height:100%}.media-carousel-track:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#fffc;border-radius:50%;animation:spin .8s linear infinite;z-index:0}.media-carousel-track.loaded:before{display:none}.media-carousel img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out;border-radius:8px}.media-carousel img.loaded{opacity:0}.media-carousel img.active.loaded{opacity:1;z-index:1}.carousel-indicators{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.carousel-indicator{width:8px;height:8px;border-radius:50%;background:#fff6;cursor:pointer;transition:background .3s ease}.carousel-indicator.active{background:#ffffffe6}.media-caption{margin-top:var(--spacing-sm);font-size:.95rem;color:var(--color-text-secondary);text-align:center;font-style:normal;font-weight:400}.project-navigation{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg)}.nav-link{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);text-decoration:none;border-radius:4px;transition:background .2s ease}.nav-link:hover,.nav-link:focus{outline-offset:2px}.project-nav-row{display:flex;gap:var(--spacing-md);justify-content:center;width:100%;max-width:1200px}.project-nav-row .project-nav-card{max-width:588px}.project-nav-card{position:relative;flex:1;min-height:300px;border-radius:8px;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 20px #0000004d}.project-nav-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000080}.project-nav-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.project-nav-text{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md);background:linear-gradient(to top,rgba(0,0,0,.9),transparent);color:var(--color-text)}.project-nav-text h3{margin:0;font-size:1.5rem;font-weight:800;font-style:italic;text-transform:uppercase}.project-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#fffc;transition:color .3s ease;z-index:1;pointer-events:none}.project-nav-arrow.prev{left:5px}.project-nav-arrow.next{right:5px}.project-nav-card:hover .project-nav-arrow{color:#fff}@media (max-width: 1024px){.header-nav{display:none}.mobile-menu-toggle{display:flex}.header-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex}.about-page .header-logo,.work-page .header-logo,.contact-page .header-logo,.project-page .header-logo{display:flex}}@media (max-width: 768px){.header{padding:var(--spacing-sm)}.header-logo img{height:32px}.intro-section{padding:var(--spacing-lg) var(--spacing-md) calc(var(--spacing-xl) + 100px);height:auto}.intro-description{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.services-grid{grid-template-columns:1fr;gap:0;margin-bottom:var(--spacing-lg)}.services-column li{font-size:.95rem}.awards-section{gap:var(--spacing-sm);justify-content:center}.award-logo.clio{height:60px}.award-logo.fwa{height:40px;flex-basis:100%;margin-top:var(--spacing-sm)}.card{padding:var(--spacing-md)}.project-client-logo{max-width:160px;max-height:80px}.supporting-text-container{bottom:var(--spacing-md);left:50%;transform:translate(-50%);width:calc(100% - var(--spacing-md) * 2);max-width:none;background:none;padding:var(--spacing-sm);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}.project-hero-content,.project-body{padding:var(--spacing-md)}.project-detail-title{font-size:clamp(2rem,5vw,2.5rem)}.project-services{gap:var(--spacing-xs)}.service-tag{font-size:.8rem;padding:.4rem .8rem}.project-nav-row{flex-direction:column}.project-nav-card{min-height:250px}.project-nav-text h3{font-size:1.2rem}.media-block{margin-bottom:var(--spacing-md)}.media-block img,.media-block video{border-radius:4px;vertical-align:top}.image-loader{min-height:200px}}.footer{position:relative;z-index:10;padding:var(--spacing-lg);text-align:center;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transition:opacity .5s ease-in-out}.about-page .footer,.contact-page .footer,.work-page .footer,.project-page .footer{opacity:0;pointer-events:none}.about-page.page-loaded .footer,.contact-page.page-loaded .footer,.work-page.page-loaded .footer,.project-page.page-loaded .footer{opacity:1;pointer-events:auto}body:not(.about-page):not(.work-page):not(.contact-page):not(.project-page):not(.footer-visible) .footer{opacity:0;pointer-events:none}.footer-links{display:flex;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.footer-link{color:var(--color-text);text-decoration:none;font-size:.95rem;transition:opacity .2s ease}.footer-link:hover{opacity:.7}.footer-text{font-size:.8rem;opacity:.5;margin:0}.footer-text{color:var(--color-text-secondary);font-size:.9rem;margin:0}:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:4px}a:focus-visible{outline-color:#ffffffe6}.contact-page{background:#0a0a0a;min-height:100vh}.contact-main{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing-xl) + 80px) var(--spacing-md) var(--spacing-xl)}.contact-container{max-width:600px;width:100%;margin:0 auto}.contact-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;font-style:italic;line-height:1.1;margin-bottom:var(--spacing-sm);text-transform:uppercase;text-align:center}.contact-description{font-size:clamp(1rem,2vw,1.3rem);line-height:1.5;margin-bottom:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{font-size:.95rem;font-weight:500;color:var(--color-text);letter-spacing:.01em}.form-input,.form-textarea{padding:var(--spacing-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--color-text);font-family:var(--font-primary);font-size:1rem;transition:border-color .2s ease,background .2s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#ffffff4d;background:#ffffff14}.form-textarea{resize:vertical;min-height:120px}.form-submit{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-text);color:#000;border:none;border-radius:4px;font-family:var(--font-primary);font-size:1rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:opacity .2s ease,transform .2s ease;margin-top:var(--spacing-sm)}.form-submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-status{margin-top:var(--spacing-sm);padding:var(--spacing-sm);border-radius:4px;font-size:.95rem;text-align:center;display:none}.form-status.success{display:block;background:#4caf5033;border:1px solid rgba(76,175,80,.4);color:#4caf50}.form-status.error{display:block;background:#f4433633;border:1px solid rgba(244,67,54,.4);color:#f44336}.about-page{background:#c00;min-height:100vh}.about-page .intro-section{min-height:100vh;padding-top:120px}.page-logo-container{position:fixed;top:var(--spacing-md);left:50%;transform:translate(-50%);z-index:99;opacity:0;transition:opacity var(--transition-bg) ease-in-out}.page-logo-container.visible{opacity:1}@media (min-width: 1025px){body:not(.about-page):not(.work-page):not(.contact-page):not(.project-page) .page-logo-container{display:none}}.page-logo-container img{height:40px;width:auto;display:block}@media (max-width: 768px){.page-logo-container{top:var(--spacing-sm)}.page-logo-container img{height:32px}}.work-page{background:#000}
