/* Tactile objects and interface motion. Images keep their own natural colors. */
main{position:relative;isolation:isolate}.living-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.58}.living-backdrop>span{position:absolute;width:700px;height:700px;right:-420px;top:24%;border:1px solid #b6cddd;border-radius:50%;box-shadow:0 0 0 60px #b5cce50c,0 0 0 120px #c8aa680b;animation:ambientDrift 30s ease-in-out infinite alternate}.living-backdrop>span+span{left:-420px;right:auto;top:68%;animation-delay:-10s}.living-backdrop>svg{position:absolute;inset:0;width:100%;height:100%;stroke:#b89c60;stroke-width:.6;stroke-dasharray:3 15;opacity:.35;animation:ambientTrace 60s linear infinite}
.living-art{--accent:#a9c9dc;position:relative;isolation:isolate;min-width:0;width:100%;height:270px;border:1px solid #91a8bc55;border-radius:23px;overflow:hidden;background:radial-gradient(ellipse at 55% 30%,#2f526c80,transparent 67%),linear-gradient(130deg,#163653,#091b30);box-shadow:inset 0 1px #ffffff30,0 20px 30px -23px #081c3b88;pointer-events:none}
.living-grid{position:absolute;inset:0;background:linear-gradient(#c0d4ea0b 1px,transparent 1px),linear-gradient(90deg,#c0d4ea0b 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);transform:perspective(600px) rotateX(20deg) scale(1.2)}
.living-halo{position:absolute;inset:15%;border-radius:50%;background:radial-gradient(ellipse,#adcddd30,transparent 66%);filter:blur(15px);animation:ambientDrift 12s ease-in-out infinite alternate}
.living-wires{position:absolute;inset:0;width:100%;height:100%;stroke:#799cae77;stroke-width:1}.living-wires .wire-pulse{stroke:#e2c58a;stroke-width:2;stroke-dasharray:3 97;animation:signalTravel 9s linear infinite}
.living-ring{position:absolute;width:260px;height:260px;border:1px solid #c6d8e04a;border-radius:50%;left:50%;top:50%;translate:-50% -50%;transform:rotateX(55deg) rotateZ(-24deg);box-shadow:0 0 0 12px #accfe307}.ring-a:after,.ring-b:after{content:'';position:absolute;top:11%;left:11%;width:8px;height:8px;background:radial-gradient(circle at 30% 20%,#fff7d7,#b89b56 60%,#504227);border-radius:50%;box-shadow:0 0 13px #c6aa7277}.ring-a{animation:orbitTurn 24s linear infinite}.ring-b{width:320px;height:320px;transform:rotateX(58deg) rotateZ(60deg);animation:orbitTurn 35s linear infinite reverse;opacity:.65}
.living-object{position:absolute;filter:drop-shadow(12px 18px 12px #0006);animation:objectFloat 8s ease-in-out infinite;transform-style:preserve-3d}.object-main{width:100px;height:110px;top:50%;left:50%;translate:-50% -50%;z-index:3}.object-left{width:65px;height:72px;left:14%;top:28%;animation-delay:-3s;z-index:2}.object-right{width:65px;height:72px;right:13%;bottom:22%;animation-delay:-5s;z-index:4}.object-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:17px;border:1px solid #f2f4f2c0;background:linear-gradient(125deg,#fff9ee,#bac9d3 55%,#7c919f);box-shadow:inset 3px 3px 5px #fff8,5px 5px 0 #61788b,6px 6px 0 #e2e9eb55;color:#173c5a;transform:rotate(-8deg)}
.object-main .object-face{background:linear-gradient(140deg,#f9f7ec,#c9d4db 50%,#819aa9);transform:rotate(7deg)}.living-art .tech-icon{width:37px;height:37px;flex:none}.object-left .tech-icon,.object-right .tech-icon{width:27px;height:27px}.micro-bars{display:flex;gap:5px;align-items:end;height:15px}.micro-bars i{width:5px;height:10px;border-radius:2px;background:#365a73;animation:microPulse 2.5s ease-in-out infinite alternate}.micro-bars i:nth-child(2){height:15px;animation-delay:-1s;background:#b99555}.micro-bars i:nth-child(3){height:7px;animation-delay:-1.7s}.micro-bars i:nth-child(4){height:12px;animation-delay:-.5s}
.living-pin{position:absolute;width:7px;height:7px;border:1px solid #d8c08b;border-radius:50%;box-shadow:0 0 0 5px #d8c08b11;animation:pinPulse 4s ease-in-out infinite}.pin-a{top:17%;left:38%}.pin-b{right:17%;top:21%;animation-delay:-1s}.pin-c{left:22%;bottom:17%;animation-delay:-2s}.living-ruler{position:absolute;bottom:18px;left:50%;translate:-50%;display:flex;align-items:end;gap:6px;height:13px}.living-ruler i{height:5px;width:2px;background:#8aa9bb}.living-ruler i:nth-child(3n){height:12px;background:#c5aa70}
.living-diseno .object-face{background:linear-gradient(135deg,#fff5e5,#d1bba2);color:#64442c}.living-excel{--accent:#8bbba7}.living-excel .wire-pulse{stroke:#9ecaba}.living-ads .object-right .object-face{background:linear-gradient(130deg,#f9e5dc,#c0a2b4)}
.living-gateway{height:210px}.living-gateway .object-main{width:80px;height:90px}.living-gateway .object-left,.living-gateway .object-right{width:48px;height:54px}.living-gateway .tech-icon{width:29px;height:29px}.living-gateway .micro-bars{display:none}
.living-conversation,.living-handoff{height:340px;max-width:540px;justify-self:end;align-self:center}.living-pricing{height:325px;align-self:center}.living-about{height:250px;border:0;border-radius:0;box-shadow:none}.living-process{height:190px;border:0;border-radius:0;box-shadow:none}.living-process .object-main{width:74px;height:84px}.living-process .object-left,.living-process .object-right{width:53px;height:59px}.living-mode{height:240px;margin-top:25px}.living-document{height:160px;margin:30px 0;max-width:100%}.living-document .object-main{width:66px;height:75px}.living-document .object-left,.living-document .object-right{width:43px;height:49px}.living-document .tech-icon{width:27px;height:27px}.living-document .micro-bars{display:none}
.photographic-cta>.living-closing{grid-column:1!important;grid-row:1;position:relative;width:170px;height:150px;border-radius:15px}.living-closing .object-main{width:54px;height:65px}.living-closing .object-left,.living-closing .object-right{width:30px;height:36px}.living-closing .object-left{left:7%;top:23%}.living-closing .object-right{right:9%;bottom:21%}.living-closing .tech-icon{width:25px;height:25px}.living-closing .object-left .tech-icon,.living-closing .object-right .tech-icon{width:16px;height:16px}.living-closing .object-face{border-radius:9px;box-shadow:inset 1px 1px 3px #fff7,3px 3px 0 #61788b}.living-closing .micro-bars,.living-closing .living-ruler{display:none}.living-closing .living-ring{width:120px;height:120px}.living-closing .ring-b{width:165px;height:165px}
/* Whole devices remain in frame. No panorama crop on photography with screens. */
.mode-photo.full-device .editorial-image{aspect-ratio:3/2;height:auto}.mode-photo.full-device img{object-fit:contain;object-position:center}
.home-studio-photo .editorial-image{aspect-ratio:3/2}.intro-editorial .editorial-image{aspect-ratio:1.5}.intro-editorial .editorial-image>img{object-fit:contain}
.brand-diptych .editorial-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px;background:#e5ded1;aspect-ratio:1.6}.brand-diptych .editorial-image>img{min-width:0;width:100%;height:100%;object-fit:contain}
body[data-page="planes.html"] .plan-group .photographic-plan .editorial-image{aspect-ratio:3/2;background:#e5ded1}body[data-page="planes.html"] .plan-group .photographic-plan img{object-fit:contain}
.authentic-preview .editorial-image{background:#151719;aspect-ratio:1.45}.authentic-preview .editorial-image>img{object-fit:contain}
.editorial-photo,.service-reference,.system-card{position:relative}.editorial-image,.reference-image{position:relative;isolation:isolate}.editorial-image:before,.reference-image:before{content:'';position:absolute;z-index:2;inset:10px;pointer-events:none;background:linear-gradient(#e4d2a4,#e4d2a4) left top/20px 2px no-repeat,linear-gradient(#e4d2a4,#e4d2a4) left top/2px 20px no-repeat,linear-gradient(#d2e1e8,#d2e1e8) right bottom/20px 2px no-repeat,linear-gradient(#d2e1e8,#d2e1e8) right bottom/2px 20px no-repeat;opacity:.8}.editorial-image:after,.reference-image:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#fff2 48%,transparent 62%);transform:translateX(-110%);animation:photoSheen 15s ease-in-out infinite}
.service-reference,.editorial-photo{box-shadow:0 24px 45px -28px #102c5888,inset 0 1px #fff7}.service-reference:before{content:'';position:absolute;z-index:3;top:0;left:0;height:2px;width:35%;background:linear-gradient(90deg,transparent,#d8bd7e,transparent);animation:edgeTravel 10s ease-in-out infinite;pointer-events:none}
.price-card,.portfolio-piece,.service-card{transition:box-shadow .25s ease,border-color .25s ease,translate .25s ease}.price-card:hover,.portfolio-piece:hover,.service-card:hover{box-shadow:0 18px 26px -16px #102c5875;border-color:#ba9e68}
[data-living-paused] *,[data-living-paused]:before,[data-living-paused]:after,[data-living-paused] *:before,[data-living-paused] *:after{animation-play-state:paused!important}
@keyframes objectFloat{0%,100%{transform:translateY(6px)}50%{transform:translateY(-6px)}}@keyframes orbitTurn{from{rotate:0deg}to{rotate:360deg}}@keyframes signalTravel{to{stroke-dashoffset:-100}}@keyframes microPulse{to{transform:scaleY(.5);opacity:.5}}@keyframes pinPulse{50%{opacity:.3;box-shadow:0 0 0 9px #d8c08b08}}@keyframes ambientDrift{to{translate:20px -30px;scale:1.04}}@keyframes ambientTrace{to{stroke-dashoffset:-300}}@keyframes photoSheen{0%,65%{transform:translateX(-110%)}90%,100%{transform:translateX(110%)}}@keyframes edgeTravel{0%,100%{translate:-100%}70%{translate:350%}}
@media(max-width:1100px){.photographic-cta>.living-closing{width:130px;grid-row:1/3}.home-gateways .living-gateway{max-width:300px;justify-self:center}.living-pricing{height:280px}}
@media(max-width:760px){.living-art{border-radius:17px}.living-conversation,.living-handoff{height:260px;width:100%;max-width:none}.living-pricing{height:230px}.living-gateway{order:3;width:100%;height:220px;max-width:none!important}.living-mode{height:220px}.living-process{height:180px;border-radius:0}.living-about{border-radius:0;height:210px}.photographic-cta>.living-closing{grid-column:1!important;grid-row:2;width:100%;height:160px}.living-closing .object-main{width:68px;height:78px}.living-closing .object-left,.living-closing .object-right{width:44px;height:51px}.living-closing .object-left{left:19%}.living-closing .object-right{right:18%}.living-closing .tech-icon{width:29px;height:29px}.living-closing .living-ring{width:200px;height:200px}.living-document{height:145px}.living-backdrop{opacity:.3}.mode-photo.full-device{max-width:100%}}
@media(prefers-reduced-motion:reduce){.living-art *,.living-backdrop *,.editorial-image:after,.reference-image:after,.service-reference:before{animation:none!important;transition:none!important}.editorial-image:after,.reference-image:after{display:none}.price-card,.portfolio-piece,.service-card{transition:none!important}}
