:root{color-scheme:light;--ink:#343434;--muted:#878787;--row:92px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none;padding:0;cursor:pointer}button:focus-visible,a:focus-visible,.home:focus-visible{outline:2px solid #555;outline-offset:6px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.header{position:absolute;z-index:3;inset:max(32px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) auto max(28px,env(safe-area-inset-left));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.header a{pointer-events:auto}.brand{font-size:20px;letter-spacing:-.6px;line-height:1.1}.brand span{display:block;font-size:10px;letter-spacing:.035em;color:var(--muted);margin-top:9px}.position{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px}.screen{min-height:100svh}.home{height:100dvh;min-height:450px;position:relative;overflow:hidden;touch-action:none;user-select:none;outline:none}.eyebrow{font-weight:400;font-size:11px;letter-spacing:.02em;color:var(--muted);margin:0}.home-intro{position:absolute;left:28px;top:17%;z-index:1}.wheel{position:absolute;inset:0;pointer-events:none}.wheel-label{position:absolute;top:50%;left:28px;right:76px;height:var(--row);margin-top:calc(var(--row) / -2);display:flex;align-items:center;font-size:clamp(32px,9.9vw,49px);font-weight:400;letter-spacing:-1.9px;will-change:transform,opacity;white-space:nowrap}.icon-button{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex:none}.enter,.back{position:absolute;right:max(20px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:2}.home-footer{position:absolute;left:28px;right:24px;bottom:max(26px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:20px}.home-footer p{font-size:11px;color:var(--muted);margin:0}.step-controls{display:flex;gap:2px}.step-controls .icon-button{width:44px;height:44px;color:#686868}.detail{position:relative;padding:0 74px 50px 28px}.detail-content{max-width:760px;margin:auto;padding-top:164px}.detail h1{font-size:clamp(35px,10vw,60px);font-weight:400;letter-spacing:-1.9px;line-height:1.08;margin:21px 0}.detail h1:focus{outline:none}.description{white-space:pre-line;color:#777;line-height:1.7;font-size:13px;margin:0;min-height:45px}.rooms{display:flex;gap:24px;overflow-x:auto;padding:10px 0 18px;margin-top:40px;scrollbar-width:none;touch-action:pan-x}.rooms::-webkit-scrollbar{display:none}.room{flex:none;min-height:44px;display:flex;align-items:center;font-size:12px;color:#929292}.room[aria-current=page]{color:var(--ink)}.room[aria-current=page]::before{content:'·';margin-right:7px}.collection{margin-top:15px}.image-space{aspect-ratio:4 / 3;background:#f8f8f8;width:100%;max-height:360px}.collection h2{font-size:15px;font-weight:400;letter-spacing:-.2px;margin:24px 0 10px}.empty-copy{font-size:12px;color:var(--muted);line-height:1.6;margin:0;max-width:220px}.back{position:fixed}.design-line{margin-bottom:40px}.design-line img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.design-line p{font-size:13px;color:#777;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(min-width:700px){:root{--row:112px}.header{left:64px;right:64px;top:48px}.home-intro{left:calc(50% - 240px);top:17%}.wheel-label{left:calc(50% - 240px);right:auto;width:480px;font-size:66px;letter-spacing:-2.8px}.enter{right:calc(50% - 300px)}.home-footer{left:64px;right:64px;bottom:40px}.detail{padding-left:64px;padding-right:120px}.detail-content{padding-top:178px}.detail h1{margin-top:25px}.description{font-size:15px}.rooms{margin-top:48px;gap:40px}.room{font-size:13px}.back{right:44px}.collection{max-width:640px}.image-space{max-height:330px}.empty-copy{max-width:none}}@media(max-height:660px){.home-intro{top:17%}.wheel-label{font-size:clamp(30px,9.9vw,49px)}:root{--row:76px}.detail-content{padding-top:130px}.rooms{margin-top:25px}.detail h1{margin:16px 0}.home-footer{bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Header and controls shared with Soluciones mecánicas. */
.header{display:block;min-height:58px;inset:max(28px,env(safe-area-inset-top)) 0 auto;pointer-events:none}
.brand{position:relative;width:max-content;max-width:calc(100% - 120px);margin:0 auto;text-align:center;pointer-events:auto}
.brand h1{font-size:24px;font-weight:400;letter-spacing:-.7px;line-height:1.1;margin:0}
.brand p{font-size:11px;letter-spacing:0;color:var(--muted);line-height:1.4;margin:10px 0 0}
#language-button{position:absolute;top:-7px;right:23px;pointer-events:auto;width:44px;height:44px;padding:6px;border-radius:50%;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:25px;line-height:1}
.home-footer{bottom:calc(max(20px,env(safe-area-inset-bottom)) + 58px)}
.detail{padding-bottom:130px}
@media(min-width:700px){.header{top:48px;left:0;right:0}.brand h1{font-size:26px}#language-button{right:42px}.home-footer{bottom:34px;right:122px}}
@media(max-height:600px){.home-footer{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 70px)}}
.contact-float{position:fixed;right:22px;bottom:calc(26px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:var(--ink);color:white;z-index:7;display:grid;place-items:center}.contact-float svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.sheet{position:relative;margin:auto auto 0;width:100%;max-width:500px;border:0;border-radius:22px 22px 0 0;background:white;color:var(--ink);padding:45px 28px calc(30px + env(safe-area-inset-bottom));max-height:90svh;overflow:auto;overscroll-behavior:contain}.sheet::backdrop{background:#35373770;backdrop-filter:blur(3px)}.close{position:absolute;top:12px;right:14px;font-size:29px;font-weight:300}.sheet h2{font-size:28px;letter-spacing:-1px;font-weight:400;line-height:1.2;margin:12px 36px 30px 0}.sheet ul{list-style:none;padding:0;margin:0 0 30px}.sheet li{font-size:15px;padding:12px 0;line-height:1.5}.solid-button{background:var(--ink);color:white;width:100%;min-height:50px;padding:15px 18px;text-align:left;font-size:13px;border-radius:4px}.sheet label{display:block;font-size:12px;margin:20px 0 10px}.sheet input,.sheet select,.sheet textarea{width:100%;border:0;background:#f4f4f4;border-radius:4px;padding:14px 12px;font-size:13px;line-height:1.5}.sheet textarea{resize:vertical;min-height:110px}.note{font-size:11px;color:var(--muted);line-height:1.6;margin:15px 0 24px}.status{font-size:12px;min-height:18px;margin-bottom:0;line-height:1.5}body.modal-open{overflow:hidden}.contact-tools{position:fixed;right:22px;bottom:calc(26px + env(safe-area-inset-bottom));z-index:7;display:flex;flex-direction:column;align-items:center;gap:12px}
.contact-tools .contact-float{position:relative;right:auto;bottom:auto}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:12px;animation:contact-reveal 160ms ease-out}
.contact-option{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:white;border:0;padding:11px;text-decoration:none;cursor:pointer}
.contact-option svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.contact-option[aria-disabled=true]{opacity:.4;cursor:default}
.contact-tools.is-open .contact-float{background:white;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
@keyframes contact-reveal{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:700px){.contact-tools{right:42px;bottom:34px}}
@media(prefers-reduced-motion:reduce){.contact-actions{animation:none}}

.sheet input{font-size:16px;min-height:48px}
.contact-tools,.sheet{--ink:#353737}
.sheet input:focus-visible,.sheet select:focus-visible,.sheet textarea:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(min-width:700px){.sheet{margin:auto;border-radius:18px}}

/* Two adjacent faces share one cube, including during a touch drag. */
html,body{height:100%;overflow:hidden}
.header{position:fixed}
#cube-stage{position:fixed;inset:0;perspective:1400px;perspective-origin:50% 50%;overflow:hidden}
#cube-scene{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--cube-depth,50vw))) rotateY(0deg)}
#cube-scene[data-motion=dragging],#cube-scene[data-motion=settling]{will-change:transform}
#cube-scene .cube-face{position:absolute;inset:0;height:100%;min-height:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff}
#home{transform:translateZ(var(--cube-depth,50vw));touch-action:none}
#detail{transform:rotateY(90deg) translateZ(var(--cube-depth,50vw));padding-top:0;padding-bottom:0;overflow:hidden;touch-action:pan-y pinch-zoom}
#detail .detail-content{height:100%;padding-bottom:130px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
#detail .detail-content::-webkit-scrollbar{display:none}
#detail .back{position:absolute}
@media(prefers-reduced-motion:reduce){#cube-scene{will-change:auto!important}}

/* Rest on a flat face so controls and native scrolling use normal hit testing. */
#cube-scene.is-resting{transform:none!important;transform-style:flat}
#cube-scene.is-resting .cube-face{transform:none!important}

/* Centered style galleries; vertical drags move images, horizontal drags return. */
#detail{padding:0;touch-action:none;user-select:none;-webkit-user-select:none;--gallery-width:min(560px,calc(100vw - 116px))}
#detail .detail-content{position:relative;height:100%;max-width:none;padding:0;margin:0;overflow:hidden}
#style-title{position:absolute;top:clamp(124px,18dvh,180px);left:24px;right:24px;text-align:center;font-size:clamp(30px,8vw,42px);font-weight:400;letter-spacing:-1.3px;line-height:1.15;margin:0;min-height:1.15em}
.image-carousel{position:absolute;inset:25% 0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;mask-image:linear-gradient(to bottom,transparent,#0005 13%,#000 32%,#000 68%,#0005 87%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#0005 13%,#000 32%,#000 68%,#0005 87%,transparent)}
.gallery-track{position:absolute;inset:0;pointer-events:none}
.gallery-slide{position:absolute;top:50%;left:50%;width:var(--gallery-width);aspect-ratio:8/5;background:#f6f6f6;transform:translate(-50%,-50%);will-change:transform,opacity;overflow:hidden}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.image-carousel:focus-visible{outline:1px solid #737575;outline-offset:-8px}
@media(max-height:600px){#style-title{top:110px;font-size:28px}.image-carousel{top:25%;bottom:25%}#detail{--gallery-width:min(400px,calc(100vw - 130px))}}
@media(prefers-reduced-motion:reduce){.gallery-slide{will-change:auto}}

/* A quarter turn about the vertical axis, with light revealing the adjoining faces. */
#cube-stage{perspective:max(720px,140vw);z-index:0}
#cube-scene{transform-origin:50% 50%;-webkit-transform-style:preserve-3d}
#cube-scene .cube-face{transform-origin:50% 50%}
#cube-scene .cube-face::after{content:"";position:absolute;inset:0;z-index:5;background:#353737;opacity:var(--face-shade,0);pointer-events:none}
#cube-scene.is-resting .cube-face::after{opacity:0}
@media(prefers-reduced-motion:reduce){#cube-scene .cube-face::after{display:none}}

/* The shared header remains outside the rotating faces. */
body > .header{position:fixed;z-index:3}
#enter,#enter:focus,#enter:focus-visible{border:0;background:transparent;box-shadow:none;outline:none}
#enter:focus-visible svg{stroke-width:2.4;color:#000}
