/* Integration only; design.css is the designer's compiled responsive stylesheet. */
.elementor{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
.elementor .elementor-widget:not(:last-child){margin-block-end:0}
.elementor-widget-roice-hero,.elementor-widget-roice-about,.elementor-widget-roice-challenges,.elementor-widget-roice-services,.elementor-widget-roice-markets,.elementor-widget-roice-approach,.elementor-widget-roice-results,.elementor-widget-roice-contact{width:100%}
.roice-header{position:sticky;top:0;z-index:50}.admin-bar .roice-header{top:32px}
.roice-header [data-intro=drop]{animation:none}
.elementor img{border-radius:0}
.elementor a.text-text-on-accent{color:var(--text-on-accent)}
.roice-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.roice-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;color:var(--text-secondary)}
.roice-consent input{margin-top:5px;accent-color:var(--accent-3)}
.roice-consent a,.roice-document a{text-decoration:underline;text-underline-offset:3px}
.roice-form-status{min-height:24px;text-align:center;color:var(--accent-1)}
.roice-form-status[data-error]{color:var(--state-error)}
.roice-form-success{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;outline:none}
.roice-dictation-field textarea{padding-right:56px;overflow:hidden}
.roice-dictation-actions{position:absolute;right:0;top:-2px;display:flex;align-items:center;gap:12px}
.roice-dictation-listening{display:none;align-items:center;gap:10px;white-space:nowrap;color:var(--text-primary)}
.roice-dictation-field.is-listening .roice-dictation-listening{display:flex}
.roice-dictation-field .roice-dictation-button{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-page);color:var(--text-primary);cursor:pointer;transition:background var(--motion-base) var(--ease)}
.roice-dictation-field .roice-dictation-button:hover{background:var(--surface-chip)}
.roice-dictation-field .roice-dictation-button:focus-visible{outline:2px solid var(--accent-3);outline-offset:4px}
.roice-dictation-field.is-listening .roice-dictation-button{border-color:transparent;background:var(--gradient-brand);color:var(--text-on-accent);animation:rec-ring 1.4s var(--ease) infinite}
.roice-dictation-status{margin:8px 0 0;color:var(--text-secondary);font:400 13px/1.5 var(--font-inter)}
.roice-dictation-status:empty{display:none}
.roice-dictation-status[data-error]{color:var(--state-error)}
.roice-dictation-field.is-listening + .roice-dictation-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:767px){.roice-dictation-field .roice-dictation-button{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.roice-dictation-field.is-listening .roice-dictation-button,.roice-dictation-listening .rec-dot{animation:none}}
a[aria-busy=true]{cursor:progress;opacity:.7}
.roice-booking-error{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;width:max-content;max-width:calc(100% - 28px);padding:16px 48px 16px 20px;border:1px solid var(--border-strong);border-radius:14px;background:var(--bg-raised);color:var(--text-primary);font:400 14px/1.6 var(--font-inter);box-shadow:0 8px 40px #0008}
.roice-booking-error a{color:var(--accent-1);text-decoration:underline}
.roice-booking-error button{position:absolute;right:8px;top:8px;width:32px;height:32px;font-size:24px}
.roice-document{padding-top:72px;padding-bottom:100px;max-width:960px;line-height:1.8}
.roice-document h1{font:700 clamp(32px,5vw,58px)/1.2 var(--font-sora);color:var(--text-primary);margin-bottom:32px}
.roice-document h2{font:700 24px/1.4 var(--font-sora);color:var(--text-primary);margin:40px 0 16px}
.roice-document h3{font-weight:700;color:var(--text-primary);margin:24px 0 12px}
.roice-document p,.roice-document ul{margin-bottom:18px}.roice-document ul{list-style:disc;padding-left:24px}
.roice-table{overflow:auto}th,td{padding:12px;border:1px solid var(--border-default);text-align:left}
.roice-skip{position:fixed;top:-100px;left:16px;padding:12px;z-index:10000;background:var(--accent-3);color:#050508}.roice-skip:focus{top:12px}
/* Match the designer's full-screen panel; native dialog keeps focus inside it. */
#mobile-menu{position:fixed;inset:0;margin:0;padding:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;overflow:hidden;background:var(--bg-raised);color:var(--text-primary);border:0;overscroll-behavior:contain}
#mobile-menu[open]{display:flex;flex-direction:column;animation:roice-menu-enter var(--motion-slow) var(--ease) both}
#mobile-menu[open].is-closing{animation:roice-menu-exit var(--motion-slow) var(--ease) both}
#mobile-menu::backdrop{background:transparent}
.roice-menu-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;height:calc(var(--nav) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--gutter,14px) 0;border-bottom:1px solid var(--border-default)}
.roice-menu-logo{display:flex;align-items:center;min-height:44px}
.roice-menu-logo img{display:block;width:auto;height:26px}
#mobile-menu [data-close-menu]{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;background:none;border:0;color:var(--text-primary);font:700 16px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.roice-menu-content{display:flex;flex:1;min-height:0;flex-direction:column;justify-content:space-between;gap:48px;overflow-y:auto;overscroll-behavior:contain;padding:36px 14px;-webkit-overflow-scrolling:touch}
.roice-menu-links{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}
.roice-menu-links a{display:flex;height:42px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-subtle);font:400 18px/1.5 var(--font-sora);color:var(--text-secondary);transition:color var(--motion-base) var(--ease)}
.roice-menu-links svg{flex-shrink:0;color:var(--text-muted)}
.roice-menu-links a:hover,.roice-menu-social a:hover{color:var(--text-primary)}
.roice-menu-actions{display:flex;flex-direction:column;gap:14px;flex-shrink:0}
.roice-menu-cta{display:flex;align-items:center;justify-content:center;width:100%;height:48px;border-radius:999px;transition:background var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease)}
.roice-menu-cta-primary{background:var(--gradient-brand);color:var(--text-on-accent)}
.roice-menu-cta-primary:hover{background:var(--gradient-brand-hover)}
.roice-menu-cta:hover{box-shadow:var(--glow-cta)}
.roice-menu-social{display:flex;flex-shrink:0;align-items:center;gap:16px;list-style:none;margin:0;padding:22px 14px calc(22px + env(safe-area-inset-bottom,0px));background:var(--bg-page)}
.roice-menu-social a{display:flex;align-items:center;gap:8px;font:400 14px/1.65 var(--font-inter);color:var(--text-secondary)}
#mobile-menu :focus-visible{outline:2px solid var(--accent-3);outline-offset:4px}
/* Dialog autofocus must not draw a ring after a tap, including Safari. */
#mobile-menu:not([data-keyboard-navigation]) [data-close-menu]:focus{outline:none;box-shadow:none}
@keyframes roice-menu-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes roice-menu-exit{from{transform:translateX(0)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){#mobile-menu[open],#mobile-menu[open].is-closing{animation:none}}
.roice-cookie-settings{display:block;margin:0 auto 18px;padding:10px;font:12px var(--font-mono);color:var(--text-secondary)}
.elementor-editor-active [data-reveal]{opacity:1!important}.elementor-editor-active [data-rv],.elementor-editor-active [data-intro]{animation:none!important;opacity:1!important}
@media(max-width:782px){.admin-bar .roice-header{top:46px}}
@media(max-width:600px){.admin-bar .roice-header{top:0}}

.roice-cookie[hidden]{display:none}.roice-cookie{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:20px;width:min(980px,calc(100% - 32px));padding:20px 24px;background:#10121bea;border:1px solid var(--border-strong);border-radius:14px;backdrop-filter:blur(16px);font-size:13px;box-shadow:0 8px 40px #0008}
.roice-cookie p{flex:1;margin:0}.roice-cookie a{text-decoration:underline;text-underline-offset:3px}.roice-cookie button{white-space:nowrap;padding:12px 16px;border:1px solid var(--accent-3);border-radius:8px;color:var(--text-primary);background:transparent}.roice-cookie button:last-child{background:var(--gradient-brand);color:#07080c}
.roice-cookie :focus-visible,.roice-cookie-settings:focus-visible{outline:2px solid var(--accent-3);outline-offset:3px}
@media(max-width:600px){.roice-cookie{bottom:max(12px,env(safe-area-inset-bottom));padding:16px;gap:12px;flex-wrap:wrap}.roice-cookie p{flex-basis:100%}.roice-cookie button{flex:1;padding:10px;font-size:12px}}
