:root{--electric:#d8f680;--glass:#ffffff0d;--charcoal:#151b19;--shine:#dfff9d}.header{position:sticky;top:12px;z-index:50;height:82px;padding-inline:22px;margin-top:16px;border:1px solid #cdd0c370;border-radius:17px;background:#f5f3ede8;backdrop-filter:blur(22px);box-shadow:0 10px 36px #29322509}.header .nav-cta{border-radius:9px}.header .nav-cta:hover{box-shadow:0 8px 28px #d9562b29}.language-switch{background:#fff7}.hero{padding-top:68px;padding-bottom:80px}.hero-visual{box-shadow:0 35px 80px #2637291a,0 2px 0 #fff8 inset;border:1px solid #ffffffb3;transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s}.hero-visual:hover{transform:translateY(-5px);box-shadow:0 44px 90px #26372925}.builder-chip{position:absolute;display:flex;align-items:center;gap:10px;z-index:3;top:120px;left:-28px;padding:12px 17px;border:1px solid #fff9;border-radius:12px;box-shadow:0 14px 38px #15281f26;background:#f5f3ede8;backdrop-filter:blur(16px);font-size:10px;transform:rotate(-5deg)}.builder-chip svg{height:22px;width:22px;color:#697d3a}.hero-visual:hover .builder-chip{transform:rotate(0) translateX(5px)}.builder-chip{transition:transform .6s}.hero-visual[data-spotlight]{overflow:visible}.hero-note .tiny-icon{background:#e8ecd7;box-shadow:0 0 0 6px #e8ecd733}.button{border-radius:9px;box-shadow:0 5px 15px #1820150a}.button.dark:hover{box-shadow:0 12px 28px #18201520}.venture-strip{padding-block:27px 32px}.venture-strip a{transition:transform .3s,filter .3s}.venture-strip a:hover{transform:translateY(-4px);filter:drop-shadow(0 8px 12px #27332522)}html{scroll-padding-top:115px}

/* Pointer and touch light, without replacing the real project imagery. */
[data-spotlight]{position:relative;isolation:isolate;--pointer-x:50%;--pointer-y:50%}[data-spotlight]::before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;background:radial-gradient(380px circle at var(--pointer-x) var(--pointer-y),#dfff9d25,transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}[data-spotlight]:hover::before,[data-spotlight]:focus-within::before,[data-spotlight].is-touched::before{opacity:1}.button[data-spotlight]::before{background:radial-gradient(120px circle at var(--pointer-x) var(--pointer-y),#ffffff60,transparent 70%)}[data-spotlight].is-touched{box-shadow:0 0 0 1px #c6db8c80,0 0 30px #c6db8c26}.hero-visual::before{border-radius:130px 7px 7px 7px}

/* One cohesive, cinematic project reel. Native scrolling remains usable without JS. */
.showcase{background:radial-gradient(ellipse at 0 30%,#2d40302b,transparent 50%),radial-gradient(ellipse at 100% 0,#35524930,transparent 45%),var(--charcoal);color:#f3f4ea;overflow:hidden;padding-block:92px}.showcase-inner{min-width:0}.showcase .section-heading .eyebrow{color:var(--electric)}.showcase .section-heading h2{font-size:clamp(39px,4.3vw,62px);letter-spacing:-.06em}.showcase .section-heading h2 .serif{color:var(--electric)}.showcase .section-heading>p{color:#a6b1a8;font-size:13px;max-width:310px;line-height:1.9}.showcase .filter-row{border-color:#ffffff1c;margin-bottom:22px}.showcase .filter-row button{color:#9eaa9f;padding:13px 0;font-size:12px}.showcase .filter-row button[aria-pressed=true]{color:var(--electric);border-color:var(--electric)}.showcase #project-count{color:#a8b69e;font-size:10px}.carousel-shell{position:relative;min-width:0}.carousel-track{display:flex;align-items:stretch;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;isolation:isolate;padding:14px 0 24px;cursor:grab;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.carousel-track::-webkit-scrollbar{display:none}.carousel-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto!important;user-select:none}.carousel-track.is-dragging *{cursor:grabbing!important}.carousel-track:focus-visible{outline-offset:5px;outline-color:var(--electric)}.showcase .project{flex:0 0 58%;min-width:0;width:58%;padding:15px 15px 25px;border-radius:24px;border:1px solid #ffffff1c;background:linear-gradient(140deg,#ffffff0d,#ffffff03);box-shadow:0 18px 45px #00000015;scroll-snap-align:center;transform:scale(.975);transform-origin:center center;transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .55s,box-shadow .55s;overflow:hidden}.showcase .project.is-active{transform:scale(1);border-color:#d8f6806e;box-shadow:0 20px 50px #00000025,0 0 35px #a1d26b08}.showcase .project:hover{border-color:#d8f6807a}.showcase .project-image{height:338px;padding:20px 20px 0;border-radius:15px;background:radial-gradient(ellipse at 50% 0,#586b7b80,#25333b 80%)}.showcase .project-image.rose{background:radial-gradient(ellipse at 50% 0,#8f6f8055,#49363e 80%)}.showcase .project-image.green{background:radial-gradient(ellipse at 50% 0,#628e7955,#263f34 80%)}.showcase .project-image.sand{background:radial-gradient(ellipse at 50% 0,#75827c55,#303e3a 80%)}.showcase .browser-bar{background:#e9eee9;border-color:#ffffff20;padding:11px;font-size:8px}.showcase .browser-bar i{width:5px;height:5px}.showcase .project-image>img{width:100%;height:auto;min-height:0;max-height:none;object-fit:cover;object-position:top;box-shadow:0 15px 35px #0003}.showcase .enlarge{background:#19251edb;color:#f3f4ea;border:1px solid #e1efcf40;backdrop-filter:blur(14px);border-radius:20px;padding:8px 13px;font-size:9px;right:16px;bottom:15px;transition:background .3s,transform .3s}.showcase button:hover .enlarge{background:#d8f680;color:#172015;transform:translateY(-3px)}.showcase .project-caption{padding-inline:12px;margin-top:23px;min-height:70px;align-items:start;gap:20px}.showcase .project-caption .eyebrow{color:#91a08e;font-size:8px;letter-spacing:.15em}.showcase .project h3{color:#f3f4ea;font-size:30px;line-height:1.22;letter-spacing:-.055em;max-width:530px}.showcase .round-link{border-color:#ffffff30;flex-shrink:0;width:38px;height:38px;color:#e7efde}.showcase .round-link:hover{background:var(--electric);border-color:var(--electric);color:#172015}.showcase .project>p{font-size:13px;color:#a8b4a9;margin:12px 0 0;padding-inline:12px;max-width:none;min-height:76px;line-height:1.85}.showcase .tags{padding-inline:12px;margin-top:19px;gap:7px}.showcase .tags>span{border-color:#ffffff1a;color:#c8d1c4;background:#ffffff05;font-size:9px;padding:5px 11px}.showcase .credit{padding-inline:12px;color:#9fae9e;font-size:9px;margin-top:14px}.showcase .android-preview{height:338px;border-radius:15px;padding-top:44px;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#91aa7650,transparent 70%),#2d3c31}.showcase .android-preview.study{background:radial-gradient(ellipse at 50% 100%,#798fdb50,transparent 70%),#2b3348}.showcase .android-preview.game{background:radial-gradient(ellipse at 50% 100%,#9c8c6350,transparent 70%),#3a3930}.showcase .android-preview>img{height:280px;width:auto;max-width:80%;border:5px solid #131c1b;border-bottom:0;box-shadow:0 30px 65px #0005;border-radius:22px 22px 0 0;transform:rotate(-3deg);transition:transform .6s}.showcase .android-preview.study>img{border:0;border-radius:8px 8px 0 0;transform:rotate(3deg);height:293px}.showcase .android-preview:hover>img{transform:rotate(0) translateY(-7px)}.showcase .android-badge{color:#c5d0c5;left:21px;top:18px;font-size:9px}.showcase .android-project .project-caption{min-height:70px}.showcase .android-project h3{font-size:30px;max-width:none}.showcase .android-project>p{min-height:76px}.showcase .app-features{color:#abb9a7;margin:19px 12px 0;padding-top:15px;border-color:#ffffff18;font-size:9px}.showcase .play-link{margin:18px 12px 0;padding-bottom:10px;border-color:#d8f68050;color:var(--electric);font-size:11px}.carousel-controls{display:none;align-items:center;justify-content:space-between;gap:20px;padding:6px 0 23px}.interactive .carousel-controls{display:flex}.carousel-state{display:flex;align-items:center;gap:18px}.carousel-counter{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.05em;color:var(--electric);white-space:nowrap}.carousel-hint{color:#81917f;font-size:10px}.carousel-actions{display:flex;gap:8px;align-items:center}.carousel-toggle{display:flex;gap:9px;align-items:center;border:1px solid #ffffff22;background:#ffffff06;border-radius:30px;min-height:40px;padding:8px 14px;color:#dbe7d4;font-size:10px;min-width:85px;justify-content:center}.play-symbol{font-size:15px;line-height:1}.carousel-arrow{width:41px;height:41px;border:1px solid #ffffff25;background:#ffffff06;color:#edf3e7;border-radius:50%;font-size:21px;transition:background .25s,transform .25s}.carousel-arrow:hover,.carousel-toggle:hover{background:var(--electric);color:#152018;border-color:var(--electric)}.carousel-arrow:active{transform:scale(.9)}.carousel-dots{display:flex;align-items:center;justify-content:center;gap:2px}.carousel-dots button{border:0;padding:10px 6px;min-height:32px;min-width:24px;background:transparent;display:grid;place-items:center}.carousel-dots button::after{content:"";display:block;width:5px;height:5px;border-radius:5px;background:#53634f;transition:width .4s,background .4s}.carousel-dots button[aria-current=true]::after{width:24px;background:var(--electric);box-shadow:0 0 13px #d8f6804d}.carousel-progress{width:100%;height:1px;background:#ffffff18;overflow:hidden}.carousel-progress>span{display:block;width:14.28%;height:100%;background:linear-gradient(90deg,#a1bf66,#e4ffa5);transition:width .6s}.showcase .ecosystem{border-color:#ffffff20;margin-top:36px}.showcase .ecosystem summary{color:#dbe5d2;font-size:12px}.showcase .ecosystem-links a{color:#acbaa5}.showcase .ecosystem>p{color:#86977f}.showcase .ecosystem a:hover{color:var(--electric)}

/* Details that respond as you move through the page. */
.service-grid{gap:18px;border:0}.service-grid article,.service-grid article:first-child,.service-grid article:last-child{border:1px solid #d2d7c6;border-radius:20px;padding:30px;background:linear-gradient(140deg,#fff9,#ebeee03d);box-shadow:0 8px 30px #28392504;transition:transform .5s,box-shadow .5s,border-color .5s}.service-grid article:hover{transform:translateY(-7px);border-color:#98ae68;box-shadow:0 24px 50px #26351b12}.service-grid .service-icon{background:#dfe8ca;border-radius:14px;height:53px;width:53px;color:#4b652d;box-shadow:0 6px 18px #a3b48c18;transition:transform .7s,background .4s}.service-icon svg{width:27px;height:27px}.service-grid article:hover .service-icon{transform:rotate(-8deg) scale(1.08);background:#d2e5ab}.service-grid p{min-height:104px}.ownership-list details{transition:background .4s,border-color .4s;padding-inline:8px;border-radius:8px}.ownership-list details:hover{background:#ffffff04;border-color:#d8f68070}.ownership-list details[open] summary .item-no{color:var(--electric)}.chapter-number{display:inline-block;transition:transform .6s}.chapter-top:hover .chapter-number{transform:rotate(-8deg) scale(1.15)}.story-photo>button{box-shadow:0 20px 50px #20352612;border:1px solid #c8cfbc70}.story-photo img{transition:transform .85s cubic-bezier(.2,.7,.2,1)}.story-photo button:hover img{transform:scale(1.025)}.story-photo .enlarge{border-radius:20px;backdrop-filter:blur(12px)}.contact-grid{grid-template-columns:1fr 1fr;gap:75px}.contact-channels{display:grid;gap:15px}.contact-method{display:flex;align-items:center;gap:17px;padding:26px 22px;border:1px solid #c0c9af;border-radius:17px;background:#f6f7ef85;box-shadow:0 7px 25px #34442806;overflow:hidden;transition:transform .4s,border-color .4s,box-shadow .4s}.contact-method:hover{transform:translateX(5px);border-color:#91a473;box-shadow:0 16px 40px #34442812}.contact-icon{height:49px;width:49px;flex:0 0 49px;border-radius:14px;background:#dde6ca;display:grid;place-items:center;color:#566d38}.contact-icon svg{width:25px;height:25px}.whatsapp-method .contact-icon{background:#d2e9d3;color:#2b7144}.contact-method-copy{flex:1;min-width:0;display:grid;gap:4px}.contact-method-copy small{font-size:9px;letter-spacing:.08em;color:#6c785c}.contact-method-copy strong{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.4;letter-spacing:-.04em;overflow-wrap:anywhere}.contact-method-copy>span{font-size:10px;color:#778169}.contact-arrow{width:20px;height:20px;flex:0 0 20px;color:#6a7857}.contact-arrow svg{height:100%;width:100%}.copy-contact{justify-self:start;border:0;background:transparent;font-size:10px;color:#6a755c;padding:7px 2px;border-bottom:1px solid #b4c09f;margin-top:4px}.copy-contact:hover{color:#263b1b}.contact{background:radial-gradient(ellipse at 100% 100%,#ccdab655,transparent 60%),#e6e9da}.footer{padding-bottom:65px}

/* Visible by default. Reveal motion is enabled only after capability checks. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal].is-revealed{opacity:1;transform:translateY(0)}.motion-ready .service-grid article:not(.is-revealed) .service-icon{transform:translateY(10px) rotate(-15deg) scale(.7)}.motion-ready .service-grid article.is-revealed .service-icon{transform:translateY(0) rotate(0) scale(1)}.motion-ready .service-grid article.is-revealed:hover{transform:translateY(-7px)}

.wa-float{position:fixed;right:25px;bottom:25px;z-index:80;display:grid;grid-template-columns:29px 1fr;grid-template-rows:20px 13px;column-gap:12px;align-items:center;padding:13px 20px;width:172px;min-height:63px;border-radius:19px;background:#20bd61;color:#fff;border:1px solid #8eefa7b3;box-shadow:0 12px 35px #16824938,0 0 0 5px #25d3660d;transition:transform .35s,box-shadow .35s,background .35s;animation:wa-glow 3.4s ease-in-out infinite}.wa-float>svg{width:29px;height:29px;grid-row:1/3;stroke-width:1.7}.wa-float>span:not(.wa-label){font-size:13px;font-weight:650;line-height:1.2}.wa-label{font-size:9px;letter-spacing:.1em;line-height:1.2;opacity:.8}.wa-float:hover{transform:translateY(-5px);background:#16aa54;box-shadow:0 18px 45px #16824950,0 0 0 6px #25d36616}.wa-float:active{transform:scale(.95)}.wa-float:focus-visible{outline:3px solid #28351f;outline-offset:5px}@keyframes wa-glow{0%,100%{box-shadow:0 12px 35px #16824938,0 0 0 5px #25d3660d}50%{box-shadow:0 15px 40px #16824948,0 0 0 10px #25d36604}}

@media(max-width:1050px){.header{padding-inline:16px}.header>nav{gap:17px;font-size:11px}.hero{gap:40px}.builder-chip{font-size:8px;left:-15px;padding:10px 13px;top:104px}.showcase .project{flex-basis:68%;width:68%}.showcase .project-image,.showcase .android-preview{height:305px}.showcase .android-preview>img{height:250px}.showcase .android-preview.study>img{height:263px}.showcase .project h3,.showcase .android-project h3{font-size:27px}.carousel-hint{display:none}.service-grid article,.service-grid article:first-child,.service-grid article:last-child{padding:25px}.contact-grid{gap:40px}.contact-method{padding:22px 18px;gap:13px}.contact-method-copy strong{font-size:14px}.contact-icon{height:43px;width:43px;flex-basis:43px}}
@media(max-width:760px){html{scroll-padding-top:105px}.header{width:calc(100% - 24px);top:8px;margin-top:9px;padding-inline:12px;height:73px;border-radius:14px}.header>nav{top:calc(100% + 10px);left:0;right:0;border-radius:14px;background:#f5f3edf7;box-shadow:0 18px 35px #29322516}.hero{padding-top:45px;padding-bottom:50px;gap:38px}.builder-chip{top:104px;left:-7px;padding:10px 13px;border-radius:10px;font-size:9px}.builder-chip svg{width:20px;height:20px}.showcase{padding-block:65px}.showcase .section-heading h2{font-size:40px}.showcase .section-heading>p{font-size:13px;max-width:none;margin-top:22px}.showcase .filter-row>div{gap:23px}.showcase .filter-row button{font-size:11px}.carousel-track{gap:14px;margin-right:-20px;scroll-padding-right:20px;padding-right:20px}.showcase .project{flex-basis:calc(100% - 34px);width:calc(100% - 34px);border-radius:19px;padding:11px 11px 21px}.showcase .project-image{height:235px;padding:13px 12px 0;border-radius:12px}.showcase .browser-bar{padding:8px;font-size:6px}.showcase .project-caption{padding-inline:8px;margin-top:20px;min-height:66px;gap:12px}.showcase .project h3,.showcase .android-project h3{font-size:25px;line-height:1.2}.showcase .project-caption .eyebrow{font-size:7px}.showcase .round-link{width:32px;height:32px}.showcase .project>p,.showcase .android-project>p{font-size:12px;min-height:100px;padding-inline:8px;line-height:1.8}.showcase .tags{padding-inline:8px;gap:5px;margin-top:15px}.showcase .tags>span{font-size:8px;padding:4px 8px}.showcase .enlarge{right:10px;bottom:10px;font-size:8px;padding:6px 9px}.showcase .android-preview{height:290px;padding-top:42px}.showcase .android-preview>img{height:238px;border-width:4px}.showcase .android-preview.study>img{height:251px}.showcase .android-badge{left:13px;top:15px;font-size:7px}.showcase .app-features{font-size:8px;margin-inline:8px;min-height:34px}.showcase .play-link{margin-inline:8px;font-size:10px}.showcase .credit{padding-inline:8px;font-size:8px}.carousel-controls{flex-wrap:wrap;gap:10px;padding-bottom:15px}.carousel-state{min-width:60px}.carousel-counter{font-size:11px}.carousel-actions{margin-left:auto;gap:7px}.carousel-toggle{min-height:35px;min-width:72px;padding:7px 10px;font-size:9px}.carousel-arrow{width:36px;height:36px;font-size:19px}.carousel-dots{order:3;flex-basis:100%;gap:3px}.carousel-dots button{min-width:26px}.showcase .ecosystem{margin-top:30px}.service-grid{gap:13px}.service-grid article,.service-grid article:first-child,.service-grid article:last-child{padding:26px;border-radius:17px}.service-grid p{min-height:auto}.service-grid h3{font-size:23px}.service-grid .service-icon{width:48px;height:48px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-method{border-radius:14px;padding:20px 16px;gap:12px}.contact-method-copy strong{font-size:14px}.contact-method-copy small{font-size:8px}.contact-method-copy>span{font-size:9px;line-height:1.6}.contact-icon{height:40px;width:40px;flex-basis:40px;border-radius:12px}.contact-icon svg{width:22px;height:22px}.contact-arrow{width:16px;height:16px;flex-basis:16px}.wa-float{right:18px;bottom:18px;width:58px;height:58px;min-height:58px;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;padding:14px;border-radius:19px}.wa-float>svg{grid-row:auto;width:29px;height:29px}.wa-float>span{display:none}.footer{padding-bottom:100px}html[lang=es] .showcase .section-heading h2{font-size:36px}html[lang=es] .showcase .project>p,html[lang=es] .showcase .android-project>p{min-height:122px}html[lang=es] .contact-method-copy strong{font-size:13px}.hero-visual::before{border-radius:90px 5px 5px 5px}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.carousel-track{scroll-behavior:auto}.showcase .project{transform:none}.wa-float{animation:none}.builder-chip,.hero-visual:hover{transform:none}.motion-ready .service-grid article .service-icon{transform:none}}

/* Keep the project footers aligned, including cards with long Spanish descriptions. */
.showcase .project{display:flex;flex-direction:column}.showcase .project-image,.showcase .android-preview{flex-shrink:0}.showcase .project-caption{flex-shrink:0}.showcase .tags,.showcase .app-features{margin-top:auto;padding-top:19px}.showcase .project>p{margin-bottom:18px}.footer{padding-right:190px}
@media(max-width:760px){.showcase .project-image,.showcase .android-preview{height:245px}.showcase .android-preview>img{height:201px}.showcase .android-preview.study>img{height:214px}.showcase .project>p,.showcase .android-project>p{min-height:88px}html[lang=es] .showcase .project>p,html[lang=es] .showcase .android-project>p{min-height:104px}.showcase .app-features{min-height:0}.footer{padding-right:0}}

.carousel-controls{padding-right:185px}
@media(max-width:760px){.carousel-controls{padding-right:73px}}
