@charset "UTF-8";
:root{font-family:Arial,Helvetica,sans-serif;color:#243d36;background:#e9ece7;font-synthesis:none;--ink:#203a32;--muted:#6d7b73;--gold:#b2a07a}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c4ab72;outline-offset:6px}[hidden]{display:none!important}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{font-size:10px;letter-spacing:.26em;font-weight:700}
#exterior{position:fixed;inset:0;overflow:hidden;background:#16251e;color:white}#scene{position:absolute;left:50%;top:50%;width:max(100vw,177.6833vh);height:max(100vh,56.2811vw);margin-left:min(-50vw,-88.84165vh);margin-top:min(-50vh,-28.14055vw);transform:translate(var(--px,0px),var(--py,0px)) scale(1.035);transform-origin:50.4% 63%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);will-change:transform}#landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}#exterior:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#07150fd4,transparent 57%),linear-gradient(0deg,#07150fa6,transparent 20%,transparent 85%,#07150f60)}.exterior-header{position:absolute;z-index:3;left:4%;right:4%;top:30px;display:flex;justify-content:space-between;align-items:center}.wordmark{text-decoration:none;font-weight:800;letter-spacing:.05em;font-size:32px}.wordmark span{display:block;font-size:8px;letter-spacing:.24em;margin-top:6px}.glass-button{background:#15251b40;border:1px solid #ffffff55;border-radius:30px;color:#fff;padding:10px 17px;font-size:11px;backdrop-filter:blur(12px)}.welcome{position:absolute;z-index:2;left:6%;top:34%;max-width:410px;transition:opacity .35s,transform .5s}.welcome h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(42px,5.4vw,78px);line-height:1.05;letter-spacing:-.055em;margin:20px 0}.welcome>p:not(.eyebrow){font-size:13px;color:#e1e9df;line-height:1.7;max-width:270px}.enter-button{margin-top:20px;padding:15px 21px;border:1px solid #ffffff60;border-radius:3px;background:#f2f3e9;color:#233a2b;display:flex;gap:40px;align-items:center;font-size:12px;font-weight:700}.enter-button span{font-size:20px}.exterior-bottom{position:absolute;z-index:2;left:4%;right:4%;bottom:26px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.19em;opacity:.8}.entrance-frame{position:absolute;left:48.8%;top:61.64%;width:2.9%;height:3.72%;background:linear-gradient(#d8dfd4,#869c90);perspective:250px;border:1px solid #203d33;display:flex;z-index:1;box-shadow:0 0 0 1px #273a30}.entrance-leaf{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(120deg,#657c6aab,#d2dcc699 50%,#344c42c9);border:1px solid #394e42;transition:transform 1s ease-in-out;backface-visibility:hidden}.entrance-leaf:after{content:"";position:absolute;width:1px;height:28%;top:45%;background:#eee7ce}.entrance-leaf.left{left:0;transform-origin:left}.entrance-leaf.right{right:0;transform-origin:right}.entrance-leaf.left:after{right:12%}.entrance-leaf.right:after{left:12%}#entrance{position:absolute;left:47.1%;top:59%;width:6.3%;height:8%;background:transparent;border:0;z-index:3;color:white}.entrance-label{position:absolute;top:115%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#172f22e0;border:1px solid #d6e3c78c;border-radius:30px;padding:12px 17px;box-shadow:0 5px 30px #0005;font-size:10px;letter-spacing:.13em;animation:invite 3s ease-in-out infinite}.entrance-label>span{margin-left:12px}.entrance-label:before{content:"";position:absolute;bottom:100%;height:26px;width:1px;left:50%;background:#e7eac7}#entrance:hover .entrance-label{background:#36533b}#exterior.approaching #scene{transform:scale(5.5)}#exterior.approaching .welcome,#exterior.approaching .exterior-header,#exterior.approaching .exterior-bottom,#exterior.approaching .entrance-label{opacity:0;pointer-events:none}#exterior.doors-open .entrance-leaf.left{transform:rotateY(-105deg)}#exterior.doors-open .entrance-leaf.right{transform:rotateY(105deg)}@keyframes invite{50%{box-shadow:0 0 0 6px #dae9ce15,0 5px 30px #0005}}
#lobby{min-height:100vh;background:#eef0e9}.lobby-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 5%;border-bottom:1px solid #233a3215;background:#f8f9f3}.back-button{border:0;background:none;font-size:11px;padding:10px 0;color:#64726b}.lobby-brand{font-size:28px;letter-spacing:.02em;font-weight:800;text-align:center}.lobby-brand span{display:block;font-size:7px;letter-spacing:.23em;margin-top:5px}.floor-indicator{font-size:9px;letter-spacing:.15em;display:flex;align-items:center;gap:12px}.floor-indicator i{width:6px;height:6px;border-radius:50%;background:#799b69;box-shadow:0 0 0 4px #799b691a}.lobby-intro{text-align:center;padding:47px 20px 24px}.lobby-intro .eyebrow{color:#82907c}.lobby-intro h1{font-family:Georgia,serif;font-size:clamp(28px,3.8vw,48px);letter-spacing:-.045em;font-weight:400;margin:14px 0}.lobby-intro>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.6}.search-label{display:flex;align-items:center;margin:24px auto 8px;gap:10px;max-width:290px;border-bottom:1px solid #b6beb2;padding:8px 0;color:#83917b}.search-label span{font-size:23px}.search-label input{width:100%;border:0;background:transparent;color:var(--ink);outline-offset:3px;font-size:12px;padding:6px}.offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1320px;margin:auto;padding:0 4% 35px;column-gap:0;row-gap:18px}.office{position:relative;min-width:0;text-align:center;padding:40px 26px 46px;background:linear-gradient(90deg,#00000007,transparent 12%,#ffffff80 48%,transparent 88%,#00000006),linear-gradient(#f1f2ed,#e0e5dc);border-right:1px solid #d5dbd0;border-top:12px solid #d9ded4;overflow:hidden}.office:before{content:"";position:absolute;left:50%;top:5px;width:65%;height:3px;transform:translateX(-50%);background:#fffcdf;box-shadow:0 3px 14px 4px #fff5d7}.office:after{content:"";position:absolute;bottom:0;left:0;right:0;height:49px;background:repeating-linear-gradient(90deg,transparent 0,transparent 70px,#b5bfb34d 71px,transparent 72px),linear-gradient(#c9d0c3,#e6e8de);border-top:8px solid #7c8c79;pointer-events:none}.office-number{position:absolute;top:19px;left:23px;font-size:9px;letter-spacing:.2em;color:#8b9784}.office-plaque{position:relative;z-index:1;background:linear-gradient(110deg,#233b32,#395144);color:#f0efe1;border:1px solid #a9af92;box-shadow:0 4px 10px #203a3215;padding:13px 5px 12px;margin:0 auto 17px;max-width:260px;min-height:65px;display:flex;flex-direction:column;justify-content:center}.office-plaque h2{font-size:14px;font-weight:500;margin:0 0 6px}.office-plaque p{margin:0;font-size:7px;color:#bfc9b1;letter-spacing:.18em}.doorway{position:relative;width:100%;max-width:244px;height:245px;display:block;margin:auto;padding:0;border:9px solid #36443a;border-bottom:5px solid #37483c;border-radius:1px;background:linear-gradient(0deg,#455d4c,#9ea892 33%,#e4e5d8 33%,#e8e8db 93%,#c5cfb8 93%);box-shadow:0 0 0 3px #aab2a0,8px 0 15px #182f2420;perspective:800px;text-decoration:none;color:#f7f4e6;overflow:visible;isolation:isolate}.office-room{position:absolute;inset:0;overflow:hidden;background:linear-gradient(120deg,#cbd3c0,#f4f2e6 70%)}.office-room:before{content:"";position:absolute;top:27%;left:20%;right:20%;height:32%;border:8px solid #7e8c7b;background:linear-gradient(130deg,#bfd4c9,#e5f0ea);box-shadow:0 62px 0 -15px #4a5f4c}.office-room:after{content:"";position:absolute;left:7%;right:7%;bottom:18%;height:12px;background:#927c53;box-shadow:4px 18px 0 -4px #3e4d3c,-4px 18px 0 -4px #3e4d3c}.door-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:2;border:3px solid #3b5044;background:linear-gradient(120deg,#f1f7e52b 0%,#e8f4e536 18%,transparent 19%,transparent 48%,#f4f6dd17 49%,#ecf0df22 55%,transparent 56%),linear-gradient(0deg,#24463be8,#496d59d9);transition:transform 1.05s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;transform-style:preserve-3d}.door-leaf:before{content:"";position:absolute;left:0;right:0;top:65%;height:2px;background:#94a89555;box-shadow:0 -95px 0 #a3b1a050}.door-leaf:after{content:"";position:absolute;top:48%;width:5px;height:37px;background:linear-gradient(90deg,#958365,#f4e6c5,#a9956f);border-radius:2px;box-shadow:2px 1px 4px #0006}.door-leaf.left{left:0;transform-origin:left center}.door-leaf.right{right:0;transform-origin:right center}.door-leaf.left:after{right:12px}.door-leaf.right:after{left:12px}.door-letter{position:absolute;top:22%;left:0;right:0;font-family:Georgia,serif;font-size:24px;opacity:.7;letter-spacing:.1em}.door-caption{position:absolute;bottom:15%;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.18em;color:#edf1dc9c}.doorway:hover .door-leaf{filter:brightness(1.16)}.office.opening .door-leaf.left{transform:rotateY(-106deg)}.office.opening .door-leaf.right{transform:rotateY(106deg)}.office-hint{position:relative;font-size:8px;letter-spacing:.2em;color:#7c8a71;margin:16px 0 0}.office.opening .office-hint{color:#283e2f}.plant{position:absolute;width:30px;height:42px;bottom:47px;right:11px;background:linear-gradient(90deg,#bbb9a3,#e1dfcb,#a9ac93);clip-path:polygon(10% 0,90% 0,78% 100%,22% 100%);z-index:2}.plant-leaves{position:absolute;right:7px;bottom:83px;width:39px;height:63px;border-radius:50%;background:radial-gradient(ellipse at 30% 35%,#66865b,transparent 50%),radial-gradient(ellipse at 70% 60%,#4f7247,transparent 57%),radial-gradient(ellipse at 48% 15%,#789463,transparent 55%);z-index:2}.lobby-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 5%;border-top:1px solid #d6dccf;font-size:11px;color:#7d8978}.lobby-footer strong{font-size:25px;color:#344a3d}.lobby-footer small{font-size:9px;line-height:2}.lobby-footer>span:last-child{font-size:9px;letter-spacing:.12em}#empty{text-align:center;padding:60px 20px}
#transition{position:fixed;inset:0;background:#eef0e9;z-index:100;opacity:0;pointer-events:none;display:grid;place-items:center;transition:opacity .35s}#transition.visible{opacity:1;pointer-events:all}.transition-brand{font-size:40px;letter-spacing:.1em;font-weight:bold;text-align:center}.transition-brand span{display:block;font-size:10px;font-weight:400;letter-spacing:.12em;margin-top:16px}#appView{position:fixed;inset:0;z-index:20;background:#fff;display:flex;flex-direction:column}.app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#203b31;color:#f0f4e9;min-height:54px;font-size:12px}.app-toolbar button{border:1px solid #ffffff45;background:#ffffff0a;color:white;border-radius:4px;padding:8px 12px;font-size:11px}.app-toolbar a{font-size:10px}.app-help{margin:0;padding:5px 15px;background:#eff2ea;color:#6f7969;font-size:10px;text-align:center}#appFrame{border:0;width:100%;flex:1;min-height:0}.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;color:white;background:#222;z-index:200}.motion-paused *{animation:none!important}
@media(min-width:1500px){.doorway{height:275px}}@media(max-width:1000px){.welcome{max-width:280px;left:5%}.welcome h1{font-size:52px}.office{padding-left:18px;padding-right:18px}.doorway{height:224px}.plant,.plant-leaves{display:none}.office-plaque h2{font-size:12px}.office-plaque p{font-size:6px}}@media(max-width:700px){.exterior-header{top:22px;left:6%;right:6%}.wordmark{font-size:27px}.glass-button{font-size:9px;padding:9px 11px}.welcome{top:18%;left:7%;max-width:85%;pointer-events:none}.welcome h1{font-size:43px;margin:12px 0}.welcome .eyebrow{font-size:8px}.welcome>p:not(.eyebrow){max-width:260px;font-size:11px}.enter-button{pointer-events:auto;margin-top:14px;padding:12px 17px;gap:25px}.exterior-bottom{font-size:7px;left:7%;right:7%}.exterior-bottom span:last-child{display:none}#exterior:after{background:linear-gradient(180deg,#0b1d14ba,transparent 58%,#0b1d1470)}.entrance-label{font-size:9px;padding:11px 14px}.lobby-header{padding:18px 5%;gap:8px}.lobby-brand{font-size:24px}.lobby-brand span{font-size:5px}.back-button{font-size:10px}.floor-indicator{font-size:7px;gap:6px}.lobby-intro{padding-top:30px}.offices{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 3% 25px;row-gap:12px}.office{padding:34px 14px 43px;border-top-width:9px}.office-plaque{padding:10px 4px;min-height:62px;margin-bottom:14px}.office-plaque h2{font-size:12px;line-height:1.25}.office-plaque p{font-size:6px;letter-spacing:.09em}.doorway{height:210px;border-width:6px}.office-number{font-size:8px;left:14px;top:14px}.office-hint{font-size:6px;letter-spacing:.12em}.lobby-footer{gap:12px;font-size:9px}.lobby-footer>span:last-child{display:none}.app-toolbar{flex-wrap:wrap;padding:9px}.app-toolbar strong{font-size:10px}.app-toolbar a{margin-left:auto}.door-letter{font-size:21px}}@media(max-width:380px){.offices{grid-template-columns:1fr;padding:0 10% 20px}.doorway{height:250px}.welcome h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}#scene{transition:none}.entrance-leaf,.door-leaf{transition-duration:.15s}#transition{transition-duration:.1s}}

/* Aplicación sin controles del portal: ocupa toda la pantalla. */
#appView:not([hidden]) { position:fixed; inset:0; z-index:100; width:100vw; height:100dvh; margin:0; padding:0; background:#fff; }
#appFrame { display:block; width:100%; height:100%; border:0; margin:0; padding:0; }
/* Ajustes de pantallas táctiles y teléfonos */
html{width:100%;overflow-x:hidden}body{width:100%;min-width:0;overflow-x:hidden}#exterior{height:100vh;height:100dvh}#lobby{min-height:100dvh}#appView{height:100dvh}#scene,#landscape{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}#scene{touch-action:pan-y}#entrance{touch-action:manipulation}
@media(max-width:700px){
.exterior-header{top:max(15px,env(safe-area-inset-top));left:5%;right:5%}.welcome{top:clamp(95px,17dvh,180px);left:6%;right:6%;max-width:88%}.welcome h1{font-size:clamp(32px,9vw,48px)}.welcome>p:not(.eyebrow){font-size:12px}.enter-button{min-height:48px}.exterior-bottom{bottom:max(15px,env(safe-area-inset-bottom))}.entrance-label{font-size:8px;padding:10px 12px}.lobby-header{padding:14px 4%;flex-wrap:wrap}.lobby-intro{padding:26px 16px 18px}.lobby-intro h1{font-size:clamp(26px,7vw,36px)}.offices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px 25px}.office{padding:30px 8px 40px}.office-plaque{min-height:70px}.doorway{height:clamp(155px,39vw,230px)}.doorway,.enter-button,.back-button{touch-action:manipulation}.lobby-footer{padding:20px 4%}#appFrame{height:100%;min-height:0}
}
@media(max-width:480px){.offices{grid-template-columns:1fr;max-width:350px;margin:0 auto;padding:0 14px 30px}.office{padding:36px 24px 45px}.office-plaque h2{font-size:14px}.office-plaque p{font-size:8px}.doorway{height:245px}.floor-indicator{display:none}.lobby-brand{font-size:22px}.lobby-header{flex-wrap:nowrap}.back-button{max-width:45%;text-align:left;line-height:1.4}.welcome{top:18dvh}.welcome h1{font-size:clamp(34px,9.4vw,44px)}.entrance-label{font-size:8px}}
@media(max-width:380px){.offices{padding:0 14px 25px}.welcome{top:16dvh}.welcome h1{font-size:34px}.exterior-bottom{letter-spacing:.08em}}
@media(orientation:landscape) and (max-height:500px){.welcome{top:19%;max-width:45%}.welcome h1{font-size:clamp(26px,5vw,42px);margin:8px 0}.welcome>p:not(.eyebrow){display:none}.enter-button{margin-top:10px;padding:9px 14px;min-height:40px}.exterior-bottom{bottom:10px}.exterior-header{top:10px}.lobby-intro{padding:20px 12px}}

/* Logo original de cada aplicación, colocado sobre la hoja izquierda de su puerta. */
.door-app-logo{position:absolute;top:23%;left:50%;transform:translateX(-50%);width:clamp(38px,5vw,58px);height:clamp(38px,5vw,58px);display:flex;align-items:center;justify-content:center;background:#f8f9f0;border:2px solid #d9d2b3;border-radius:13px;box-shadow:0 4px 13px #0005;overflow:hidden;pointer-events:none}
.door-app-logo img{width:78%;height:78%;object-fit:contain}
.door-app-logo .door-fallback{font-size:29px;line-height:1}
@media(max-width:480px){.door-app-logo{width:57px;height:57px}}

/* Íconos individuales del catálogo original */
.door-original-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:clamp(30px,4vw,52px);line-height:1;user-select:none;pointer-events:none}

/* Marca R.A.G. en la hoja derecha de cada puerta */
.door-leaf.right .door-letter{font-size:clamp(13px,1.8vw,21px);font-family:Georgia,serif;font-weight:700;letter-spacing:.015em;opacity:1;white-space:nowrap;text-shadow:0 2px 4px #14271c}

/* Crédito de desarrollo al pie de ambas pantallas */
.exterior-bottom{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.exterior-bottom span:last-child{display:inline!important;text-align:right;letter-spacing:.06em}
.lobby-footer{flex-wrap:wrap}
.lobby-footer .developer-credit{display:block!important;flex-basis:100%;text-align:center;font-size:10px;letter-spacing:.08em;color:#526357;padding-top:14px;border-top:1px solid #d6dccf}
@media(max-width:700px){.exterior-bottom{justify-content:center;text-align:center;gap:5px}.exterior-bottom span{width:100%}.exterior-bottom span:last-child{text-align:center;font-size:8px}.lobby-footer .developer-credit{font-size:9px;line-height:1.5}}

/* Ajuste de distribución en pantallas de escritorio */
@media (min-width: 701px) {
 .welcome {left:clamp(34px,5.5vw,110px);top:50%;transform:translateY(-39%);max-width:min(570px,45vw);width:45vw;}
 .welcome h1 {font-size:clamp(38px,4.15vw,66px);line-height:1.08;letter-spacing:-.045em;margin:16px 0 18px;max-width:100%;text-wrap:balance;}
 .welcome>p:not(.eyebrow){max-width:460px;font-size:clamp(12px,1vw,15px);margin:0;}
 .enter-button{margin-top:22px;}
 .exterior-header{top:clamp(20px,4vh,44px);}
 .exterior-bottom{bottom:clamp(15px,3vh,34px);font-size:10px;letter-spacing:.09em;}
}
@media (min-width:701px) and (max-height:650px){
 .welcome{top:49%;transform:translateY(-30%)}
 .welcome h1{font-size:clamp(35px,3.8vw,54px);margin:10px 0}
 .enter-button{margin-top:12px;padding:11px 17px}
}
