/* Real portfolio imagery and lightweight motion for the web landing. */
.project-hero{position:relative;min-width:0;isolation:isolate;padding:25px 0 0}.project-glow{position:absolute;inset:10% -12% 5%;z-index:-1;background:radial-gradient(ellipse,#6d30d766,transparent 64%);filter:blur(22px);animation:project-glow 9s ease-in-out infinite alternate}.project-orbit{position:absolute;inset:4% -5% 21%;border:1px solid #b795fa26;border-radius:50%;transform:rotate(-27deg);z-index:-1}.project-mini-label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.18em;color:#d6c5ef;padding-left:15px;margin-bottom:25px}.project-mini-label>span{width:6px;height:6px;background:#c9ff91;box-shadow:0 0 16px #b0ff6977;border-radius:50%}.project-stage{position:relative;aspect-ratio:1.55;margin:0 0 45px;perspective:1200px}.project-stage:before,.project-stage:after{content:"";position:absolute;inset:8px 12px -8px;border:1px solid #ab83ff45;border-radius:13px;background:linear-gradient(135deg,#31164e,#181021);z-index:-1;transform:rotate(-5deg) translateY(9px)}.project-stage:after{inset:8px 18px -6px;transform:rotate(5deg) translateY(16px);border-color:#e4b3de33;z-index:-2;background:#22162a}.project-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(20px) rotateX(6deg) scale(.965);transition:opacity .75s ease,transform .85s cubic-bezier(.22,.7,.2,1),visibility .85s;will-change:opacity,transform}.project-slide.is-current{opacity:1;visibility:visible;transform:translateY(0) rotateX(0) scale(1);z-index:1}.project-slide>a{display:block;height:100%;overflow:hidden;border-radius:11px;border:1px solid #ccb7e774;box-shadow:0 20px 55px #0008;background:#17121e}.project-browser{height:29px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;background:#17121e;color:#a99cb5;border-bottom:1px solid #ffffff1c}.project-browser>span:first-child{display:flex;gap:4px;width:37px}.project-browser i{width:5px;height:5px;border-radius:50%;background:#8a7999}.project-browser small{font-size:8px;letter-spacing:.015em}.project-browser>span:last-child{font-size:12px;width:30px;text-align:right}.project-hero-screen{height:calc(100% - 94px);overflow:hidden;background:#fff}.project-hero-screen img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 4s ease}.project-slide.is-current .project-hero-screen img{transform:scale(1.025)}.project-slide figcaption{display:flex;align-items:center;justify-content:space-between;height:65px;padding:12px 17px;background:linear-gradient(110deg,#23192d,#100e14)}.project-slide figcaption>div>span{display:block;font-size:8px;letter-spacing:.08em;color:#bca9cc;margin-bottom:5px}.project-slide figcaption strong{font-family:"GT Walsheim Pro",Arial,sans-serif;font-size:19px;letter-spacing:-.02em}.project-open{width:31px;height:31px;display:grid;place-items:center;border:1px solid #d0bce956;border-radius:50%;color:var(--project-accent);font-size:21px}.project-hero-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.project-hero-controls [role="group"]{display:flex;gap:8px}.project-dot{background:transparent;border:1px solid #ffffff2b;border-radius:50%;color:#b3a2c5;font-size:9px;min-width:36px;min-height:36px;padding:5px;transition:background .3s,color .3s}.project-dot[aria-pressed="true"]{color:#0d0814;background:#d5b7ff;border-color:#d5b7ff}.project-motion-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;color:#b9a8c9;font-size:10px;padding:12px 0;min-height:40px}.project-motion-toggle>span{font-size:13px;color:#e7d8f7}.project-motion-toggle:hover{color:white}.project-hero-caption{font-size:10px;line-height:1.8;color:#a79ab8;margin-top:18px}.project-hero-caption>a{display:inline-block;color:#d1b6f2;border-bottom:1px solid #745588;margin-left:6px}
.project-marquee{overflow:hidden;background:#110b1a;border-bottom:1px solid #ffffff18;position:relative;padding:30px 0}.project-marquee:before,.project-marquee:after{content:"";position:absolute;top:0;bottom:0;width:10vw;z-index:1;pointer-events:none}.project-marquee:before{left:0;background:linear-gradient(90deg,#110b1a,transparent)}.project-marquee:after{right:0;background:linear-gradient(-90deg,#110b1a,transparent)}.project-marquee-track{display:flex;width:max-content;animation:project-marquee 36s linear infinite}.project-marquee-track>div{display:flex;align-items:center;gap:65px;padding-right:65px}.project-wordmark{font-family:"GT Walsheim Pro",Arial,sans-serif;font-size:27px;color:#cfbfdf;white-space:nowrap;letter-spacing:-.03em}.project-wordmark--campofrutal{font-family:Georgia,serif;font-style:italic;font-size:30px;color:#c4cdae}.project-wordmark--vtwo{letter-spacing:.2em;font-size:24px}.project-wordmark--natural{font-weight:400;letter-spacing:.03em;font-size:25px;color:#cdbc9c}.project-marquee-track i{font-style:normal;color:#795994;font-size:20px}.project-marquee:hover .project-marquee-track{animation-play-state:paused}
.project-portfolio{background:radial-gradient(ellipse at 5% 26%,#2d12352e,transparent 55%),#0d0a10}.project-jump-links{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;margin-top:24px;color:#dec4fa}.project-jump-links a{border-bottom:1px solid #9272ad66;padding-bottom:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px;align-items:start}.project-card:nth-child(even){margin-top:65px}.project-card{min-width:0}.project-card-visual{display:block;position:relative;border-radius:14px;overflow:hidden;padding:22px 28px 42px;background:radial-gradient(ellipse at 60% 20%,#994d7944,transparent 76%),#231522;isolation:isolate;transition:box-shadow .35s}.project-card-visual:before{content:"";position:absolute;inset:0;border:1px solid #ffffff1c;border-radius:inherit;z-index:3;pointer-events:none}.project-card-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;letter-spacing:.07em;color:#f4e1ee;margin-bottom:36px}.project-card-topline>span:last-child{font-size:21px}.project-card-window{border:1px solid #ffffff55;border-radius:8px;overflow:hidden;background:#17121e;box-shadow:0 22px 35px #0005;transform:perspective(1100px) rotateY(-6deg) rotateZ(-3deg) translateY(4px);transition:transform .65s cubic-bezier(.2,.75,.2,1)}.project-card:nth-child(even) .project-card-window{transform:perspective(1100px) rotateY(6deg) rotateZ(3deg) translateY(4px)}.project-card-visual:hover .project-card-window,.project-card-visual:focus-visible .project-card-window{transform:perspective(1100px) rotateY(0) rotateZ(0) translateY(-7px)}.project-card-screen{aspect-ratio:1.66;overflow:hidden;background:#fff}.project-card-screen img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s ease}.project-card-visual:hover img{transform:scale(1.035)}.project-card--campofrutal .project-card-visual{background:radial-gradient(ellipse at 80% 30%,#65744f77,transparent 75%),#20261c}.project-card--vtwo .project-card-visual{background:radial-gradient(ellipse at 20% 20%,#697b934a,transparent 70%),#141d29}.project-card--natural .project-card-visual{background:radial-gradient(ellipse at 20% 30%,#a88d604b,transparent 70%),#2c2119}.project-visit{position:absolute;right:24px;bottom:18px;display:flex;align-items:center;gap:20px;color:#f2e9f8;background:#141017d9;border:1px solid #ddd0ec33;border-radius:30px;padding:10px 16px;font-size:10px;backdrop-filter:blur(8px);transition:background .3s,transform .3s}.project-card-visual:hover .project-visit{background:var(--project-accent);color:#120d17;transform:translateY(-4px)}.project-visit>span{font-size:16px}.project-card-copy{padding:24px 2px 0}.project-card-copy>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.project-card-copy h3{font-family:"GT Walsheim Pro",Arial,sans-serif;font-size:26px;letter-spacing:-.025em}.project-card-copy>div>span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#af99c0}.project-card-copy>p{color:#b5a5c3;font-size:14px;line-height:1.8;margin-top:13px;max-width:450px}.project-card-copy>a{display:inline-block;font-size:11px;color:#d8c7e7;margin-top:16px;padding-bottom:6px;border-bottom:1px solid #c8afda38}.project-card-copy>a>span{margin-left:8px}.project-portfolio-end{border-top:1px solid #ffffff26;margin-top:55px;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.project-portfolio-end>p{font-size:15px;line-height:1.8;color:#c3b3d2}.project-portfolio-end .text-link{font-size:13px;white-space:nowrap}
.project-shop-window{display:block;overflow:hidden;border:1px solid #ccb8e353;border-radius:10px;box-shadow:0 18px 50px #0005;background:#17121e}.project-shop-screen{aspect-ratio:1.65;overflow:hidden;background:white}.project-shop-screen img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .65s ease}.project-shop-window:hover img{transform:scale(1.025)}.project-shop-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;min-height:56px}.project-shop-caption strong{font-family:"GT Walsheim Pro",Arial,sans-serif;font-size:19px}.project-shop-caption>span{font-size:10px;color:#d6b6fa}.project-niche-tabs{gap:7px}.project-niche-tabs button{padding:10px 16px}
.motion-ready .web-section-heading,.motion-ready .web-service-layout,.motion-ready .web-custom-heading,.motion-ready .web-benefits article,.motion-ready .web-steps li,.motion-ready .project-card,.motion-ready .web-commerce-layout,.motion-ready .web-quote-layout>div{transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .will-reveal{opacity:0;transform:translateY(28px)}.motion-ready .has-revealed{opacity:1;transform:none}.web-section .nova-color{background-size:180% 100%;animation:project-gradient 10s ease-in-out infinite alternate}
.motion-paused .project-marquee-track,.motion-paused .project-glow,.motion-paused .nova-color,.motion-paused .web-float-order{animation-play-state:paused!important}.motion-paused .project-slide,.motion-paused .project-hero-screen img{transition:none}.motion-paused .will-reveal{opacity:1;transform:none;transition:none}
@keyframes project-marquee{to{transform:translateX(-50%)}}@keyframes project-glow{to{opacity:.5;transform:translate(10px,-15px) scale(1.12)}}@keyframes project-gradient{to{background-position:100% 50%}}
@media(max-width:1100px){.project-stage{aspect-ratio:1.3}.project-hero-screen{height:calc(100% - 89px)}.project-slide figcaption{height:60px}.project-slide figcaption strong{font-size:18px}.project-hero-controls{gap:10px}.project-dot{min-width:31px;min-height:31px}.project-hero-controls [role="group"]{gap:6px}.project-motion-toggle{font-size:9px}.project-card-visual{padding:17px 22px 38px}.project-card-topline{margin-bottom:25px;font-size:8px}.project-card-copy h3{font-size:23px}.project-card-copy>p{font-size:13px}.project-grid{gap:38px 25px}.project-card:nth-child(even){margin-top:45px}.project-wordmark{font-size:24px}.project-marquee-track>div{gap:48px;padding-right:48px}.project-niche-tabs button{padding:9px 11px;font-size:10px}}
@media(max-width:760px){.project-hero{padding:15px 2px 0;width:100%;max-width:530px;margin-inline:auto}.project-mini-label{font-size:8px;margin-bottom:21px;padding-left:0}.project-stage{aspect-ratio:1.3;margin-bottom:36px}.project-browser{height:24px;padding-inline:10px}.project-browser small{font-size:7px}.project-hero-screen{height:calc(100% - 84px)}.project-slide figcaption{padding:11px 14px}.project-slide figcaption strong{font-size:18px}.project-slide figcaption>div>span{font-size:7px}.project-dot{min-width:35px;min-height:35px}.project-motion-toggle{font-size:9px;gap:6px;min-height:44px}.project-hero-caption{font-size:9px;margin-top:13px;max-width:320px}.project-hero-caption>a{margin-left:0}.project-marquee{padding:24px 0}.project-wordmark{font-size:23px}.project-wordmark--campofrutal{font-size:25px}.project-wordmark--vtwo{font-size:21px}.project-wordmark--natural{font-size:22px}.project-marquee-track>div{gap:37px;padding-right:37px}.project-marquee-track{animation-duration:28s}.project-jump-links{font-size:11px;gap:16px;margin-top:20px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card:nth-child(even){margin-top:0}.project-card-visual{padding:17px 22px 38px;border-radius:11px}.project-card-topline{font-size:8px;margin-bottom:28px}.project-card-window{border-radius:7px}.project-card-copy{padding-top:21px}.project-card-copy h3{font-size:24px}.project-card-copy>p{font-size:14px;line-height:1.8;margin-top:12px}.project-card-copy>a{margin-top:13px;font-size:11px}.project-visit{right:18px;bottom:15px;padding:9px 13px;font-size:9px}.project-portfolio-end{flex-direction:column;align-items:start;gap:17px;margin-top:36px;padding-top:25px}.project-portfolio-end>p{font-size:14px}.project-shop-caption{padding:13px 15px}.project-shop-caption strong{font-size:18px}.project-niche-tabs button{font-size:10px;padding:10px 13px}.project-portfolio .page-heading{font-size:clamp(1.85rem,6.95vw,3rem)}}
@media(max-width:360px){.project-hero-controls [role="group"]{gap:4px}.project-dot{min-width:31px;min-height:31px}.project-hero-controls{gap:7px}.project-motion-toggle{font-size:8px}.project-card-visual{padding-inline:16px}.project-card-topline{font-size:7px}.project-browser small{font-size:6px}.project-niche-tabs button{font-size:9px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){.project-marquee-track,.project-glow,.web-section .nova-color{animation:none!important}.project-marquee-track>div:nth-child(2){display:none}.project-marquee-track{width:100%}.project-marquee-track>div{width:100%;justify-content:center;flex-wrap:wrap;gap:22px;padding-inline:20px}.project-marquee-track i{display:none}.project-marquee:before,.project-marquee:after{display:none}.project-card-window,.project-card:nth-child(even) .project-card-window{transform:none}.motion-ready .will-reveal{opacity:1;transform:none}.project-slide,.project-slide.is-current,.project-hero-screen img{transition:none;transform:none!important}}
@media(forced-colors:active){.project-card-visual,.project-slide>a,.project-shop-window{border:1px solid CanvasText}.project-dot[aria-pressed="true"]{outline:2px solid Highlight}.project-glow,.project-orbit{display:none}}
.motion-background .project-marquee-track,.motion-background .project-glow,.motion-background .nova-color{animation-play-state:paused!important}.project-motion-toggle:disabled{cursor:default}
/* Native finger scrolling on mobile, with buttons as an alternative. */
.project-swipe-controls,.project-swipe-hint{display:none}
@media(max-width:760px){
.project-stage{display:flex;overflow-x:auto;overflow-y:hidden;gap:12px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;perspective:none;margin-bottom:12px;border-radius:11px;-webkit-overflow-scrolling:touch}.project-stage::-webkit-scrollbar,.project-grid::-webkit-scrollbar{display:none}.project-stage:before,.project-stage:after{display:none}.project-slide,.project-slide.is-current{position:relative;inset:auto;flex:0 0 100%;min-width:0;height:100%;margin:0;opacity:1;visibility:visible;transform:none!important;transition:none;scroll-snap-align:start;scroll-snap-stop:always;will-change:auto}.project-slide>a{box-shadow:none}.project-slide.is-current .project-hero-screen img{transform:none}.project-swipe-hint{display:flex;justify-content:space-between;align-items:center;color:#c8b3dc;font-size:11px;margin:0 0 12px}.project-dot{min-width:44px;min-height:44px}.project-hero-controls{flex-wrap:wrap}.project-hero-controls [role="group"]{gap:8px}.project-swipe-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px}.project-swipe-controls>p{font-size:11px;line-height:1.5;color:#c8b3dc}.project-swipe-controls>p span{margin-left:4px}.project-swipe-controls>div{display:flex;align-items:center;gap:10px}.project-swipe-controls button{min-width:44px;min-height:44px;border:1px solid #ffffff40;border-radius:50%;background:#211529;color:#eedfff;font-size:20px}.project-swipe-controls button:disabled{opacity:.3;cursor:default}.project-count{font-size:11px;color:#baa7cd;white-space:nowrap}.project-grid{display:flex;align-items:stretch;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 24px 12px 0;margin-right:-20px;-webkit-overflow-scrolling:touch}.project-card{flex:0 0 calc(100% - 24px);scroll-snap-align:start;scroll-snap-stop:always}.project-card:nth-child(even){margin-top:0}.motion-ready .project-card.will-reveal{opacity:1;transform:none}.project-card-copy h3{font-size:23px}.project-card-visual{padding:16px 18px 38px}.project-card-copy>div{gap:8px}.project-card-copy>p{font-size:13px}.project-card-topline{font-size:8px}.project-niche-tabs button{min-height:44px}
}
/* Proyectos distintos en cada sección del recorrido. */
.project-card--levursse .project-card-visual{background:radial-gradient(ellipse at 70% 20%,#78906355,transparent 75%),#20261f}.project-card--megabolsos .project-card-visual{background:radial-gradient(ellipse at 30% 20%,#c37eae50,transparent 75%),#30202e}.project-marquee-track{animation-duration:70s}.project-panel-hint{display:none}.web-service-examples{min-width:0}.project-real-service .project-shop-caption{color:#fff}.project-real-service .project-shop-window{box-shadow:0 18px 40px #251b351c}.project-service-sector{margin-top:24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#784da4}.project-service-description{font-size:15px;line-height:1.8;color:#615369;max-width:560px;margin-top:10px}.project-service-features{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin-top:18px}.project-service-features li{border:1px solid #6f55872e;border-radius:30px;padding:8px 12px;font-size:10px;color:#645171;background:#ffffff6e}.project-service-more{font-size:12px;line-height:1.8;color:#766580;margin-top:22px;max-width:390px}
@media(max-width:760px){.project-marquee-track{animation-duration:65s}.project-panel-hint{display:block;font-size:10px;color:#ad99c1;margin:-9px 0 18px}.web-services .project-panel-hint{color:#7b658e}.project-service-description{font-size:14px}.project-service-features{gap:7px}.project-service-features li{font-size:9px;padding:8px 10px}.project-service-sector{margin-top:22px}}
/* Una invitación breve a tocar los ejemplos en móvil. */
.project-tap-hint{display:none}
@media(max-width:760px){
.project-selector{--hint-color:#d6b8ff;--hint-ring:#c49bff55;--hint-glow:#b88bff22}.web-services .project-selector{--hint-color:#6542ac;--hint-ring:#7854c040;--hint-glow:#7854c018}.project-tap-hint{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.5;color:var(--hint-color);margin:0 0 11px}.project-tap-hint svg{width:23px;height:26px;flex:none;transform-origin:center}.project-selector .web-tabs{padding:6px 7px;margin-left:-7px;margin-right:-7px;margin-bottom:17px}.project-selector .web-tabs button{cursor:pointer;min-height:46px}.project-selector:not(.is-explored) .web-tabs button[aria-selected="false"]{border-color:var(--hint-ring)}
.project-selector.is-visible:not(.is-explored) .project-tap-hint svg{animation:project-tap-invite 3.2s ease-in-out 2 both}.project-selector:not(.is-visible) .web-tabs button,.project-selector:not(.is-visible) .project-tap-hint svg{animation-play-state:paused}
}
@keyframes project-tap-invite{0%,12%,55%,100%{transform:translateY(0)}28%,40%{transform:translateY(3px)}}
.motion-paused .project-selector *,.motion-background .project-selector *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.project-selector .web-tabs button,.project-selector .project-tap-hint svg{animation:none!important;transform:none!important}}

/* All ten portfolio projects remain directly selectable without overflowing. */
.project-hero-controls{flex-wrap:wrap;row-gap:10px}
.project-hero-controls [role="group"]{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;width:100%}
.project-hero-controls .project-dot{min-width:0;width:100%;padding-inline:0}
@media(max-width:760px){
  .project-hero-controls [role="group"]{grid-template-columns:repeat(5,44px);gap:8px;width:auto}
}
