*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg-deep: #0a0a0a;--color-bg: #111111;--color-bg-elevated: #1a1a1a;--color-fg: #ffffff;--color-fg-muted: #888888;--color-fg-subtle: #555555;--color-accent: #cc2200;--color-accent-hover: #ff4a1a;--color-accent-alt: #1f8eff;--color-muted: var(--color-fg-muted);--font-display: 'Big Shoulders Stencil Display', 'Impact', sans-serif;--font-primary: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-weight-bold: 800;--font-weight-normal: 400;--text-hero: 6rem;--text-display: 4rem;--text-lg: 1.5rem;--text-base: 1rem;--text-sm: 0.875rem;--space-xs: 0.5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 8rem}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary);font-weight:var(--font-weight-normal);background-color:var(--color-bg);color:var(--color-fg);line-height:1.6;font-size:var(--text-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:1.1;margin-bottom:var(--space-sm)}h1{font-size:var(--text-hero);letter-spacing:-0.02em;text-transform:uppercase}h2{font-size:var(--text-display);letter-spacing:-0.01em}h3{font-size:var(--text-lg)}.site-header{--header-height: 80px;--header-bg: transparent;--header-text: #000000;--header-border: #000000;position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height);padding:0 var(--space-md);background-color:var(--header-bg);border-top:3px solid var(--header-border);display:flex;align-items:center;transition:height 0.3s ease, background-color 0.3s ease, border-color 0.3s ease}.site-header .header-inner{display:flex;justify-content:flex-start;align-items:center;max-width:none;margin:0;gap:0;width:100%}.site-header .site-logo{font-family:var(--font-primary);font-weight:700;text-decoration:none;color:var(--header-text);letter-spacing:-0.01em;font-size:var(--text-sm);margin-right:auto;transition:color 0.3s ease}.site-header .nav-list{display:flex;list-style:none;gap:0;width:100%;justify-content:space-between;flex:1;margin-left:var(--space-xl)}.site-header .nav-link{text-decoration:none;color:var(--header-text);font-size:var(--text-sm);font-weight:500;transition:opacity 0.2s ease, color 0.3s ease}.site-header .nav-link:hover{opacity:0.6}.site-header[data-scroll-state="scrolled"]{--header-height: 60px;--header-bg: rgba(10, 10, 10, 0.98);--header-text: #ffffff;--header-border: rgba(10, 10, 10, 0.98)}.site-main{margin-top:0}.site-footer{padding:var(--space-lg) var(--space-md);text-align:center}.site-footer .footer-inner{max-width:1200px;margin:0 auto}.site-footer .copyright{color:var(--color-fg-muted);font-size:var(--text-sm)}section{padding:var(--space-xl) var(--space-md);min-height:100vh;display:flex;flex-direction:column;justify-content:center;background-color:var(--color-bg)}section h2{margin-bottom:var(--space-md)}.hero{position:relative;overflow:hidden;background-color:var(--color-bg-deep);min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding-bottom:var(--space-lg);padding-right:var(--space-md)}.hero--fullscreen{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh}.space-bg{position:absolute;inset:0;z-index:1}.stars{position:absolute;top:0;left:0;bottom:0;width:300%;background-repeat:repeat;background-size:33.33% auto;will-change:transform;image-rendering:pixelated;image-rendering:crisp-edges}.stars-1{background-image:url("/assets/img/stars-far.png");animation:drift 200s linear infinite;opacity:0.5}.stars-2{background-image:url("/assets/img/stars-mid.png");animation:drift 120s linear infinite;opacity:0.7}.stars-3{background-image:url("/assets/img/stars-near.png");animation:drift 60s linear infinite;opacity:1}@keyframes drift{from{transform:translate3d(0, 0, 0)}to{transform:translate3d(-33.33%, 0, 0)}}.hotspots{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;text-decoration:none;display:block;-webkit-tap-highlight-color:transparent}.hotspot::before{content:'';position:absolute;width:4px;height:4px;background:#fff;top:50%;left:50%;transform:translate(-50%, -50%);box-shadow:0 0 6px 2px rgba(255,255,255,0.5);image-rendering:pixelated}.hotspot::after{content:'';position:absolute;width:4px;height:4px;background:transparent;top:50%;left:50%;transform:translate(-50%, -50%);box-shadow:0 0 8px 4px rgba(255,255,255,0.6);animation:twinkle 2s ease-in-out infinite}.hotspot:nth-child(1)::after{animation-delay:0s}.hotspot:nth-child(2)::after{animation-delay:-0.5s}.hotspot:nth-child(3)::after{animation-delay:-1.0s}.hotspot:nth-child(4)::after{animation-delay:-1.5s}@keyframes twinkle{0%, 100%{opacity:0.4;transform:translate(-50%, -50%) scale(0.8)}50%{opacity:1;transform:translate(-50%, -50%) scale(1.2)}}@keyframes pulse{0%{transform:translate(-50%, -50%) scale(1);opacity:1}100%{transform:translate(-50%, -50%) scale(2);opacity:0}}.tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.9);color:var(--color-fg);padding:8px 12px;border-radius:4px;font-size:var(--text-sm);font-family:var(--font-primary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease;margin-bottom:8px}.hotspot:hover .tooltip,.hotspot:focus .tooltip,.hotspot--active .tooltip{opacity:1}.hero-content{position:relative;z-index:10;text-align:right}.hero-content h1{font-family:var(--font-display);font-size:clamp(4rem, 15vw, 12rem);font-weight:900;line-height:0.85;color:var(--color-fg);text-transform:uppercase;letter-spacing:-0.02em;margin-bottom:var(--space-sm);text-shadow:2px 2px 8px rgba(0,0,0,0.8)}.hero-content .tagline{font-size:var(--text-base);color:var(--color-fg);font-weight:var(--font-weight-normal);opacity:0.8;text-shadow:1px 1px 4px rgba(0,0,0,0.8)}:root{--angle-cut-size: 40px;--angle-skew: -5deg}.angle-cut-top{clip-path:polygon(0 var(--angle-cut-size), 100% 0, 100% 100%, 0 100%)}.angle-cut-top-right{clip-path:polygon(0 0, 100% var(--angle-cut-size), 100% 100%, 0 100%)}.angle-cut-bottom{clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--angle-cut-size)), 0 100%)}.angle-cut-bottom-right{clip-path:polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--angle-cut-size)))}.parallelogram{transform:skewX(var(--angle-skew))}.parallelogram>*{transform:skewX(calc(var(--angle-skew) * -1))}.parallelogram-right{transform:skewX(calc(var(--angle-skew) * -1))}.parallelogram-right>*{transform:skewX(var(--angle-skew))}.angle-stripe{position:absolute;width:2px;height:60px;background:var(--color-accent);transform:rotate(-15deg);pointer-events:none}.angle-stripe--left{transform:rotate(15deg)}:root{--overlap-size: 4rem}.section-overlap-top{position:relative;margin-top:calc(-1 * var(--overlap-size));z-index:1}.section-overlap-bottom{position:relative;margin-bottom:calc(-1 * var(--overlap-size));z-index:2}.hero-overlap{position:relative;margin-bottom:calc(-1 * var(--overlap-size));z-index:2}.z-lift-1{position:relative;z-index:1}.z-lift-2{position:relative;z-index:2}.z-lift-3{position:relative;z-index:3}.depth-layer{background-color:var(--color-bg-elevated)}.border-accent{border:1px solid var(--color-accent)}.border-accent-top{border-top:2px solid var(--color-accent)}.border-accent-bottom{border-bottom:2px solid var(--color-accent)}.border-accent-left{border-left:2px solid var(--color-accent)}.decorative-shapes{position:absolute;pointer-events:none;top:0;left:0;width:100%;height:100%;overflow:hidden}.deco-diamond{display:block;width:12px;height:12px;background:var(--color-accent);transform:rotate(45deg);position:absolute}.deco-slash{display:block;width:2px;height:40px;background:var(--color-accent);transform:rotate(-15deg);position:absolute}.deco-dot{display:block;width:8px;height:8px;background:var(--color-accent);border-radius:50%;position:absolute}.deco-diamond--lg{width:20px;height:20px}.deco-slash--lg{height:60px}.deco-dot--lg{width:12px;height:12px}.deco-diamond--muted,.deco-slash--muted,.deco-dot--muted{background:var(--color-fg-subtle)}.btn{display:inline-block;padding:var(--space-sm) var(--space-md);font-family:var(--font-primary);font-weight:var(--font-weight-bold);font-size:var(--text-sm);text-decoration:none;text-transform:uppercase;letter-spacing:0.05em;cursor:pointer;border:none;transition:background-color 0.2s, transform 0.2s, border-color 0.2s}.btn-primary{background-color:var(--color-accent);color:var(--color-bg-deep)}.btn-primary:hover{background-color:var(--color-accent-hover);transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent);color:var(--color-bg-deep);transform:translateY(-2px)}.card{background:var(--color-bg-elevated);padding:var(--space-md);border:1px solid var(--color-bg);transition:border-color 0.2s, transform 0.2s}.card:hover{border-color:var(--color-accent);transform:translateY(-4px)}.card-title{font-size:var(--text-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xs);color:var(--color-fg)}.card-meta{color:var(--color-fg-muted);font-size:var(--text-sm);margin-bottom:var(--space-sm)}.card-body{color:var(--color-fg);font-size:var(--text-base)}.card-featured{padding:0}.card-featured .card-image{width:100%;overflow:hidden}.card-featured .card-image img{width:100%;height:auto;display:block}.card-featured .card-content{padding:var(--space-md)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--space-md)}.section--hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background-color:var(--color-bg-deep);position:relative}.section--content{padding:var(--space-xl) var(--space-md);background-color:var(--color-bg);position:relative}.section--feature{padding:var(--space-xl) var(--space-md);background-color:var(--color-bg-elevated);position:relative}.section-header{margin-bottom:var(--space-lg)}.section-header h2{position:relative;display:inline-block}.section-header h2::after{content:'';position:absolute;bottom:-0.5rem;left:0;width:60px;height:4px;background:var(--color-accent)}.section-inner{max-width:1200px;margin:0 auto;width:100%}.reveal-hero{overflow:hidden}.nav-link{position:relative}.nav-link.is-active{color:var(--color-accent)}.nav-link.is-active::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--color-accent)}.company-hero{min-height:50vh;background-color:var(--color-bg-deep);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:var(--space-xl) var(--space-md)}.company-hero__logo{max-width:200px;max-height:100px;margin-bottom:var(--space-md)}.company-hero h1{font-size:var(--text-display);margin-bottom:var(--space-xs)}.company-hero .tagline{font-size:var(--text-lg);color:var(--color-fg-muted);margin-bottom:var(--space-md);max-width:600px}.company-hero .btn{margin-top:var(--space-sm)}.company-content{padding:var(--space-xl) var(--space-md)}.company-content h2{margin-top:var(--space-lg);margin-bottom:var(--space-sm)}.company-content p{max-width:65ch;margin-bottom:var(--space-sm)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:var(--space-md);margin-top:var(--space-lg)}.service-item{padding:var(--space-md);background:var(--color-bg-elevated);border-left:3px solid var(--color-accent)}.service-item h3{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.portfolio-hero{min-height:40vh;background-color:var(--color-bg-deep);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl) var(--space-md);position:relative}.portfolio-hero--has-image::before{content:'';position:absolute;inset:0;background:linear-gradient(to top, var(--color-bg-deep) 0%, transparent 60%);pointer-events:none}.portfolio-hero__content{position:relative;z-index:1;max-width:1200px;width:100%}.portfolio-hero__title{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--font-weight-bold);color:var(--color-fg);text-transform:uppercase;letter-spacing:-0.01em;margin-bottom:var(--space-xs)}.portfolio-hero__subtitle{color:var(--color-fg-muted);font-size:var(--text-lg);font-family:var(--font-primary);margin:0}.portfolio-content{min-height:auto;padding:var(--space-xl) var(--space-md)}.project-card{padding:0;overflow:hidden}.project-card__image-wrapper{width:100%;overflow:hidden}.project-card__image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform 0.3s ease}.project-card:hover .project-card__image{transform:scale(1.05)}.project-card__role{display:block;color:var(--color-accent);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:var(--space-xs)}.project-card__year{color:var(--color-fg-muted);font-size:var(--text-sm);margin:var(--space-xs) 0}.image-gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--space-sm)}.image-gallery__item{overflow:hidden}.image-gallery__item img{width:100%;height:auto;display:block;transition:transform 0.3s ease}.image-gallery__item:hover img{transform:scale(1.05)}.post{max-width:65ch;margin:0 auto;padding:var(--space-xl) var(--space-md)}.post-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-bg-elevated)}.post-title{font-family:var(--font-display);font-size:clamp(2rem, 5vw, 3rem);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-fg);text-transform:none;letter-spacing:-0.01em;margin-bottom:var(--space-sm)}.post-meta{color:var(--color-fg-muted);font-size:var(--text-sm);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.post-tags{display:flex;gap:var(--space-xs)}.post-tag{background:var(--color-bg-elevated);padding:0.25em 0.5em;font-size:var(--text-sm);color:var(--color-fg-muted)}.post-description{color:var(--color-fg-muted);font-size:var(--text-lg);margin-top:var(--space-sm);line-height:1.5}.post-content{font-size:1.125rem;line-height:1.75;color:var(--color-fg)}.post-content p{margin-bottom:1.5em}.post-content h2{font-family:var(--font-display);font-size:1.75rem;font-weight:var(--font-weight-bold);text-transform:none;color:var(--color-fg);margin-top:2.5em;margin-bottom:0.75em;line-height:1.3}.post-content h3{font-family:var(--font-primary);font-size:1.375rem;font-weight:700;text-transform:none;color:var(--color-fg);margin-top:2em;margin-bottom:0.5em;line-height:1.4}.post-content h4{font-family:var(--font-primary);font-size:1.125rem;font-weight:700;text-transform:none;color:var(--color-fg);margin-top:1.5em;margin-bottom:0.5em}.post-content a{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:2px;transition:color 0.2s}.post-content a:hover{color:var(--color-accent)}.post-content ul,.post-content ol{margin-bottom:1.5em;padding-left:1.5em}.post-content li{margin-bottom:0.5em}.post-content blockquote{margin:1.5em 0;padding:var(--space-sm) var(--space-md);border-left:4px solid var(--color-accent);background:var(--color-bg-elevated);color:var(--color-fg-muted);font-style:italic}.post-content blockquote p:last-child{margin-bottom:0}.post-content pre{background:var(--color-bg-elevated);padding:var(--space-md);overflow-x:auto;margin-bottom:1.5em;font-size:0.9rem;line-height:1.5}.post-content code{font-family:'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;background:var(--color-bg-elevated);padding:0.15em 0.3em;font-size:0.9em}.post-content pre code{background:none;padding:0}.post-content img{max-width:100%;height:auto;display:block;margin:1.5em 0}.post-content hr{border:none;border-top:1px solid var(--color-bg-elevated);margin:2em 0}.post-footer{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-bg-elevated)}.back-to-blog{color:var(--color-fg-muted);text-decoration:none;font-size:var(--text-sm);transition:color 0.2s}.back-to-blog:hover{color:var(--color-accent)}.blog-index{max-width:800px;margin:0 auto;padding:var(--space-xl) var(--space-md)}.blog-index__header{margin-bottom:var(--space-lg)}.blog-index__header h1{font-size:var(--text-display);text-transform:uppercase;margin-bottom:var(--space-xs)}.blog-index__header p{color:var(--color-fg-muted);font-size:var(--text-lg)}.blog-index__list{list-style:none}.blog-index__item{padding:var(--space-md) 0;border-bottom:1px solid var(--color-bg-elevated)}.blog-index__item:first-child{border-top:1px solid var(--color-bg-elevated)}.blog-index__link{text-decoration:none;display:block;transition:transform 0.2s}.blog-index__link:hover{transform:translateX(8px)}.blog-index__link:hover .blog-index__title{color:var(--color-accent)}.blog-index__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--color-fg);text-transform:none;margin-bottom:var(--space-xs);transition:color 0.2s}.blog-index__date{color:var(--color-fg-muted);font-size:var(--text-sm);margin-bottom:var(--space-xs)}.blog-index__excerpt{color:var(--color-fg-muted);font-size:var(--text-base);line-height:1.6}@media (min-width: 768px){.site-header .nav-list{margin-left:var(--space-lg)}}@media (min-width: 1024px){.site-header .nav-list{margin-left:var(--space-xl)}}@media (max-width: 767px){section{padding:var(--space-lg) var(--space-sm);min-height:auto}.hero{min-height:100vh;min-height:100svh;padding-right:var(--space-sm);padding-bottom:var(--space-md)}.hero-content h1{font-size:clamp(2.5rem, 12vw, 4rem)}.site-header{--header-height: 60px;padding:0 var(--space-sm)}.site-header .header-inner{gap:var(--space-xs)}.site-header .site-logo{font-size:calc(var(--text-sm) * 0.9);margin-right:var(--space-sm);flex-shrink:0}.site-header .nav-list{margin-left:var(--space-xs);gap:var(--space-sm);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.site-header .nav-list::-webkit-scrollbar{display:none}.site-header .nav-link{font-size:calc(var(--text-sm) * 0.85);padding:var(--space-sm) var(--space-xs);min-height:44px;display:flex;align-items:center;white-space:nowrap}.site-header[data-scroll-state="scrolled"]{--header-height: 50px}h1{font-size:clamp(2.5rem, 10vw, var(--text-hero))}h2{font-size:clamp(1.75rem, 8vw, var(--text-display))}.portfolio-hero{min-height:30vh;padding:var(--space-lg) var(--space-sm)}.portfolio-hero__title{font-size:clamp(1.75rem, 8vw, var(--text-display))}.portfolio-hero__subtitle{font-size:var(--text-base)}.portfolio-content{padding:var(--space-lg) var(--space-sm)}.company-hero{min-height:40vh;padding:var(--space-lg) var(--space-sm)}.company-hero h1{font-size:clamp(1.75rem, 8vw, var(--text-display))}.company-hero .tagline{font-size:var(--text-base)}.company-content{padding:var(--space-lg) var(--space-sm)}.company-content h2{margin-top:var(--space-md)}.post{padding:var(--space-lg) var(--space-sm)}.blog-index{padding:var(--space-lg) var(--space-sm)}.blog-index__header h1{font-size:clamp(2rem, 8vw, var(--text-display))}.site-footer{padding:var(--space-md) var(--space-sm)}.card-grid{grid-template-columns:1fr;gap:var(--space-sm)}.services-grid{grid-template-columns:1fr;gap:var(--space-sm)}.image-gallery{grid-template-columns:1fr;gap:var(--space-xs)}.project-card .card-content{padding:var(--space-sm) !important}}@media (min-width: 640px) and (max-width: 1023px){.card-grid{grid-template-columns:repeat(2, 1fr)}.services-grid{grid-template-columns:repeat(2, 1fr)}.image-gallery{grid-template-columns:repeat(2, 1fr)}}.breadcrumb{padding:var(--space-md) var(--space-md);padding-bottom:0;background-color:var(--color-bg)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);max-width:1200px;margin:0 auto}.breadcrumb li{display:flex;align-items:center;font-size:var(--text-sm);color:var(--color-fg-muted)}.breadcrumb li:not(:last-child)::after{content:'/';margin-left:var(--space-xs);color:var(--color-fg-subtle)}.breadcrumb a{color:var(--color-fg-muted);text-decoration:none;transition:color 0.2s ease}.breadcrumb a:hover{color:var(--color-accent)}.breadcrumb li[aria-current="page"]{color:var(--color-fg)}@media (max-width: 767px){.breadcrumb{padding:var(--space-sm) var(--space-sm);padding-bottom:0}.breadcrumb li{font-size:calc(var(--text-sm) * 0.9)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.stars{animation:none}.hotspot::after{animation:none}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}
