@font-face{font-family:'All Round Gothic Local';src:local('All Round Gothic'),local('AllRoundGothic-Regular');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'All Round Gothic Local';src:local('All Round Gothic Bold'),local('AllRoundGothic-Bold');font-weight:700;font-style:normal;font-display:swap}
:root{--lime:#e1ff00;--brand-font:'all-round-gothic','All Round Gothic Local','Arial',sans-serif}
body,input,select,textarea,button{font-family:var(--brand-font);font-weight:400}h1,h2,h3,.wordmark{font-family:var(--brand-font);font-weight:700!important}h1,h2,h3{letter-spacing:-.035em}h1 span,.contact h2 span,.type-experiment i,.web-study em{font-family:var(--brand-font);font-style:normal}p{font-weight:400}.eyebrow{font-weight:400}header .brand-logo img{width:100px}header{background:#080808eb}
.hero-immersive{position:relative;isolation:isolate;display:flex;align-items:center;min-height:760px;min-height:min(850px,calc(100svh - 90px));padding:90px 6% 100px;overflow:hidden;border-radius:0 0 36px 36px}.hero-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#131510}.hero-backdrop img{width:100%;height:100%;object-fit:cover;animation:studio-drift 18s ease-in-out infinite alternate;transform:scale(1.04)}.hero-immersive:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.55) 60%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.hero-immersive h1{font-size:clamp(3rem,7.7vw,7.2rem);line-height:1.08;max-width:1150px;letter-spacing:-.045em}.hero-immersive .hero-copy{width:100%}.hero-immersive .hero-bottom{max-width:610px;margin-top:30px}.hero-immersive .hero-bottom p{color:#eee;font-size:1.125rem}.hero-immersive .eyebrow{color:var(--lime)}.scene-pause{position:absolute;bottom:25px;right:6%;background:#101010c9;border:1px solid #888;color:white;border-radius:30px;padding:10px 16px;min-height:44px;font-size:.875rem;cursor:pointer}.scene-caption{position:absolute;bottom:35px;left:6%;font-size:.75rem;letter-spacing:1px;color:#ddd;max-width:55%}.scene-paused .hero-backdrop img{animation-play-state:paused}@keyframes studio-drift{from{transform:scale(1.04) translate3d(-1%,0,0)}to{transform:scale(1.14) translate3d(1%,-1%,0)}}
.marquee{position:relative;display:block;padding:25px 0;overflow:hidden;margin:0;background:var(--lime);color:#080808}.marquee-track{display:flex;width:max-content;animation:ribbon-run 28s linear infinite}.marquee-group{display:flex;align-items:center;gap:36px;flex-shrink:0;padding-right:36px}.marquee-group span{font-size:clamp(1.1rem,2.2vw,2rem);font-weight:700;white-space:nowrap;letter-spacing:-.02em}.marquee-group b{font-size:2rem;font-weight:400}.marquee-paused .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}.marquee-pause{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--lime);color:black;border:1px solid #657300;border-radius:50%;width:44px;height:44px;cursor:pointer}.marquee-pause:focus-visible{outline-color:black}.marquee button[hidden],.scene-pause[hidden]{display:none}@keyframes ribbon-run{to{transform:translateX(-50%)}}
.service-zone .section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:20px 60px;align-items:end}.service-zone .eyebrow{grid-column:1/-1}.service-zone h2 span{color:var(--lime)}.services-intro{color:#bbb;font-size:1.125rem;max-width:390px;margin:0}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-zone .service{display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid #444;border-radius:28px;padding:36px;gap:0;transition:transform .4s,border-color .4s,background .4s;min-width:0}.service-zone .service-brand{background:var(--lime);color:black;border-color:var(--lime)}.service-zone .service-web{background:#171717}.service-top{display:flex;width:100%;align-items:center;justify-content:space-between;font-size:.875rem;margin-bottom:46px}.service-top span:last-child{font-size:3.5rem;line-height:1;transition:transform .6s}.service-zone .service h3{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;min-height:2.2em;margin-bottom:24px}.service-zone .service p{max-width:none;font-size:1.0625rem;color:#c5c5c5;margin-bottom:28px}.service-zone .service-brand p{color:#293000}.service-zone .service .tags{margin-bottom:40px}.service-brand .tags li{border-color:#7d9000}.service-cta{display:flex;justify-content:space-between;align-items:center;width:100%;padding-top:22px;border-top:1px solid #555;font-size:1rem;margin-top:auto;gap:18px}.service-brand .service-cta{border-color:#7d9000}.service-cta span{font-size:1.8rem}.service-cta:focus-visible{outline-color:currentColor}
.portfolio .project-art{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease,box-shadow .3s;will-change:transform}.portfolio .project:hover{opacity:1}.portfolio .project-art:after{content:'';pointer-events:none;position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#ffffff30,transparent 55%);opacity:0;transition:opacity .3s}.portfolio .project:hover .project-art:after{opacity:1}.portfolio .project-caption h3{transition:color .25s}.portfolio .project:hover .project-caption h3{color:var(--lime)}
.about-refresh{display:block;border:0;padding-top:70px}.about-refresh>.eyebrow{color:var(--lime);font-size:1.125rem;text-transform:none;letter-spacing:1px}.about-panel{background:#fff;color:#080808;border-radius:36px;padding:46px;display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center}.about-copy h2{font-size:clamp(2.2rem,3.7vw,3.6rem);line-height:1.1;margin-bottom:26px}.about-copy h2 span{color:#677400}.about-refresh .about-copy p{font-size:1.0625rem;line-height:1.75;color:#363636;max-width:600px;margin:0 0 20px}.about-refresh .about-copy .about-signoff{font-weight:700;color:black;margin-bottom:0}.about-photo{margin:0;min-width:0}.about-photo img{width:100%;height:460px;display:block;object-fit:cover;border-radius:24px}.about-photo figcaption{font-size:.75rem;color:#666;margin-top:12px;line-height:1.5}.about-panel.reveal{opacity:1;transform:none}
.steps{gap:20px}.steps article{border:1px solid #e1ff00;border-radius:22px;padding:28px 24px;min-height:260px;transition:background .3s,color .3s,transform .3s;transition-delay:0s!important;background:transparent}.steps article h3{font-size:1.55rem}.steps article p{max-width:none;line-height:1.65}.steps article:hover{background:white;color:black;transform:translateY(-6px)}.steps article:hover p,.steps article:hover span{color:black}.steps article:active{background:white;color:black}.steps article:active p,.steps article:active span{color:black}
@media(hover:hover) and (pointer:fine){.service-zone .service:hover{transform:translateY(-8px);border-color:white}.service-zone .service:hover .service-top span:last-child{transform:rotate(35deg)}.portfolio .project:hover .project-art{box-shadow:0 20px 45px #0005}}@media(max-width:1050px){.steps{grid-template-columns:1fr 1fr}.about-panel{padding:32px;gap:28px}.about-photo img{height:420px}.service-zone .service{padding:28px}.hero-immersive{min-height:660px}.hero-immersive h1{font-size:clamp(3rem,7.5vw,5.5rem)}}@media(max-width:760px){.hero-immersive{min-height:660px;padding:75px 6% 110px;border-radius:0 0 24px 24px}.hero-immersive h1{font-size:clamp(2.85rem,10vw,4.8rem)}.hero-immersive:after{background:linear-gradient(90deg,#000c,#0006),linear-gradient(0deg,#000a,transparent)}.hero-immersive .hero-bottom{gap:16px}.hero-immersive .hero-bottom p{font-size:1rem}.hero-backdrop img{object-position:60% center}.scene-caption{font-size:.625rem;bottom:32px;max-width:48%}.scene-pause{font-size:.75rem;padding:10px 12px}.marquee-group{gap:24px;padding-right:24px}.marquee{padding:20px 0}.service-zone .section-heading{display:block}.services-intro{margin-top:25px}.service-cards{grid-template-columns:1fr}.service-zone .service h3{min-height:0}.service-top{margin-bottom:28px}.service-zone .service{padding:28px}.about-panel{grid-template-columns:1fr;border-radius:26px;padding:28px 24px}.about-photo img{height:auto;aspect-ratio:1.2;object-fit:cover}.about-copy h2{font-size:2.5rem}.about-refresh>.eyebrow{font-size:1rem}.steps article{min-height:250px;padding:25px 20px}.contact-quote h2 span{font-style:normal}}@media(max-width:420px){.steps{grid-template-columns:1fr}.steps article{min-height:0}.hero-immersive h1{font-size:2.85rem}.about-copy h2{font-size:2.1rem}.service-zone .service h3{font-size:2.25rem}}@media(prefers-reduced-motion:reduce){.hero-backdrop img,.marquee-track{animation:none;transform:none}.portfolio .project-art{transform:none!important}.steps article:hover,.service-zone .service:hover{transform:none}.marquee-track{width:auto}.marquee-group{flex-wrap:wrap;justify-content:center;padding:0 45px 0 15px;gap:12px}.marquee-group[aria-hidden]{display:none}.marquee-group span{white-space:normal;font-size:1rem}.scene-pause,.marquee-pause{display:none!important}}

/* Gentle zoom keeps the existing cursor tilt and does not change card spacing. */
.portfolio .project-art{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--project-zoom,1));transition:transform .5s cubic-bezier(.2,.65,.3,1),box-shadow .4s}
@media(hover:hover) and (pointer:fine){.portfolio .project:hover .project-art{--project-zoom:1.035}}
.project-controls .project-autoplay{font-size:16px;width:44px;height:44px}
@media(max-width:420px){.project-controls{gap:14px}}
@media(prefers-reduced-motion:reduce){.portfolio .project-art{transform:none!important}.project-autoplay{display:none}}
.portfolio .project{cursor:pointer}
.portfolio .project:focus-visible{outline:2px solid var(--lime);outline-offset:5px;border-radius:22px}

/* White background and contrasting details, scoped to Services only. */
#servicios { background: #fff; color: #101010; }
#servicios .eyebrow { color: #555; }
#servicios h2 span { color: #101010; text-decoration: underline; text-decoration-color: #e1ff00; text-decoration-thickness: .12em; text-underline-offset: .12em; }
#servicios .services-intro { color: #454545; }
#servicios .service-brand { background: #e1ff00; color: #101010; border-color: #bacf00; }
#servicios .service-web { background: #f5f5f2; color: #101010; border-color: #ccc; }
#servicios .service-web p { color: #454545; }
#servicios .service-web .tags li { border-color: #777; }
#servicios .service-web .service-cta { border-color: #aaa; }
#servicios .service-top span:last-child { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; }
#servicios .service-brand .service-top span:last-child { background: #101010; color: #e1ff00; }
#servicios .service-web .service-top span:last-child { background: #e1ff00; color: #101010; }
#servicios .service-cta:focus-visible { outline-color: #101010; }
@media (hover: hover) and (pointer: fine) {
  #servicios .service:hover { border-color: #101010; }
}
