@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--river:#714b67;--river-2:#017e84;--river-soft:#f4eef3;--foam:#e2cbdc;--ochre:#017e84;--ochre-soft:#e0f2f2;--ink:#374151;--ink-strong:#111827;--muted:#6b7280;--paper:#fff;--soft:#f7f7f9;--card:#fff;--line:#e5e7eb;--line-strong:#d1d5db;--serif:"Inter Variable", "Segoe UI", system-ui, sans-serif;--sans:"Inter Variable", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--max:74rem;--gutter:clamp(1rem, 3.5vw, 2rem);--radius:12px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%}a{color:var(--river);text-underline-offset:.18em}a:hover{color:var(--river-2)}:focus-visible{outline:2px solid var(--ochre);outline-offset:3px}h1,h2,h3{color:var(--ink-strong);margin:0 0 .6em}h1,h2{font-family:var(--serif);letter-spacing:-.032em;font-weight:800;line-height:1.08}h1{font-size:clamp(2.3rem,5.2vw,3.9rem)}h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}h3{letter-spacing:-.01em;font-size:1.12rem;font-weight:640;line-height:1.3}p{margin:0 0 1em}.skip{background:var(--ink-strong);color:#fff;z-index:50;padding:.5rem .8rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.6rem}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{padding-top:clamp(3.5rem,8vw,6.5rem);padding-bottom:clamp(3.5rem,8vw,6.5rem)}.kicker{font-family:var(--serif);letter-spacing:.02em;color:var(--river);background:var(--river-soft);border-radius:999px;margin-bottom:1.1rem;padding:.3rem .75rem;font-size:.82rem;font-weight:700;display:inline-block}.lead{color:var(--ink);max-width:40rem;font-size:clamp(1.1rem,1.6vw,1.25rem)}.section-head{max-width:46rem;margin-bottom:2.5rem}.section-lead{color:var(--muted);font-size:1.1rem}.muted,.note{color:var(--muted)}.note{border-left:3px solid var(--ochre);margin-top:1.5rem;padding-left:.9rem;font-size:.98rem}.btn{background:var(--river);color:#fff;border:1px solid var(--river);font-weight:600;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.35rem;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.btn:hover{background:var(--ink-strong);color:#fff;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:wait}.btn-ghost:hover{background:var(--card);color:var(--ink-strong)}.btn-small{padding:.55rem 1rem;font-size:.95rem}.link-arrow{margin-top:.5rem;font-weight:600;text-decoration:none;display:inline-block}.link-arrow:hover{text-decoration:underline}.site-header{z-index:20;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f6f4eee6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:4.25rem;display:flex}.brand{color:var(--ink-strong);font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.22rem;text-decoration:none;display:inline-flex}.brand b{font-weight:640}.brand-light{color:#fff}.logo-mark{flex:none}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:.6rem;display:none}.menu-toggle span{background:var(--ink-strong);border-radius:2px;width:22px;height:2px;display:block}.main-nav{align-items:center;gap:1.4rem;display:flex}.main-nav a:not(.btn){color:var(--ink);font-size:.96rem;font-weight:500;text-decoration:none}.main-nav a:not(.btn):hover,.main-nav a[aria-current]{color:var(--river)}.main-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--ochre);text-decoration-thickness:2px}@media (width<=960px){.menu-toggle{display:flex}.main-nav{background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1.2rem;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:4.25rem;left:0;right:0}.main-nav.open{display:flex}.main-nav a:not(.btn){border-bottom:1px solid var(--line);padding:.8rem 0;font-size:1.05rem}.main-nav .btn{margin-top:1rem}}.hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 60% at 70% 30%,#9fd3d659,#0000 70%);height:70%;position:absolute;inset:auto -10% -40%}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(3rem,7vw,5.5rem);display:grid;position:relative}.hero h1{max-width:15ch}.hero-actions{flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.2rem;display:flex}.hero-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;font-size:.8rem}.flow{flex-direction:column;justify-self:end;align-items:stretch;width:100%;max-width:25rem;display:flex}.flow-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:0 1px #0f1d240a,0 14px 32px -18px #0f1d2447}.flow-label{font-family:var(--mono);color:var(--muted);align-items:center;gap:.45rem;margin:0 0 .55rem;font-size:.72rem;display:flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-wa{background:#25d366}.dot-ai{background:var(--ochre)}.dot-odoo{background:#714b67}.bubble{color:var(--ink-strong);background:#e7f8ee;border-radius:4px 12px 12px;margin:0;padding:.65rem .8rem;font-size:.95rem}.flow-river{height:2.6rem;color:var(--river-2);opacity:.7;align-self:center}.agent{border-style:dashed;border-color:var(--ochre);background:#fffaf0}.checks{margin:0;padding:0;font-size:.9rem;list-style:none}.checks li{margin:.2rem 0;padding-left:1.3rem;position:relative}.checks li:before{content:"✓";color:var(--ochre);font-weight:700;position:absolute;left:0}.order table{border-collapse:collapse;width:100%;font-size:.9rem}.order td{border-bottom:1px solid var(--line);padding:.38rem 0}.order td:last-child{text-align:right;font-family:var(--mono);color:var(--muted);white-space:nowrap;padding-left:.8rem;font-size:.82rem}.order-foot{color:var(--muted);align-items:center;gap:.5rem;margin:.7rem 0 0;font-size:.85rem;display:flex}.pill{background:var(--ochre-soft);color:#7a5108;font-family:var(--mono);border-radius:999px;padding:.15rem .55rem;font-size:.72rem}.facts{background:var(--card);border-bottom:1px solid var(--line)}.facts-grid{grid-template-columns:repeat(4,1fr);display:grid}.facts-grid div{border-left:1px solid var(--line);flex-direction:column;gap:.2rem;padding:1.5rem 1.25rem;display:flex}.facts-grid div:first-child{border-left:0;padding-left:0}.facts-grid b{font-family:var(--serif);color:var(--river);letter-spacing:-.01em;font-size:1.6rem;font-weight:560}.facts-grid span{color:var(--muted);font-size:.9rem;line-height:1.4}.service-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem;display:grid}.service-grid-3{grid-template-columns:repeat(3,1fr)}.service-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;padding:1.6rem 1.6rem 1.3rem;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.service-card:hover{border-color:var(--river-2);color:var(--ink);transform:translateY(-2px);box-shadow:0 18px 36px -24px #0e4a5a73}.service-card .num{font-family:var(--mono);color:var(--ochre);margin-bottom:1.4rem;font-size:.8rem}.service-card h3{font-family:var(--serif);font-size:1.45rem;font-weight:560}.service-card p{color:var(--muted);flex:1}.service-card .more{color:var(--river);font-size:.95rem;font-weight:600}.band{background:var(--river-soft);border-top:1px solid #c8dfdf;border-bottom:1px solid #c8dfdf}.band-dark{background:var(--river);color:#d9e9ea;border:0}.band-dark h2,.band-dark b{color:#fff}.band-dark .kicker{color:var(--foam)}.split{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.steps{counter-reset:s;gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;background:var(--card);border-radius:var(--radius);border:1px solid #c8dfdf;flex-direction:column;padding:1.1rem 1.2rem 1.1rem 3.6rem;display:flex;position:relative}.steps li:before{content:counter(s);background:var(--river);color:#fff;width:1.8rem;height:1.8rem;font-family:var(--mono);border-radius:50%;place-items:center;font-size:.85rem;display:grid;position:absolute;top:1rem;left:1.1rem}.steps b{color:var(--ink-strong)}.steps span{color:var(--muted);font-size:.97rem}.compare{grid-template-columns:1fr 1.25fr;gap:1.1rem;display:grid}.compare-col{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}.ticks{margin:0;padding:0;list-style:none}.ticks li{border-bottom:1px solid var(--line);padding:.45rem 0 .45rem 1.7rem;position:relative}.ticks li:last-child{border-bottom:0}.ticks li:before{content:"";border-left:2px solid var(--river-2);border-bottom:2px solid var(--river-2);width:.9rem;height:.5rem;position:absolute;top:.95rem;left:0;transform:rotate(-45deg)}.ticks-lg li{padding-top:.8rem;padding-bottom:.8rem;font-size:1.08rem}.ticks-lg li:before{top:1.3rem}.gaps{margin:0;padding:0;list-style:none}.gaps li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;padding:.55rem 0;display:grid}.gaps li:last-child{border-bottom:0}.gaps li span:first-child{color:var(--muted);text-decoration:line-through #5f6d7473}.gaps li:after{content:none}.gaps li span:last-child{color:var(--ink-strong);grid-column:3;font-weight:600}.gaps li span:first-child:after{content:"→";text-decoration:none;display:none}.gaps li{position:relative}.gaps li:before{content:"→";color:var(--ochre);grid-area:1/2;font-weight:700}.gaps li span:first-child{grid-area:1/1}.gaps li span:last-child{grid-row:1}.module-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.module-grid li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);flex-direction:column;gap:.25rem;padding:1.2rem 1.25rem;display:flex}.module-grid b{color:var(--ink-strong);font-weight:640}.module-grid span{color:var(--muted);font-size:.94rem;line-height:1.45}.process{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}.process li{border-top:2px solid var(--foam);padding-top:1.1rem}.process .num{font-family:var(--mono);color:var(--ochre);margin-bottom:.6rem;font-size:.9rem;display:block}.process b{margin-bottom:.4rem;font-size:1.15rem;display:block}.process p{margin:0;font-size:.97rem}.about-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem}.faq h2,.faq-list{max-width:52rem}.faq-list details{border-bottom:1px solid var(--line-strong)}.faq-list summary{cursor:pointer;color:var(--ink-strong);padding:1.15rem 2.5rem 1.15rem 0;font-size:1.08rem;font-weight:600;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--river-2);font-size:1.5rem;font-weight:400;transition:transform .2s;position:absolute;top:.95rem;right:.3rem}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{color:var(--muted);max-width:46rem;margin:0 0 1.2rem}.contact{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.contact-direct{margin:1.6rem 0 0;padding:0;list-style:none}.contact-direct li{border-top:1px solid var(--line);flex-direction:column;padding:.7rem 0;display:flex}.contact-direct span{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:1rem;padding:clamp(1.2rem,3vw,2rem);display:grid;box-shadow:0 24px 48px -32px #0f1d2459}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form label{color:var(--ink-strong);flex-direction:column;gap:.35rem;font-size:.93rem;font-weight:600;display:flex}.form small{color:var(--muted);font-weight:400}.form input,.form textarea{font:inherit;color:var(--ink-strong);background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;width:100%;padding:.75rem .85rem;font-weight:400}.form textarea{resize:vertical;min-height:8.5rem}.form input:focus,.form textarea:focus{outline:2px solid var(--river-2);outline-offset:0;background:#fff}.form .btn{justify-self:start}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.status{min-height:1.4em;margin:0;font-size:.95rem}.status[data-state=ok]{color:#1d6b43;font-weight:600}.status[data-state=error]{color:#a23a1a;font-weight:600}.page-hero{border-bottom:1px solid var(--line);background:linear-gradient(#dcecec8c,#0000);padding:clamp(2.5rem,6vw,4.5rem) 0}.page-hero h1{max-width:20ch}.page-hero-short{border:0;padding-bottom:1rem}.crumbs{color:var(--muted);margin-bottom:1.4rem;font-size:.88rem}.crumbs a{color:var(--muted)}.include-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.include{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}.include h3{color:var(--river)}.include p{color:var(--muted);margin:0;font-size:.98rem}.prose{max-width:44rem}.prose h2{margin-top:2rem;font-size:1.5rem}.site-footer{background:var(--ink-strong);color:#b7c4c9;padding:3.5rem 0 1.5rem;font-size:.94rem}.site-footer a{color:#e6eef0;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:2rem;display:grid}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li{margin:.35rem 0}.footer-h{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--foam);font-size:.74rem}.footer-note{max-width:18rem;margin-top:1rem}.footer-legal{line-height:1.6}.footer-bottom{color:#8597a0;border-top:1px solid #ffffff1f;margin-top:2.5rem;padding-top:1.2rem;font-size:.82rem}@media (width<=960px){.hero-grid,.split,.contact,.compare{grid-template-columns:1fr}.flow{justify-self:start;max-width:28rem}.facts-grid{grid-template-columns:repeat(2,1fr)}.facts-grid div:nth-child(3){border-left:0;padding-left:0}.facts-grid div:nth-child(n+3){border-top:1px solid var(--line)}.service-grid-3,.include-grid,.module-grid,.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){body{font-size:1rem}.service-grid,.service-grid-3,.include-grid,.module-grid,.process,.form-row,.footer-grid{grid-template-columns:1fr}.facts-grid div{padding:1.1rem .9rem}.facts-grid div:nth-child(odd){padding-left:0}.facts-grid b{font-size:1.3rem}.hero-actions .btn{width:100%}.gaps li{grid-template-columns:1fr;gap:.1rem}.gaps li:before{display:none}.gaps li span:last-child{grid-area:auto/1}.gaps li span:last-child:before{content:"→ ";color:var(--ochre)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.hl{background:linear-gradient(#0000 62%,#b9e3e5 62% 92%,#0000 92%);padding:0 .08em}.hero{background:#fff}.hero:before{display:none}.hero-meta{font-family:var(--sans);font-size:.9rem}.btn{border-radius:8px}.btn:hover{background:#5b3b53;border-color:#5b3b53}.btn-ghost{color:var(--ink-strong);border-color:var(--line-strong);background:#fff}.btn-ghost:hover{background:var(--soft);color:var(--ink-strong);border-color:var(--line-strong)}.site-header{background:#fffffff0}.brand{font-family:var(--serif);letter-spacing:-.02em;font-weight:600}.brand b{color:var(--river);font-weight:800}.brand-light b{color:#fff}.facts{background:var(--soft);border-top:1px solid var(--line)}.facts-grid b{font-family:var(--serif);color:var(--river);font-weight:800}.service-card{background:#fff}.service-card .num{font-family:var(--serif);color:var(--river-2);font-size:1rem;font-weight:800}.service-card h3{font-family:var(--serif);letter-spacing:-.015em;font-size:1.3rem;font-weight:700}.service-card:hover{border-color:var(--river);box-shadow:0 16px 32px -22px #714b6780}.band{background:var(--river-soft);border-color:#e9dde6}.steps li{border-color:#e9dde6}.band-dark{background:var(--river);color:#efe4ec}.band-dark .kicker{color:#fff;background:#ffffff24}.process li{border-top-color:#ffffff59}.process .num{font-family:var(--serif);color:#fff;background:var(--river-2);border-radius:50%;place-items:center;width:2rem;height:2rem;font-weight:800;display:grid}.compare-col,.include,.about-card,.module-grid li{background:#fff}#community,#modules{position:relative}.include h3{color:var(--river);font-family:var(--serif);font-weight:700}.module-grid{border-radius:var(--radius);overflow:hidden}.note{border-left-color:var(--river-2)}.contact-direct span,.footer-h{font-family:var(--serif);letter-spacing:.04em;font-weight:700}.page-hero{background:var(--river-soft);border-bottom:0}.site-footer{background:#1f1720}.footer-h{color:#e2cbdc}.form input,.form textarea{background:#fff}.form{box-shadow:0 20px 40px -30px #11182759}.status[data-state=ok]{color:#017e84}.odoo-demo{justify-self:end;width:100%;max-width:34rem;padding:2.2rem 0 0;position:relative}.o-window{border:1px solid var(--line);font-family:var(--sans);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px -30px #11182759,0 2px 6px #1118270f}.o-nav{color:#fff;background:#714b67;align-items:center;gap:1rem;padding:.55rem .9rem;font-size:.82rem;display:flex}.o-nav .grid{opacity:.9;background:radial-gradient(circle,#fff 1.3px,#0000 1.6px) 0 0/5px 5px;width:14px;height:14px}.o-nav b{font-weight:700}.o-nav span{opacity:.85}.o-control{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.o-crumb{color:var(--muted);font-size:.82rem}.o-crumb b{color:var(--ink-strong);font-size:.95rem}.o-btns{gap:.4rem;display:flex}.o-btn{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:4px;padding:.32rem .6rem;font-size:.75rem;font-weight:600}.o-btn.primary{color:#fff;background:#714b67;border-color:#714b67}.o-status{font-size:.68rem;font-weight:600;display:flex}.o-status span{color:var(--muted);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%,7px 50%);background:#f3f4f6;margin-left:-4px;padding:.28rem .55rem .28rem .75rem}.o-status span:first-child{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,0 100%);margin-left:0}.o-status span.on{color:#fff;background:#017e84}.o-sheet{padding:.9rem}.o-fields{grid-template-columns:1fr 1fr;gap:.45rem 1.2rem;margin-bottom:.8rem;font-size:.8rem;display:grid}.o-fields div{flex-direction:column;display:flex}.o-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.o-fields span{color:var(--ink-strong);border-bottom:1px solid var(--line);padding:.15rem 0;font-weight:600}.o-lines{border-collapse:collapse;width:100%;font-size:.8rem}.o-lines th{text-align:left;color:var(--muted);border-bottom:2px solid var(--line);padding:.35rem .3rem;font-size:.7rem;font-weight:600}.o-lines td{border-bottom:1px solid var(--line);padding:.42rem .3rem}.o-lines td.n,.o-lines th.n{text-align:right;white-space:nowrap}.o-total{text-align:right;color:var(--muted);margin-top:.55rem;font-size:.85rem}.o-total b{color:var(--ink-strong);margin-left:.4rem;font-size:1rem}.o-chatter{border-top:1px solid var(--line);color:var(--muted);background:#fafafa;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.75rem;display:flex}.o-chatter .ai{color:#015e63;background:#e0f2f2;border-radius:4px;padding:.1rem .45rem;font-weight:700}.wa-bubble{border:1px solid var(--line);z-index:2;background:#fff;border-radius:12px;max-width:16.5rem;padding:.65rem .75rem;font-size:.82rem;position:absolute;top:-1.6rem;left:-2.2rem;box-shadow:0 18px 36px -18px #11182766}.wa-bubble p{margin:0}.wa-bubble .who{color:#128c4a;align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.7rem;font-weight:700;display:flex}.wa-bubble .who:before{content:"";background:#25d366;border-radius:50%;width:8px;height:8px}.wa-bubble .txt{color:#111;background:#dcf8c6;border-radius:2px 10px 10px;padding:.45rem .6rem}.o-window{margin-top:4.4rem}@media (width<=960px){.odoo-demo{justify-self:start;max-width:100%}.wa-bubble{left:0}}@media (width<=620px){.o-fields{grid-template-columns:1fr}.o-lines .hide-sm,.o-btns .o-btn:not(.primary){display:none}}.devices{background:var(--soft);border:1px solid var(--line);border-radius:16px;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(2rem,5vw,4rem);padding:clamp(1.4rem,4vw,3rem);display:grid}.devices .ticks{margin:1rem 0 1.5rem}.devices-card{color:#e5e7eb;background:#1f1720;border-radius:12px;padding:1.2rem;font-size:.9rem;box-shadow:0 24px 48px -28px #11182799}.dc-title{color:#fff;margin-bottom:.8rem;font-weight:700}.devices-card ul{margin:0;padding:0;list-style:none}.devices-card li{border-bottom:1px solid #ffffff14;align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.devices-card em{font-style:normal;font-family:var(--mono);color:#9ca3af;margin-left:auto;font-size:.78rem}.dc-dot{background:#6b7280;border-radius:50%;flex:none;width:8px;height:8px}.dc-dot.on{background:#3fc1c6}.dc-foot{color:#9ca3af;margin:.8rem 0 0;font-size:.78rem}.gaps a{color:var(--river)}@media (width<=960px){.devices{grid-template-columns:1fr}}.guide-list{gap:1rem;display:grid}.guide-card{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:1.4rem 1.5rem;text-decoration:none;display:block}.guide-card:hover{border-color:var(--river);color:var(--ink)}.guide-card h3{letter-spacing:-.02em;margin-bottom:.3rem;font-size:1.25rem;font-weight:800}.guide-card p{color:var(--muted);margin:0}.article{max-width:46rem}.article h1{font-size:clamp(2rem,4.2vw,3rem)}.article h2{margin-top:2.2rem;font-size:1.55rem}.article li{margin:.35rem 0}.article table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.95rem}.article th,.article td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .6rem}.article th{background:var(--soft)}.article code{font-family:var(--mono);background:var(--soft);border-radius:4px;padding:.1em .35em;font-size:.88em}.article .byline{color:var(--muted);font-size:.92rem}.article-cta{background:var(--river-soft);border-radius:var(--radius);margin-top:2.5rem;padding:1.5rem}
