/* SoniqOS / identity system v3.1 — distinct brand across all routes. */
:root{--so-forest:#194b39;--so-evergreen:#153c2d;--so-leaf:#397f5b;--so-mint:#a5d6ac;--so-cream:#f6f4ed;--so-paper:#fffefa;--so-sage:#e3ede0;--so-peach:#f3b78b;--so-quiet:#687c6d;--so-outline:#d3e0d2;--so-focus:#3c8060;color-scheme:light}
html{scroll-behavior:smooth}*{box-sizing:border-box}body{accent-color:var(--so-forest)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #76ad86!important;outline-offset:3px!important}::selection{background:#b8d7b9;color:#193f2e}
.so-svg-brand,.so-emblem{display:block!important;width:43px!important;height:43px!important;min-width:43px!important;flex:none!important;object-fit:contain!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;animation:none!important}
.so-brand,.so-auth-brand,.so-app-brand,.so-admin-brand{display:inline-flex;align-items:center;gap:12px}
.so-brand .so-svg-brand,.so-auth-brand .so-svg-brand,.so-app-brand .so-svg-brand{filter:none}
.so-emblem:before,.so-emblem:after,.so-admin-emblem:before,.so-admin-emblem:after,.brand-logo:before,.brand-logo:after{display:none!important;content:none!important}
.so-admin-emblem.so-svg-brand{display:block!important;width:45px!important;height:45px!important;min-width:45px!important;background:transparent!important;box-shadow:none!important;transform:none!important;padding:0!important}
.so-apm-page img.brand-logo.so-svg-brand{display:block!important;width:43px!important;height:43px!important;min-width:43px!important;border:0!important;border-radius:0!important;padding:0!important;transform:none!important;box-shadow:none!important;background:transparent!important;animation:none!important;object-fit:contain!important}
.so-app-page .so-app-brand img,.so-admin-page .so-admin-brand img{margin:0}
.so-auth-page .so-auth-brand img,.so-policy-page .so-brand img{flex:none}
.support-team-logo.so-svg-brand{object-fit:contain;width:40px!important;height:40px!important;flex:none!important;transform:none!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
.so-footer-wordmark{font-weight:800!important;letter-spacing:-1.8px!important}
/* Home navigation: real mobile drawer instead of an injected legacy bottom bar */
.so-menu-button{display:none;width:45px;height:45px;flex:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #cddbcf;border-radius:12px;background:#fffefa;cursor:pointer}
.so-menu-button span{display:block;width:20px;height:2px;background:#194b39;border-radius:10px;transition:transform .2s ease,opacity .2s ease}
.so-menu-button[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.so-menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.so-menu-button[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.so-mobile-nav[hidden]{display:none!important}.so-mobile-nav{position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:400;background:#f6f4ed;border-top:1px solid #dbe5d8;border-bottom:1px solid #cddccf;padding:10px clamp(16px,6vw,34px) 22px;box-shadow:0 26px 40px #0d301f28;display:grid;gap:3px;max-height:calc(100dvh - 70px);overflow:auto}
.so-mobile-nav a{display:block;padding:13px 10px;border-radius:10px;font-size:14px;font-weight:700;color:#244d3b;text-decoration:none}.so-mobile-nav a:hover,.so-mobile-nav a:focus-visible{background:#e6eee4}.so-mobile-nav a:nth-last-child(2){background:#245a44;color:white;text-align:center;margin-top:6px}
@media(max-width:940px){.so-menu-button{display:flex}.so-top{position:sticky}.so-home .so-links{display:none!important}.so-home .so-actions{display:none!important}.so-home .so-nav{min-height:73px;justify-content:space-between;gap:15px}.so-home{overflow-x:clip}.so-home .so-hero-grid{min-width:0}.so-home .so-preview{max-width:100%}}
@media(max-width:540px){.so-svg-brand,.so-emblem{width:39px!important;height:39px!important;min-width:39px!important}.so-home .so-nav{padding:10px 0;min-height:68px}.so-home .so-hero{padding-top:47px}.so-home .so-preview-side{display:none}.so-home .so-preview-main{padding:15px}.so-home .so-statrow>div{padding:11px 6px}.so-home .so-pricegrid{grid-template-columns:1fr}.so-home .so-contact .so-container{align-items:flex-start}.so-home .so-footer-main{grid-template-columns:1fr 1fr}}
/* New launch animation: cream backdrop, leaf-green pulse; no fake percentage */
.so-launch{position:fixed;inset:0;z-index:50000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 38%,#eaf1e7 0%,#f6f4ed 64%);opacity:1;visibility:visible;transition:opacity .34s ease,visibility .34s ease}.so-launch.is-finished{opacity:0;visibility:hidden;pointer-events:none}.so-launch-card{display:flex;align-items:center;flex-direction:column;text-align:center;padding:28px;width:min(420px,96vw)}.so-launch-card img{width:76px;height:76px;box-shadow:0 20px 50px #21483020;border-radius:21px;animation:so-breathe 1.25s ease-in-out infinite alternate}.so-launch-title{font:800 34px/1.1 'Manrope','DM Sans',sans-serif;color:#173d2b;letter-spacing:-1.7px;margin-top:17px}.so-launch-title span{color:#397f5b}.so-launch-card p{color:#6d7b71;font-size:12px;font-weight:700;letter-spacing:.02em;margin:17px 0 0}.so-launch-bars{height:37px;display:flex;align-items:center;gap:6px;margin:24px 0 0}.so-launch-bars i{height:15px;width:5px;border-radius:10px;background:#427d5a;animation:so-wave .86s ease-in-out infinite alternate}.so-launch-bars i:nth-child(2){animation-delay:.14s}.so-launch-bars i:nth-child(3){animation-delay:.29s}.so-launch-bars i:nth-child(4){animation-delay:.44s;background:#efb68c}.so-launch-bars i:nth-child(5){animation-delay:.29s}.so-launch-bars i:nth-child(6){animation-delay:.14s}.so-launch-bars i:nth-child(7){animation-delay:.08s}@keyframes so-wave{from{height:8px;opacity:.5}to{height:31px;opacity:1}}@keyframes so-breathe{from{transform:scale(.97)}to{transform:scale(1.03)}}
/* Shared forms / toast colours to avoid leftover cobalt-blue defaults */
.so-auth-page input:focus,.so-app-page input:focus,.so-admin-page input:focus,.so-apm-page input:focus{border-color:#397f5b!important;box-shadow:0 0 0 3px #d6ebd8!important}
.so-auth-page a,.so-app-page a,.so-policy-page a{ text-underline-offset:3px }
.so-app-page .so-app-sidebar,.so-admin-page .so-admin-sidebar{background:#194332!important}
.so-app-page .so-app-navlink.is-current,.so-admin-page .so-admin-nav a.is-active{background:#e5eee2!important;color:#194b39!important}
.so-apm-page .side{background:#194332!important}
/* Language chip is always part of the SoniqOS identity */
.dv-language{border:1px solid #cbdcca!important;background:#fffefa!important;border-radius:13px!important;box-shadow:0 10px 30px #233e2822!important}.dv-language button.is-active{background:#205a40!important;color:white!important}
@media(prefers-reduced-motion:reduce){.so-launch,.so-launch-bars i,.so-launch-card img,.so-menu-button span{animation:none!important;transition:none!important}}

.so-footer-wordmark{display:flex;align-items:center;gap:12px}.so-footer-mark{display:block;object-fit:contain;width:44px;height:44px;flex:none}.so-footer-wordmark em{color:#a5d6ac;font-style:normal}
