.offcanvas-overlay{position:fixed;inset:0;background-color:rgba(15,23,42,.7);z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.offcanvas-overlay.is-open{opacity:1;pointer-events:auto}.offcanvas-panel{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);height:100vh;background-color:var(--color-white);z-index:999;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.16, 1, .3, 1);overflow-y:auto;-webkit-overflow-scrolling:touch}.offcanvas-panel.is-open{transform:translateX(0)}.offcanvas-panel__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background-color:#fafafa}.offcanvas-panel__brand .custom-logo{width:130px;height:auto}.offcanvas-panel__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-dark);padding:0;transition:color .2s ease,transform .2s ease}.offcanvas-panel__close:focus-visible,.offcanvas-panel__close:hover{color:var(--color-accent);transform:rotate(90deg)}.offcanvas-panel__body{display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.offcanvas-menu{display:flex;flex-direction:column;margin-bottom:2rem}.offcanvas-menu li{border-bottom:1px solid var(--color-border)}.offcanvas-menu a{display:block;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.05em;color:var(--color-dark);padding-block:0.875rem;text-transform:uppercase;transition:color .2s ease,padding-left .2s ease}.offcanvas-menu .current-menu-item>a,.offcanvas-menu a:hover{color:var(--color-accent);padding-left:.5rem}.offcanvas-panel__cta{margin-top:auto;margin-bottom:1.5rem}.offcanvas-cta-btn{width:100%}.offcanvas-panel__footer{padding-top:1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:1rem}.offcanvas-phone__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-dark);font-weight:600;font-size:.9375rem}.offcanvas-phone__link:hover{color:var(--color-accent)}.offcanvas-phone__link svg{color:var(--color-accent)}.offcanvas-lang{display:flex;align-items:center}body.offcanvas-is-open{overflow:hidden}