:root{--bg-charcoal:#0a0a0a;--bg-graphite:#141414;--bg-cream:#f3efe7;--text-main:#fafafa;--text-muted:#fafafab3;--border-subtle:#ffffff1a;--sans:"Inter", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem;font-size:16px}body{font-family:var(--sans);background-color:var(--bg-charcoal);color:var(--text-main);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,video{max-width:100%;display:block}main:focus{outline:none}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--text-main);outline-offset:3px;border-radius:4px}::selection{color:var(--text-main);background:#fafafa29}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.services-grid .reveal:nth-child(2),.ecosystem-grid .reveal:nth-child(2),.realisations-grid .reveal:nth-child(2),.process-steps .reveal:nth-child(2){transition-delay:60ms}.services-grid .reveal:nth-child(3),.ecosystem-grid .reveal:nth-child(3),.realisations-grid .reveal:nth-child(3),.process-steps .reveal:nth-child(3){transition-delay:.12s}.services-grid .reveal:nth-child(4),.ecosystem-grid .reveal:nth-child(4),.realisations-grid .reveal:nth-child(4),.process-steps .reveal:nth-child(4){transition-delay:.18s}.services-grid .reveal:nth-child(5),.ecosystem-grid .reveal:nth-child(5),.realisations-grid .reveal:nth-child(5),.process-steps .reveal:nth-child(5){transition-delay:.24s}.ecosystem-grid .reveal:nth-child(6){transition-delay:.3s}.ecosystem-grid .reveal:nth-child(7){transition-delay:.36s}.ecosystem-grid .reveal:nth-child(8){transition-delay:.42s}.ecosystem-grid .reveal:nth-child(9){transition-delay:.48s}.container{width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (width>=1024px){.container{padding-left:2rem;padding-right:2rem}}section[id],footer[id]{scroll-margin-top:5rem}header{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);background-color:#0a0a0ae6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:5rem;display:flex}.brand-logo{align-items:center;line-height:0;display:inline-flex}.brand-logo img{width:auto;max-width:100%;height:2rem}.desktop-nav{display:none}@media (width>=1280px){.desktop-nav{align-items:center;gap:1.9rem;display:flex}}.desktop-nav a{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.72rem;font-weight:500;transition:color .2s}.desktop-nav a:hover{color:var(--text-main)}.header-actions{align-items:center;gap:1rem;display:flex}.btn-primary{text-transform:uppercase;letter-spacing:.05em;color:#0a0a0a;white-space:nowrap;background-color:#fff;border-radius:9999px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.72rem;font-weight:600;transition:background-color .2s,opacity .2s;display:inline-flex}.btn-primary:hover{background-color:#ffffffe6}.btn-outline{text-transform:uppercase;letter-spacing:.1em;color:var(--text-main);white-space:nowrap;border:1px solid #fff3;justify-content:center;align-items:center;padding:.875rem 2rem;font-size:.72rem;font-weight:500;transition:border-color .2s;display:inline-flex}.btn-outline:hover{border-color:#fff}.header-cta{display:none}@media (width>=640px){.header-cta{display:inline-flex}}.menu-toggle{color:var(--text-main);justify-content:center;align-items:center;padding:.5rem;display:flex}@media (width>=1280px){.menu-toggle{display:none}}.mobile-drawer{visibility:hidden;opacity:0;background-color:var(--bg-charcoal);border-bottom:1px solid var(--border-subtle);width:100%;padding:2rem 1.5rem;transition:opacity .28s,transform .28s,visibility .28s;position:absolute;top:5rem;left:0;transform:translateY(-10px);box-shadow:0 10px 25px #00000080}.mobile-drawer.is-open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-drawer nav{flex-direction:column;gap:1.25rem;display:flex}.mobile-drawer .mobile-link{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.875rem;transition:color .2s}.mobile-drawer .mobile-link:hover{color:var(--text-main)}.mobile-cta{padding-top:1rem}.mobile-cta .btn-primary{text-align:center;width:100%}.hero-section{background-color:var(--bg-charcoal);align-items:center;min-height:100svh;padding:6rem 0;display:flex;position:relative;overflow:hidden}.hero-video-bg{z-index:0;position:absolute;inset:0}.hero-video-bg video{object-fit:cover;opacity:.65;width:100%;height:100%}.hero-video-overlay{background:linear-gradient(90deg,#0a0a0aeb 0%,#0a0a0a99 55%,#0a0a0ac7 100%);position:absolute;inset:0}.hero-content{z-index:10;width:100%;max-width:52rem;position:relative}.hero-tag{text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin-bottom:1rem;font-size:.75rem;font-weight:600;display:block}.hero-title{letter-spacing:-.025em;text-wrap:balance;margin-bottom:1.5rem;font-size:2.75rem;font-weight:300;line-height:1.08}@media (width>=640px){.hero-title{font-size:3.75rem}}.hero-text{color:var(--text-muted);max-width:36rem;margin-bottom:2rem;font-size:1.125rem;font-weight:300;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.intro-section{border-top:1px solid var(--border-subtle);text-align:center;background-color:#14141466;padding:8rem 0}.intro-container{max-width:56rem;margin:0 auto}.section-tag{text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin-bottom:1rem;font-size:.75rem;display:block}.intro-title{letter-spacing:-.025em;margin-bottom:1.5rem;font-size:2.25rem;font-weight:300;line-height:1.2}@media (width>=640px){.intro-title{font-size:3rem}}.intro-description{color:var(--text-muted);max-width:42rem;margin:0 auto;font-size:1.125rem;font-weight:300;line-height:1.6}.production-section{background:linear-gradient(180deg, var(--bg-graphite), var(--bg-charcoal));border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:center;padding:8rem 0;overflow:hidden}.production-content{max-width:64rem;margin:0 auto;position:relative}.production-tag{color:#ffffff80}.production-title{letter-spacing:-.025em;margin-bottom:1rem;font-size:2.5rem;font-weight:300}@media (width>=640px){.production-title{font-size:3.25rem}}.production-subtitle{text-transform:uppercase;letter-spacing:.1em;color:#fafafad9;font-size:.875rem;font-weight:500}.ecosystem-section{background-color:var(--bg-cream);color:var(--bg-charcoal);text-align:center;padding:6rem 0}.ecosystem-header{max-width:48rem;margin:0 auto 3rem}.ecosystem-header .section-tag{color:#0a0a0a80;font-weight:600}.ecosystem-grid{opacity:.9;grid-template-columns:repeat(2,1fr);place-items:center;gap:2.5rem 1.5rem;display:grid}@media (width>=768px){.ecosystem-grid{grid-template-columns:repeat(3,1fr);gap:3rem}}@media (width>=1024px){.ecosystem-grid{grid-template-columns:repeat(5,1fr);gap:3rem 2rem}}.ecosystem-logo-item{justify-content:center;align-items:center;width:100%;min-height:6.5rem;padding:1rem;display:flex}.ecosystem-logo-item img{object-fit:contain;filter:grayscale();opacity:.85;width:auto;max-width:100%;max-height:4.25rem;transition:opacity .3s,filter .3s}.ecosystem-logo-item img:hover{opacity:1;filter:grayscale(0)}.services-section{padding:8rem 0}.services-header{margin-bottom:5rem}.services-title,.portfolio-title{text-align:left;margin-bottom:0}.services-grid{background-color:var(--border-subtle);border:1px solid var(--border-subtle);grid-template-columns:1fr;gap:1px;display:grid}@media (width>=768px){.services-grid{grid-template-columns:repeat(2,1fr)}}.service-card{background-color:var(--bg-charcoal);flex-direction:column;gap:1rem;padding:3rem;transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .25s,box-shadow .45s;display:flex;transform:translateZ(0)}.service-card:hover{background-color:#121212;transform:translateY(-4px)scale(1.015);box-shadow:0 0 0 1px #ffffff2e}.service-card.reveal{transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.service-card.reveal.is-visible{transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .25s,box-shadow .45s,opacity .3s}.service-number{color:#fff6;font-family:monospace;font-size:.75rem}.service-title{font-size:1.5rem;font-weight:300}.service-desc{color:var(--text-muted);font-size:.875rem;font-weight:300;line-height:1.6}.portfolio-section{border-top:1px solid var(--border-subtle);padding:8rem 0}.portfolio-header{margin-bottom:4rem}.realisations-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem 1.75rem;display:grid}.realisations-grid .realisation-item{margin:0}.realisations-grid img{aspect-ratio:16/9;object-fit:contain;object-position:center;border:1px solid var(--border-subtle);background:#0b0c10;width:100%;height:auto;display:block}.realisations-grid figcaption{color:var(--text-muted);padding-top:1rem;font-size:.875rem;font-weight:300}.process-section{border-top:1px solid var(--border-subtle);background-color:#14141466;padding:8rem 0}.process-grid{grid-template-columns:1fr;gap:3rem;display:grid}@media (width>=1024px){.process-grid{grid-template-columns:repeat(12,1fr)}.process-intro{grid-column:span 4}.process-steps{grid-column:span 8}}.process-title{text-align:left;margin-bottom:0;font-size:2.25rem}.process-step-item{border-bottom:1px solid var(--border-subtle);align-items:baseline;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.process-step-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.process-step-num{color:#fff6;min-width:2rem;margin-right:2rem;font-family:monospace;font-size:.875rem}.process-step-title{font-size:1.25rem;font-weight:300}.local-section{border-top:1px solid var(--border-subtle);text-align:center;padding:6rem 0}.local-container{max-width:48rem;margin:0 auto}.local-title{margin-bottom:1.5rem;font-size:2.25rem;font-weight:300}@media (width>=640px){.local-title{font-size:3rem}}.local-text{color:var(--text-muted);font-weight:300;line-height:1.6}.contact-section{background-color:var(--bg-graphite);border-top:1px solid var(--border-subtle);text-align:center;padding:8rem 0}.contact-container{max-width:52rem;margin:0 auto}.contact-title{letter-spacing:-.025em;margin-bottom:1rem;font-size:2.5rem;font-weight:300}@media (width>=640px){.contact-title{font-size:3.25rem}}.contact-subtitle{color:var(--text-muted);margin-bottom:3rem;font-size:1.125rem;font-weight:300}.contact-form{text-align:left;flex-direction:column;gap:1.5rem;display:flex}.form-row{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.form-row{grid-template-columns:1fr 1fr}}.form-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem;font-weight:500;display:block}.form-optional{text-transform:none;letter-spacing:0;opacity:.7;font-weight:300}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border-subtle);width:100%;color:var(--text-main);font-size:.95rem;font-family:var(--sans);appearance:none;background-color:#101112;border-radius:2px;padding:.8rem 1rem;transition:border-color .2s}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#ffffff40}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#fff;outline:none}.form-field textarea{resize:vertical;min-height:9rem}.form-field select{cursor:pointer}.form-field select option{background-color:var(--bg-charcoal);color:var(--text-main)}.form-actions{flex-direction:column;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.form-note{color:var(--text-muted);text-align:center;max-width:34rem;font-size:.75rem;font-weight:300;line-height:1.6}.form-note a{text-underline-offset:3px;text-decoration:underline}.form-note a:hover{color:var(--text-main)}footer{background-color:var(--bg-charcoal);border-top:1px solid var(--border-subtle);padding:4rem 0 2rem}.footer-grid{grid-template-columns:1fr;gap:3rem;display:grid}@media (width>=768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-brand-logo{margin-bottom:1rem;display:block}.footer-brand-logo img{height:1.75rem}.footer-about{color:#ffffff80;font-size:.75rem;font-weight:300;line-height:1.6}.footer-col-title{color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.75rem;font-weight:600}.footer-links{color:var(--text-muted);flex-direction:column;gap:.75rem;font-size:.75rem;display:flex}.footer-links a{transition:color .2s}.footer-links a:hover{color:#fff}.footer-social{flex-direction:row;gap:1rem}.footer-social span{color:#fff6}.footer-bottom{border-top:1px solid var(--border-subtle);color:#fff6;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;max-width:80rem;margin:4rem auto 0;padding:2rem 1.5rem 0;font-size:.75rem;display:flex}@media (width>=640px){.footer-bottom{flex-direction:row;padding-left:2rem;padding-right:2rem}}@media (width<=767px){.brand-logo img{height:1.6rem}.hero-section{min-height:90svh;padding:4.5rem 0}.hero-title{font-size:2.4rem}.hero-text{font-size:1rem}.intro-section,.production-section,.services-section,.portfolio-section,.process-section,.contact-section{padding:5.5rem 0}.local-section{padding:4rem 0}.intro-title{font-size:1.9rem}.production-title{font-size:2.2rem}.contact-title{font-size:2.1rem}.service-card{padding:2rem}.realisations-grid{gap:2rem 1.25rem}.ecosystem-logo-item img{max-height:3.5rem}.footer-grid{gap:2.5rem}}@media (width<=639px){.realisations-grid{grid-template-columns:1fr;gap:2rem}}@media (width<=430px){.hero-title{font-size:2.05rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn-primary,.hero-actions .btn-outline{width:100%}.intro-title{font-size:1.75rem}.production-title{font-size:2rem}.contact-title{font-size:1.9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video-bg video{opacity:.8}.reveal{opacity:1;transition:none;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
