:root {
  --paper: #fbfaf7; --surface: #fff; --surface-warm: #f4f0e8; --surface-green: #e9f2ee;
  --ink: #15211d; --muted: #66716c; --soft: #8c9590; --line: #dedfd9; --line-strong: #c9ccc5;
  --brand: #0b695e; --brand-dark: #074f47; --brand-soft: #dcece7; --red: #e53c2e;
  --shadow: 0 18px 60px rgba(24,43,36,.08); --sans: "DM Sans",sans-serif;
  --display: "DM Serif Display",Georgia,serif; --label: "Manrope",var(--sans);
}
[data-theme="dark"] { --paper:#101411; --surface:#161c18; --surface-warm:#1e211c; --surface-green:#17251f; --ink:#f3f2ec; --muted:#b0b8b2; --soft:#858f88; --line:#303a33; --line-strong:#465049; --brand:#59c3ae; --brand-dark:#80dbc9; --brand-soft:#173a32; --red:#ff6b5e; --shadow:0 24px 70px rgba(0,0,0,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.65; -webkit-font-smoothing:antialiased; }
body.docs-nav-open { overflow:hidden; }
a { color:inherit; }
button,input { font:inherit; }

.docs-topbar { position:sticky; top:0; z-index:30; min-height:76px; display:grid; grid-template-columns:auto auto minmax(240px,520px) auto; align-items:center; gap:clamp(18px,2.4vw,38px); padding:0 clamp(22px,4vw,64px); border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--paper) 93%,transparent); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; gap:13px; text-decoration:none; flex-shrink:0; }
.brand-logo { width:154px; height:32px; object-fit:contain; object-position:left center; }
.docs-pill { padding-left:13px; border-left:1px solid var(--line-strong); color:var(--muted); font:700 11px/1 var(--label); letter-spacing:.08em; text-transform:uppercase; }
.docs-global-nav { display:flex; align-items:center; gap:22px; }
.docs-global-nav a,.site-link { color:var(--muted); font-size:13px; font-weight:600; text-decoration:none; }
.docs-global-nav a:hover,.site-link:hover { color:var(--brand); }
.top-search { height:42px; min-width:0; display:flex; align-items:center; gap:9px; padding:0 11px; border:1px solid var(--line); border-radius:10px; background:var(--surface); transition:.2s ease; }
.top-search:focus-within { border-color:var(--brand); box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent); }
.top-search svg { width:17px; height:17px; flex:0 0 auto; fill:none; stroke:var(--soft); stroke-width:2; }
.top-search input { min-width:0; width:100%; border:0; outline:0; color:var(--ink); background:transparent; font-size:13px; }
.top-search input::placeholder { color:var(--soft); }
.top-search kbd { min-width:23px; height:23px; display:grid; place-items:center; border:1px solid var(--line); border-radius:5px; color:var(--soft); background:var(--paper); font:600 11px/1 var(--sans); }
.top-actions { display:flex; align-items:center; gap:15px; white-space:nowrap; }
.btn { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:10px 17px; border:1px solid transparent; border-radius:9px; font-size:13px; font-weight:700; text-decoration:none; transition:.2s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--brand); color:#fff; }
.btn-primary:hover { background:var(--brand-dark); }
.btn-secondary { border-color:var(--line-strong); background:transparent; color:var(--ink); }
.btn-secondary:hover { border-color:var(--brand); color:var(--brand); }
.btn-sm { min-height:38px; padding:8px 14px; }
.menu-btn { display:none; width:42px; height:38px; border:1px solid var(--line); border-radius:9px; background:var(--surface); cursor:pointer; padding:10px; }
.menu-btn span { display:block; height:1.5px; margin:3px 0; background:var(--ink); }
.menu-btn b { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.theme-toggle { width:38px; height:38px; display:grid; place-items:center; padding:0; border:0; border-radius:9px; background:transparent; color:var(--muted); cursor:pointer; }
.theme-toggle:hover { background:var(--surface-warm); color:var(--ink); }
.theme-toggle svg { grid-area:1/1; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; transition:.2s ease; }
.theme-toggle .theme-sun { opacity:0; transform:rotate(-30deg) scale(.75); }
[data-theme="dark"] .theme-toggle .theme-moon { opacity:0; transform:rotate(30deg) scale(.75); }
[data-theme="dark"] .theme-toggle .theme-sun { opacity:1; transform:none; }
.mobile-search-btn { display:none; width:42px; height:38px; place-items:center; padding:0; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--ink); cursor:pointer; }
.mobile-search-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }

.docs-shell { width:100%; display:grid; grid-template-columns:250px minmax(0,850px) 190px; justify-content:center; gap:clamp(28px,4vw,72px); padding:44px clamp(24px,4vw,64px) 100px; }
.sidebar { position:sticky; top:110px; align-self:start; max-height:calc(100vh - 136px); overflow:auto; padding-right:18px; scrollbar-width:thin; }
.sidebar-label,.toc>p { margin:0 0 18px; color:var(--soft); font:700 10px/1.2 var(--label); letter-spacing:.13em; text-transform:uppercase; }
.nav-group { margin:0 0 24px; }
.nav-title { margin:0 0 8px; color:var(--ink); font:700 12px/1.3 var(--label); }
.nav-link { position:relative; display:block; margin:2px 0; padding:7px 10px 7px 13px; border-radius:7px; color:var(--muted); font-size:13px; line-height:1.35; text-decoration:none; transition:.16s ease; }
.nav-link:hover { color:var(--ink); background:var(--surface-warm); }
.nav-link.active { color:var(--brand); background:var(--brand-soft); font-weight:700; }
.nav-link.active::before { content:""; position:absolute; left:0; top:10px; bottom:10px; width:2px; border-radius:2px; background:var(--brand); }
.sidebar-help { margin-top:30px; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.sidebar-help span { display:block; color:var(--muted); font-size:11px; }
.sidebar-help a { display:flex; justify-content:space-between; margin-top:4px; color:var(--brand); font-size:12px; font-weight:700; text-decoration:none; }
.content { min-width:0; }
.toc { position:sticky; top:110px; align-self:start; }
.toc::before { content:""; position:absolute; left:-17px; top:0; bottom:0; width:1px; background:var(--line); }
#pageToc a { display:block; padding:5px 0; color:var(--muted); font-size:12px; line-height:1.45; text-decoration:none; }
#pageToc a:hover { color:var(--brand); }

.page-head { position:relative; padding:12px 0 34px; border-bottom:1px solid var(--line); }
.breadcrumbs { display:flex; align-items:center; gap:8px; margin-bottom:22px; color:var(--soft); font:700 10px/1 var(--label); letter-spacing:.11em; text-transform:uppercase; }
.breadcrumbs span:last-child { color:var(--brand); }
.page-head h1 { max-width:760px; margin:0; font:400 clamp(42px,6vw,67px)/.98 var(--display); letter-spacing:-.035em; }
.page-head>p { max-width:700px; margin:22px 0 0; color:var(--muted); font-size:clamp(17px,2vw,20px); line-height:1.6; }
.page-head-meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:22px; color:var(--soft); font-size:11px; }
.page-head-meta span { display:inline-flex; align-items:center; gap:7px; }
.page-head-meta span::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--brand); }

.docs-hero { position:relative; overflow:hidden; margin:-44px calc(-1 * clamp(24px,4vw,64px)) 48px; padding:clamp(64px,8vw,104px) clamp(24px,6vw,88px) 74px; border-bottom:1px solid var(--line); background:var(--surface-green); }
.docs-hero::after { content:""; position:absolute; width:420px; height:420px; right:-170px; top:-230px; border:1px solid color-mix(in srgb,var(--brand) 25%,transparent); border-radius:50%; box-shadow:0 0 0 55px color-mix(in srgb,var(--brand) 5%,transparent),0 0 0 110px color-mix(in srgb,var(--brand) 4%,transparent); }
.docs-hero-kicker { position:relative; z-index:1; display:inline-flex; align-items:center; gap:9px; color:var(--brand); font:700 11px/1 var(--label); letter-spacing:.12em; text-transform:uppercase; }
.docs-hero-kicker::before { content:""; width:24px; height:1px; background:currentColor; }
.docs-hero h1 { position:relative; z-index:1; max-width:800px; margin:22px 0 20px; font:400 clamp(50px,7vw,82px)/.94 var(--display); letter-spacing:-.04em; }
.docs-hero>p { position:relative; z-index:1; max-width:670px; margin:0; color:var(--muted); font-size:clamp(17px,2vw,21px); }
.docs-hero-search { position:relative; z-index:1; max-width:620px; height:58px; display:flex; align-items:center; gap:13px; margin-top:34px; padding:0 18px; border:1px solid var(--line-strong); border-radius:11px; background:var(--surface); box-shadow:var(--shadow); cursor:text; }
.docs-hero-search svg { width:20px; fill:none; stroke:var(--brand); stroke-width:2; }
.docs-hero-search span { color:var(--soft); font-size:14px; }
.docs-hero-search kbd { margin-left:auto; padding:4px 7px; border:1px solid var(--line); border-radius:5px; background:var(--paper); color:var(--soft); font-size:11px; }
.overview-title { margin:44px 0 18px; font:400 31px/1.15 var(--display); }
.journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.journey-card { min-height:178px; display:flex; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); text-decoration:none; transition:.2s ease; }
.journey-card:hover { border-color:var(--brand); transform:translateY(-2px); box-shadow:var(--shadow); }
.journey-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:24px; border-radius:9px; background:var(--brand-soft); color:var(--brand); font:700 12px/1 var(--label); }
.journey-card strong { font:700 16px/1.3 var(--label); }
.journey-card span { margin-top:7px; color:var(--muted); font-size:13px; }
.journey-card em { margin-top:auto; padding-top:14px; color:var(--brand); font-size:12px; font-style:normal; font-weight:700; }

.article>section { padding:40px 0; border-bottom:1px solid var(--line); }
.article>section:last-child { border-bottom:0; }
.article h3 { max-width:700px; margin:0 0 18px; font:400 30px/1.15 var(--display); letter-spacing:-.015em; }
.article p { max-width:750px; margin:0 0 15px; color:var(--muted); font-size:15px; }
.article ul,.article ol { max-width:750px; margin:18px 0 0; padding-left:21px; color:var(--muted); font-size:15px; }
.article li { margin:9px 0; padding-left:5px; }
.article li::marker { color:var(--brand); }
.product-shot { margin:34px 0 8px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.product-shot img { display:block; width:100%; height:auto; }
.product-shot figcaption { padding:13px 16px; border-top:1px solid var(--line); color:var(--soft); font-size:11px; }
.doc-grid,.quick-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }
.doc-card { min-height:132px; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.doc-card strong { display:block; color:var(--ink); font:700 14px/1.35 var(--label); }
.doc-card p { margin:8px 0 0; font-size:13px; line-height:1.55; }
.quick-link { min-height:145px; display:flex; flex-direction:column; padding:21px; border:1px solid var(--line); border-radius:10px; background:var(--surface); text-decoration:none; transition:.2s ease; }
.quick-link:hover { border-color:var(--brand); transform:translateY(-2px); }
.quick-link strong { color:var(--brand); font:700 14px/1.3 var(--label); }
.quick-link span { margin-top:8px; color:var(--muted); font-size:13px; }
.capability-table { width:100%; margin-top:22px; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:13px; }
.capability-table th,.capability-table td { padding:14px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.capability-table th { color:var(--ink); background:var(--surface-warm); font:700 11px/1.3 var(--label); letter-spacing:.06em; text-transform:uppercase; }
.capability-table td { color:var(--muted); }
.capability-table td:first-child { width:28%; color:var(--ink); font-weight:700; }
.capability-table tr:last-child td { border-bottom:0; }
.note,.callout { margin-top:22px; padding:18px 20px 18px 48px; border-radius:10px; color:var(--muted); font-size:13px; position:relative; }
.note { border:1px solid var(--line); background:var(--surface-warm); }
.callout { border:1px solid color-mix(in srgb,var(--brand) 28%,var(--line)); background:var(--brand-soft); color:var(--ink); }
.note::before,.callout::before { position:absolute; left:18px; top:17px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; font:800 11px/1 var(--sans); }
.note::before { content:"i"; border:1px solid var(--line-strong); }
.callout::before { content:"\2713"; background:var(--brand); color:#fff; }
.faq-list { margin-top:20px; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { position:relative; padding:18px 42px 18px 0; cursor:pointer; list-style:none; color:var(--ink); font-size:14px; font-weight:700; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; position:absolute; right:4px; top:16px; color:var(--brand); font-size:20px; font-weight:400; }
.faq-item[open] summary::after { content:"\2212"; }
.faq-item p { padding:0 42px 18px 0; font-size:13px; }

.search-results { position:fixed; z-index:40; top:68px; left:50%; width:min(620px,calc(100vw - 32px)); max-height:min(520px,calc(100vh - 100px)); overflow:auto; transform:translateX(-22%); padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.result-link { display:block; padding:13px 14px; border-radius:8px; text-decoration:none; }
.result-link:hover { background:var(--surface-warm); }
.result-link strong { display:block; font-size:13px; }
.result-link span { display:block; margin-top:3px; color:var(--muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-results>p { margin:4px; padding:18px; color:var(--muted); font-size:13px; }
.doc-pager { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:30px; padding-top:28px; border-top:1px solid var(--line); }
.pager-link { min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:16px 18px; border:1px solid var(--line); border-radius:10px; background:var(--surface); text-decoration:none; transition:.2s ease; }
.pager-link:hover { border-color:var(--brand); transform:translateY(-2px); }
.pager-link:last-child { text-align:right; }
.pager-link small { color:var(--soft); font:700 9px/1 var(--label); letter-spacing:.1em; text-transform:uppercase; }
.pager-link strong { margin-top:7px; color:var(--brand); font-size:13px; }

.docs-footer-cta { width:min(1120px,calc(100% - 48px)); margin:0 auto 72px; padding:clamp(38px,6vw,70px); border-radius:16px; background:var(--ink); color:var(--paper); text-align:center; }
.docs-footer-cta>span { color:color-mix(in srgb,var(--paper) 70%,transparent); font:700 10px/1 var(--label); letter-spacing:.12em; text-transform:uppercase; }
.docs-footer-cta h2 { max-width:750px; margin:18px auto 28px; font:400 clamp(32px,5vw,54px)/1.03 var(--display); }
.docs-footer-cta div { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.docs-footer-cta .btn-secondary { border-color:color-mix(in srgb,var(--paper) 35%,transparent); color:var(--paper); }
.docs-footer { padding:58px clamp(24px,5vw,72px) 28px; border-top:1px solid var(--line); background:var(--surface); }
.footer-inner { width:min(1200px,100%); display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; margin:0 auto; }
.footer-brand img { width:170px; }
.footer-brand p { max-width:320px; margin:18px 0 10px; color:var(--muted); font-size:13px; }
.footer-brand>span { color:var(--soft); font-size:10px; }
.footer-col { display:flex; flex-direction:column; gap:8px; }
.footer-col strong { margin-bottom:7px; color:var(--ink); font:700 11px/1 var(--label); letter-spacing:.08em; text-transform:uppercase; }
.footer-col a { color:var(--muted); font-size:12px; text-decoration:none; }
.footer-col a:hover { color:var(--brand); }
.footer-bottom { width:min(1200px,100%); display:flex; justify-content:space-between; gap:20px; margin:42px auto 0; padding-top:20px; border-top:1px solid var(--line); color:var(--soft); font-size:10px; }

@media (max-width:1180px) { .docs-topbar{grid-template-columns:auto minmax(230px,1fr) auto}.docs-global-nav{display:none}.docs-shell{grid-template-columns:220px minmax(0,1fr)}.toc{display:none}.search-results{transform:translateX(-10%)} }
@media (max-width:820px) {
  .docs-topbar{min-height:68px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:0 16px}.brand-logo{width:138px}.docs-pill{display:none}.top-search{position:absolute;top:78px;left:16px;right:16px;display:none;box-shadow:var(--shadow)}.docs-topbar.search-open .top-search{display:flex}.site-link{display:none}.top-actions{gap:8px}.mobile-search-btn{display:grid}.menu-btn{display:block}.docs-shell{display:block;padding:32px 18px 72px}.sidebar{position:fixed;z-index:35;inset:68px auto 0 0;width:min(86vw,340px);max-height:none;padding:26px 22px 60px;transform:translateX(-105%);border-right:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);transition:transform .24s ease}.docs-nav-open .sidebar{transform:translateX(0)}.docs-nav-open::after{content:"";position:fixed;z-index:34;inset:68px 0 0;background:rgba(0,0,0,.35)}.docs-hero{margin:-32px -18px 36px;padding:60px 24px 54px}.search-results{top:126px;left:16px;right:16px;width:auto;transform:none}.docs-footer-cta{width:calc(100% - 36px);margin-bottom:44px}.footer-inner{grid-template-columns:1.5fr 1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media (max-width:560px) { .top-actions .btn{display:none}.page-head h1{font-size:44px}.page-head>p{font-size:16px}.journey-grid,.doc-grid,.quick-links,.doc-pager{grid-template-columns:1fr}.journey-card{min-height:160px}.product-shot{margin-left:-6px;margin-right:-6px;border-radius:8px}.capability-table{display:block;overflow-x:auto;white-space:normal}.capability-table th,.capability-table td{min-width:150px}.pager-link:last-child{text-align:left}.docs-footer-cta{padding:38px 24px}.docs-footer-cta .btn{width:100%}.docs-footer{padding-left:24px;padding-right:24px}.footer-inner{grid-template-columns:1fr 1fr;gap:34px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition:none!important} }
