@import"https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=Outfit:wght@400;500;600&display=swap";:root{--bg: hsl(0 0% 0%);--fg: hsl(0 0% 100%);--primary: hsl(240 100% 50%);--primary-dark: hsl(240 100% 40%);--card: hsl(240 18% 8%);--surface: hsl(240 22% 6%);--surface-alt: hsl(240 18% 13%);--border: hsl(240 15% 19%);--muted-fg: hsl(240 15% 60%);--radius: 4px;--font-display: "Syne", sans-serif;--font-body: "Outfit", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}input,select,textarea,button{font-family:inherit}.container{max-width:1280px;margin-inline:auto;padding-inline:clamp(1.5rem,5vw,4rem)}.section-pad{padding-block:clamp(5rem,10vw,9rem)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}.heading-hero{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,7vw,6rem);letter-spacing:.02em;text-transform:uppercase;line-height:1.05}.heading-section{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,3.5rem);line-height:1.15}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);display:block;margin-bottom:1rem}.eyebrow--white{color:var(--fg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:all .25s;cursor:pointer}.btn svg{width:1rem;height:1rem;flex-shrink:0}.btn-pill{background:var(--primary);color:#fff;border-radius:999px;padding:0 2rem;height:3rem}.btn-pill:hover{transform:scale(1.03);box-shadow:0 0 40px #0000ff59}.btn-pill--lg{height:3.25rem;padding:0 2.5rem}.btn-ghost{background:transparent;color:#fff;border:1px solid var(--primary);border-radius:var(--radius);padding:0 2rem;height:3rem}.btn-ghost:hover{background:#0000ff1a}.btn-ghost--lg{height:3.25rem;padding:0 2.5rem}.btn-solid{background:var(--primary);color:#fff;border-radius:var(--radius);padding:0 2rem;height:2.75rem}.btn-solid:hover{background:var(--primary-dark);box-shadow:0 0 24px #0000ff80}.btn-solid--full{width:100%;height:3.25rem;font-size:1rem}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid var(--border);background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.navbar-inner{display:flex;align-items:center;height:4rem}.navbar-logo{flex-shrink:0;display:flex;align-items:center}.navbar-logo img{height:2.5rem;width:auto}.navbar-links-wrap{display:none;flex:1;justify-content:center}.navbar-links{display:flex;list-style:none;gap:2.5rem}.navbar-links a{font-family:var(--font-body);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-fg);position:relative;transition:color .2s}.navbar-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:right;transition:transform .3s}.navbar-links a:hover{color:#fff}.navbar-links a:hover:after{transform:scaleX(1);transform-origin:left}.navbar-ctas{display:none;gap:.75rem;margin-left:auto;align-items:center;flex-shrink:0}.navbar-hamburger{margin-left:auto;color:#fff;padding:.5rem;display:flex;align-items:center}.navbar-hamburger svg{width:1.5rem;height:1.5rem}.navbar-hamburger .icon-x,.navbar-hamburger.open .icon-menu{display:none}.navbar-hamburger.open .icon-x{display:block}.mobile-nav{display:none;background:var(--surface);border-top:1px solid var(--border)}.mobile-nav.open{display:block}.mobile-nav-inner{padding-block:1.5rem;display:flex;flex-direction:column;gap:1rem}.mobile-nav a{font-family:var(--font-body);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted-fg);padding-block:.5rem;transition:color .2s}.mobile-nav a:hover{color:#fff}.mobile-nav-ctas{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}@media (min-width: 768px){.navbar-inner{height:4.5rem}.navbar-logo img{height:3.5rem}.navbar-links-wrap,.navbar-ctas{display:flex}.navbar-hamburger{display:none}}.hero{position:relative;display:flex;align-items:center;overflow:hidden;padding-top:5rem;padding-bottom:2.5rem;background-size:cover;background-position:center}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;pointer-events:none}.hero-glow{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:600px;height:600px;border-radius:50%;background:#0000ff14;filter:blur(120px);pointer-events:none}.hero-inner{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:2.375rem;max-width:42rem;margin-inline:auto}.hero-badge{display:inline-block;background:var(--primary);color:#fff;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;border-radius:10px;margin-bottom:1.5rem}.hero h1{text-shadow:0 0 30px rgba(0,0,0,.5),0 0 60px rgba(0,0,0,.3),0 0 100px rgba(0,0,0,.15);margin-bottom:1.5rem}.hero-sub{font-size:1.125rem;line-height:1.7;margin-bottom:2rem}.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.hero-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--primary)}.social-proof{padding-block:4rem;background:var(--bg);border-top:1px solid var(--border)}.social-proof-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:3rem;gap:1rem}.google-stars{display:flex;align-items:center;gap:.5rem}.google-stars .rating{font-weight:600;font-size:.875rem}.stars{display:flex;gap:2px}.stars svg{width:1rem;height:1rem;fill:#facc15}.logo-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2rem 3rem}.logo-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-item img{height:2.5rem;width:auto;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1);opacity:.7;transition:opacity .3s}.logo-item img:hover{opacity:1}.logo-case-study{font-size:.65rem;font-weight:600;color:var(--primary);letter-spacing:.1em;text-transform:uppercase}.services{background:var(--bg)}.section-intro{margin-bottom:3rem;max-width:42rem}.section-intro h2{margin-bottom:1rem}.section-intro p{font-size:1.125rem;line-height:1.7}.services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;overflow:hidden;transition:border-color .3s,transform .3s}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary)}.service-card:hover{border-color:#00f6;transform:translateY(-4px)}.service-icon{width:1.75rem;height:1.75rem;color:var(--primary);margin-bottom:1.25rem;stroke:currentColor}.service-card h3{font-size:1.25rem;margin-bottom:.75rem}.service-card p{line-height:1.7}.showreel{background:var(--primary)}.showreel-intro{margin-bottom:3rem;max-width:42rem}.showreel-intro h2{margin-bottom:0}.reel-placeholder{position:relative;aspect-ratio:16/9;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;margin-bottom:2.5rem}.reel-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(0,0,255,.05),transparent)}.reel-play{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:1rem}.play-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center}.play-ring{position:absolute;width:6rem;height:6rem;border-radius:50%;border:2px solid rgba(0,0,255,.4);animation:pulse-ring 1.5s ease-out infinite}.play-circle{width:5rem;height:5rem;border-radius:50%;background:#00f3;border:1px solid rgba(0,0,255,.5);display:flex;align-items:center;justify-content:center;transition:background .2s}.reel-placeholder:hover .play-circle{background:#0000ff4d}.play-circle svg{width:2rem;height:2rem;color:var(--primary);fill:currentColor;margin-left:4px}.reel-label{font-family:var(--font-display);font-weight:700;font-size:1.125rem;letter-spacing:.05em}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .3s,transform .3s}.project-card:hover{border-color:#00f6;transform:translateY(-4px)}.project-thumb{aspect-ratio:4/3;background:linear-gradient(135deg,var(--surface),rgba(0,0,255,.05));position:relative}.project-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(15,14,23,.8),transparent)}.project-info{padding:1.5rem}.project-type{margin-bottom:.5rem}.project-info h3{font-family:var(--font-display);font-weight:700;font-size:1rem;margin-bottom:.75rem}.project-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary);font-weight:500;font-size:.875rem;transition:gap .2s}.project-link:hover{gap:.5rem}.project-link svg{width:.875rem;height:.875rem}.showreel-note{display:inline-block;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.process{background:var(--bg)}.process-intro{margin-bottom:4rem;max-width:42rem}.steps-grid{display:grid;grid-template-columns:1fr;gap:2rem;position:relative}@media (min-width: 768px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.steps-grid{grid-template-columns:repeat(4,1fr)}.steps-grid:before{content:"";position:absolute;top:2.5rem;left:12.5%;right:12.5%;height:1px;border-top:1px dashed var(--border)}}.step{position:relative}.step-node{display:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--primary);border:4px solid var(--bg);margin:0 auto 1.5rem;position:relative;z-index:10}@media (min-width: 1024px){.step-node{display:block}}.step-inner{position:relative;padding-top:2rem}.step-num{position:absolute;top:-1rem;left:-.25rem;font-family:var(--font-display);font-weight:800;font-size:3.75rem;color:#32375a4d;line-height:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.step-inner h3{font-size:1.25rem;margin-bottom:.75rem}.step-inner p{line-height:1.7}.stats{padding-block:4rem;background:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (min-width: 1024px){.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem}}.stat{text-align:center}@media (min-width: 1024px){.stat{text-align:left}}.stat-value{font-family:var(--font-display);font-weight:800;font-size:clamp(1.875rem,3vw,2.25rem);margin-bottom:.25rem}.stat-bar{width:2rem;height:2px;background:#fff9;margin:.25rem auto 0}@media (min-width: 1024px){.stat-bar{margin-left:0}}.stat-label{font-size:.875rem;margin-top:.5rem}.about{background:var(--bg)}.about-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width: 1024px){.about-grid{grid-template-columns:repeat(2,1fr);gap:4rem}}.about-text h2{margin-bottom:1.5rem}.about-text p{font-size:1.125rem;line-height:1.7;margin-bottom:1rem}.about-text p:last-of-type{margin-bottom:2rem}.about-portrait{aspect-ratio:3/4;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);position:relative;overflow:hidden}.about-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,255,.1),transparent)}.about-caption{font-size:.875rem;text-align:center;margin-top:.75rem}.cta-section{position:relative;overflow:hidden;background-size:cover;background-position:center}.cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;pointer-events:none}.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;background:#0000ff14;filter:blur(120px);pointer-events:none}.cta-inner{position:relative;z-index:10;max-width:700px;margin-inline:auto;text-align:center}.cta-badge{display:inline-block;background:var(--primary);color:#fff;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}.cta-inner h2{margin-bottom:1rem}.cta-inner>p{font-size:1.125rem;line-height:1.7;margin-bottom:2rem}.cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem}.cta-note{font-size:.875rem}.contact{background:var(--bg)}.contact-intro{margin-bottom:3rem;max-width:42rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 1024px){.contact-grid{grid-template-columns:repeat(2,1fr);gap:4rem}}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-row{display:flex;align-items:flex-start;gap:.75rem}.contact-row svg{width:1.25rem;height:1.25rem;color:var(--primary);margin-top:2px;flex-shrink:0;stroke:currentColor;fill:none}.contact-row p{font-weight:500;line-height:1.5}.social-links{display:flex;gap:1rem;padding-top:1rem}.social-links a{color:#fff;transition:color .2s}.social-links a:hover{color:var(--primary)}.social-links svg{width:1.25rem;height:1.25rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.form-control{width:100%;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;color:#fff;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control::-moz-placeholder{color:#9aa0c880}.form-control::placeholder{color:#9aa0c880}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00f3}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem;cursor:pointer}select.form-control option{background:var(--surface-alt)}textarea.form-control{resize:vertical;min-height:7rem}.form-message{display:none;padding:1rem;border-radius:var(--radius);text-align:center;font-size:.875rem}.form-message.success{display:block;background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:#4ade80}.form-message.error{display:block;background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171}.form-field-error{display:block;font-size:.75rem;color:#f87171;min-height:1rem}.form-control[aria-invalid=true]{border-color:#f87171;box-shadow:0 0 0 3px #f8717126}.footer{background:var(--bg);border-top:1px solid var(--border);padding-block:4rem}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:3rem}@media (min-width: 768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}.footer-logo img{height:2.5rem;width:auto;margin-bottom:.25rem}.footer-logo .tagline{font-size:.875rem;font-style:italic;margin-bottom:.5rem}.footer-logo .desc{font-size:.875rem}.footer-col-label{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1rem;display:block}.footer-nav ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-nav a{font-size:.875rem;transition:color .2s}.footer-nav a:hover{color:var(--primary)}.footer-contact-col{display:flex;flex-direction:column;gap:.5rem}.footer-contact-col p{font-size:.875rem}.footer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-bottom p{font-size:.75rem}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}
