html{scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent2);outline-offset:5px}a{touch-action:manipulation}.beat{transition:opacity .55s ease,visibility .55s}.beat:not(.is-on){visibility:hidden;opacity:0}.stage .plate{object-position:center}.media-control{position:absolute;z-index:4;right:4vw;bottom:100px;border:1px solid #ffffff80;border-radius:50%;background:#f4f7f9c7;color:var(--text);width:38px;height:38px;cursor:pointer;display:grid;place-items:center;font-size:18px}.form-note{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 0;max-width:54ch}.form-fallback{font-size:12px;color:var(--accent);margin:0}.form-fallback a{text-decoration:underline}.contact-float{position:fixed;z-index:65;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:13px 18px;color:#fff;background:#071c2b;border:1px solid #0a3754;border-radius:18px;box-shadow:0 8px 24px #061a3030;cursor:pointer;font-size:14px}.contact-float i{font-size:25px;color:#1589ca}dialog{color:var(--text);background:var(--bg);border:1px solid #09131b20;border-radius:16px;box-shadow:0 20px 80px #00152650}dialog::backdrop{background:#001320aa;backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:10px;right:12px;z-index:2;border:0;background:#f4f7f9ed;color:var(--text);border-radius:50%;width:35px;height:35px;font-size:26px;line-height:1;cursor:pointer}.contact-dialog{padding:42px 30px 30px;max-width:430px;width:calc(100vw - 32px)}.contact-dialog h2{font-size:30px;line-height:1.12;letter-spacing:-.03em;margin:15px 0 26px}.contact-dialog .btn{width:100%;justify-content:center;margin-top:10px}.contact-dialog .btn-ghost{color:var(--accent)}.project-dialog{padding:10px;max-width:1000px;width:calc(100vw - 30px)}.project-dialog>img{display:block;width:100%;height:min(70vh,680px);object-fit:contain;background:#e2e8ec;border-radius:8px}.project-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 4px}.project-dialog-footer p{text-align:center;font-size:15px;font-weight:600}.project-dialog-footer button{border:1px solid #09131b30;background:var(--surface);border-radius:50%;width:38px;height:38px;font-size:22px;cursor:pointer;flex-shrink:0}.mobile-menu{position:fixed;z-index:48;top:78px;left:0;right:0;padding:20px;background:#f4f7f9f7;backdrop-filter:blur(14px);box-shadow:0 15px 25px #061a3020;color:var(--text)}.mobile-menu[hidden]{display:none}.mobile-menu nav{display:grid;gap:4px}.mobile-menu .lnk{font-size:18px;padding:10px 0;color:var(--text);text-decoration:none}.mobile-menu .mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.mobile-menu .lang-switch{display:flex}.mobile-menu .lang-btn{padding:9px 12px}#quote-form,#contact-form{position:relative}#cotizar,#contacto{scroll-margin-top:100px}.nav [aria-label=Menu]{color:inherit;background:none;border:0}#proyectos article{outline-offset:5px}#proyectos article img{transition:transform .5s}#proyectos article:hover img{transform:scale(1.04)}@media(max-width:767px){.nav .brand-wordmark{display:flex}.nav{padding:16px 20px}.brand-nav .brand-name{font-size:clamp(11px,3.5vw,15px)}.brand-nav .brand-logo{width:70px;height:42px}.contact-float{right:14px;bottom:14px;padding:11px 14px;font-size:12px;gap:7px}.contact-float i{font-size:22px}.media-control{right:20px;bottom:88px}.panel[data-side=bottom]{padding-bottom:12vh}.brand-footer .brand-name{white-space:normal}.project-dialog>img{height:min(62vh,650px)}.manifesto{align-items:center;padding-top:70px;padding-bottom:70px}.stage .plate,.stage video{object-position:60% center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.beat,.card,.panel-copy{transition:none!important}.beat,.panel-copy,.panel-accent,[data-parallax]{transform:none!important}.manifesto .w{--lit:1!important}.media-control{display:none}}

/* Progressive enhancement: keep copy readable before scripts finish. */
.service-area{padding:64px 6vw;background:var(--bg);border-top:1px solid #09131b20}.service-area-inner{max-width:1000px;margin:0 auto}.service-area h2{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.03em;margin:12px 0 22px}.service-area p:not(.stamp){font-size:17px;line-height:1.7;max-width:80ch;color:var(--muted);margin:14px 0}.service-area .btn{margin-top:12px}.service-area p,.service-area h2{overflow-wrap:anywhere}
[data-reveal]{opacity:1;transform:none}.motion-ready [data-reveal]{opacity:0;transform:translateY(28px)}.motion-ready [data-reveal].is-in{opacity:1;transform:none}
@media(max-width:1099px){.nav>nav,.nav>div.hidden{display:none}.nav>button{display:flex}.nav .brand-wordmark{display:flex}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none}}
