/* Shared editorial scale, navigation and bilingual controls. */
.seo-fallback { min-height:100vh; padding:160px max(24px,6vw) 80px; background:#f7f6f2; color:#11120f; }
.seo-fallback > p:first-child { margin-bottom:20px; color:#707468; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; }
.seo-fallback h1 { max-width:900px; margin:0 0 28px; font:400 clamp(42px,6vw,76px)/1.04 var(--font-serif); letter-spacing:-1.8px; }
.seo-fallback > p:last-child { max-width:700px; color:#676b61; font-size:18px; line-height:1.65; }
.language-switch { display:inline-flex; align-items:center; gap:2px; border:1px solid currentColor; border-radius:999px; padding:3px; flex-shrink:0; }
.language-switch button { min-width:30px; min-height:28px; border:0; border-radius:999px; background:transparent; color:inherit; padding:4px 6px; cursor:pointer; font:500 11px/1 Arial,sans-serif; }
.language-switch button[aria-pressed="true"] { background:#eeece6; color:#171813; }
.language-switch button:focus-visible, .ecosystem-tabs button:focus-visible { outline:2px solid #aab77d; outline-offset:4px; }
.language-switch--mobile { display:none; }
body.nav-dark .site-nav .language-switch { color:#171813; }
.detail-nav { background:rgba(247,246,242,.97); border-bottom:1px solid rgba(17,18,15,.1); }
.detail-nav__inner { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); column-gap:24px; }
.detail-nav__inner > .detail-nav__side { grid-column:1; grid-row:1; }
.detail-nav__inner > .detail-logo { grid-column:2; grid-row:1; }
.detail-nav__inner > .detail-logo + .detail-nav__side { grid-column:3; grid-row:1; justify-self:end; justify-content:flex-end; }
.detail-nav__side { gap:18px; white-space:nowrap; }
.detail-hero__grid { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:56px; }
.section-head { grid-template-columns:1fr; gap:14px; margin-bottom:40px; }
.section-head h2 { max-width:760px; font-size:clamp(30px,3vw,44px); line-height:1.12; letter-spacing:-.8px; text-wrap:balance; }
.section-label { padding-top:0; font-size:11px; letter-spacing:1.5px; }
.detail-section { padding:88px 0; }
.feature-layout { gap:56px; }
.feature-copy > p { font-size:16px; line-height:1.65; }
.feature-item h3 { font-size:23px; line-height:1.2; }
.feature-item p { font-size:14px; line-height:1.6; }
.detail-hero h1 { text-wrap:balance; }
.detail-kicker { line-height:1.5; }
.detail-hero__actions { flex-wrap:wrap; }
.demo-example-label { margin:0; padding:0 12px 16px; text-align:center; color:#6d7165; font-size:10px; letter-spacing:.2px; }
.detail-final h2 { font-size:clamp(36px,4.2vw,60px); line-height:1.08; letter-spacing:-1.2px; }
.detail-menu__panel { border-radius:8px; }
.nav-links--right { gap:12px; }
.btn-dark-pill .cta-arrow--dark img { filter:none; }
#testimonials { background:#171b16; color:#f5f4ef; padding:100px 0; height:auto; min-height:0; }
.ecosystem { display:grid; grid-template-columns:.75fr 1.25fr; gap:72px; align-items:start; }
.ecosystem-heading { padding-top:16px; }
.ecosystem-eyebrow { color:#bec6a7; font-size:11px; letter-spacing:1.7px; text-transform:uppercase; margin-bottom:24px; }
.ecosystem-heading h2 { font:400 clamp(32px,3.3vw,48px)/1.08 var(--font-serif); letter-spacing:-.9px; margin-bottom:24px; }
.ecosystem-heading > p:last-child { color:#b7bab1; font-size:16px; line-height:1.65; max-width:400px; }
.ecosystem-workspace { min-width:0; border:1px solid #41463b; border-radius:12px; overflow:hidden; background:#20251e; transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1), border-color .4s ease; }
body.ecosystem-motion-ready .ecosystem-workspace:not(.ecosystem-is-visible) { opacity:0; transform:translateY(24px); }
.ecosystem-workspace.ecosystem-is-visible { opacity:1; transform:none; }
.ecosystem-tabs { display:flex; border-bottom:1px solid #41463b; padding:8px; gap:4px; }
.ecosystem-tabs button { flex:1; padding:13px 8px; border:0; border-radius:6px; background:transparent; color:#bfc3b8; font:500 12px/1.25 var(--font-sans); cursor:pointer; transition:color .25s ease, background-color .25s ease, transform .25s ease; }
.ecosystem-tabs button[aria-selected="true"] { color:#20251e; background:#dce1ce; transform:translateY(-1px); }
.ecosystem-tabs button:hover:not([aria-selected="true"]) { background:#30372b; color:#fff; }
.ecosystem-panel { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:28px; padding:36px 28px; min-height:425px; }
.ecosystem-panel[hidden] { display:none; }
.ecosystem-index { color:#bec6a7; font-size:11px; letter-spacing:1px; }
.ecosystem-description h3 { margin:18px 0 16px; font:400 28px/1.12 var(--font-serif); letter-spacing:-.3px; text-wrap:balance; }
.ecosystem-description p { color:#bcc1b4; font-size:14px; line-height:1.6; margin-bottom:24px; }
.ecosystem-tool { display:inline-block; border:1px solid #525b46; border-radius:4px; padding:7px 9px; margin:0 4px 6px 0; color:#d5dbc9; font-size:11px; }
.ecosystem-flow { min-width:0; }
.ecosystem-source { display:flex; gap:12px; align-items:center; padding:16px; background:#f3f2ed; color:#262b22; border-radius:6px; }
.ecosystem-symbol { display:grid; place-items:center; min-width:36px; height:36px; background:#e2e5d8; border:1px solid #c6ceba; border-radius:6px; font-size:11px; }
.ecosystem-source strong { display:block; font-size:12px; font-weight:500; }
.ecosystem-source div > span { display:block; margin-top:6px; font-size:10px; line-height:1.4; color:#656c5e; }
.ecosystem-connector { position:relative; width:1px; height:24px; margin:auto; overflow:hidden; background:rgba(136,149,118,.34); }
.ecosystem-connector::after { content:""; position:absolute; inset:-55% 0 auto; height:55%; background:#eef5da; box-shadow:0 0 8px #dce8bf; opacity:0; }
.ecosystem-hub { display:grid; grid-template-columns:30px auto; justify-content:center; align-items:center; column-gap:6px; padding:12px; border:1px solid #687656; border-radius:6px; background:#30392a; }
.ecosystem-hub img { object-fit:contain; grid-row:1 / 3; }
.ecosystem-hub > span { font-size:11px; letter-spacing:2px; }
.ecosystem-hub small { margin-top:4px; color:#c0c9b3; font-size:10px; }
.ecosystem-result { padding:18px; background:#f3f2ed; color:#262b22; border-radius:6px; }
.ecosystem-status { display:inline-block; padding:4px 7px; font-size:9px; border-radius:4px; color:#465537; background:#e0e7d4; margin-bottom:12px; }
.ecosystem-result strong { display:block; font-size:12px; font-weight:500; line-height:1.4; }
.ecosystem-result p { margin-top:8px; color:#62695b; font-size:11px; line-height:1.5; }
.ecosystem-footnote { margin:0; padding:18px 28px; border-top:1px solid #41463b; color:#aeb6a3; font-size:11px; line-height:1.5; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-description { animation:ecosystem-rise .58s cubic-bezier(.22,1,.36,1) both; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-source { animation:ecosystem-rise .58s .08s cubic-bezier(.22,1,.36,1) both; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-flow > .ecosystem-connector:nth-child(2)::after { animation:ecosystem-signal .72s .27s ease-in-out 2 both; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-hub { animation:ecosystem-hub .7s .38s cubic-bezier(.22,1,.36,1) both; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-flow > .ecosystem-connector:nth-child(4)::after { animation:ecosystem-signal .72s .58s ease-in-out 2 both; }
.ecosystem-panel.ecosystem-is-entering .ecosystem-result { animation:ecosystem-rise .62s .72s cubic-bezier(.22,1,.36,1) both; }
@keyframes ecosystem-rise { from { opacity:0; transform:translateY(13px); } to { opacity:1; transform:none; } }
@keyframes ecosystem-signal { 0% { opacity:0; transform:translateY(0); } 22%,72% { opacity:1; } 100% { opacity:0; transform:translateY(72px); } }
@keyframes ecosystem-hub { 0% { opacity:.45; transform:scale(.975); border-color:#687656; box-shadow:0 0 0 rgba(207,222,179,0); } 55% { opacity:1; transform:scale(1); border-color:#a5b58c; box-shadow:0 0 24px rgba(207,222,179,.16); } 100% { opacity:1; transform:none; border-color:#687656; box-shadow:0 0 0 rgba(207,222,179,0); } }
@media(prefers-reduced-motion:reduce) {
 body.ecosystem-motion-ready .ecosystem-workspace:not(.ecosystem-is-visible) { opacity:1; transform:none; }
 .ecosystem-workspace,.ecosystem-tabs button { transition:none; }
 .ecosystem-panel.ecosystem-is-entering .ecosystem-description,
 .ecosystem-panel.ecosystem-is-entering .ecosystem-source,
 .ecosystem-panel.ecosystem-is-entering .ecosystem-hub,
 .ecosystem-panel.ecosystem-is-entering .ecosystem-result,
 .ecosystem-panel.ecosystem-is-entering .ecosystem-connector::after { animation:none; }
}
@media(max-width:1200px) {
 .ecosystem { grid-template-columns:1fr; gap:36px; }
 .ecosystem-heading { max-width:740px; }
 .ecosystem-heading > p:last-child { max-width:650px; }
 .ecosystem-panel { grid-template-columns:1fr 1fr; padding:36px; }
 .detail-nav__side { gap:12px; font-size:12px; }
 .detail-nav__inner { column-gap:16px; }
 .nav-links--right > .nav-link { display:none; }
}
@media(max-width:1024px) {
 .detail-nav__inner > .detail-nav__side { display:none; }
 .detail-nav__inner > .detail-back { display:none; }
 .detail-nav__inner > .language-switch--mobile { display:inline-flex; grid-column:1; grid-row:1; justify-self:start; }
 .detail-burger { grid-column:3; grid-row:1; }
 .detail-hero__grid { grid-template-columns:1fr; }
 .detail-hero h1 { font-size:clamp(42px,5.5vw,60px); }
 .feature-layout { grid-template-columns:1fr 1fr; gap:32px; }
 .nav-links--right .language-switch { display:none; }
 .mobile-menu > .language-switch--mobile { display:inline-flex; width:max-content; justify-self:start; margin-top:20px; }
}
@media(max-width:640px) {
 .detail-nav__inner { column-gap:10px; }
 .detail-logo { font-size:14px; gap:4px; }
 .detail-logo img { width:22px; height:22px; }
 .section-head { margin-bottom:30px; gap:12px; }
 .section-head h2 { font-size:32px; }
 .detail-section { padding:64px 0; }
 .feature-layout { grid-template-columns:1fr; gap:32px; }
 .detail-hero h1 { font-size:42px; line-height:1.06; }
 .detail-hero__lead { font-size:16px; }
 .feature-visual { min-height:440px; }
 #testimonials { padding:64px 0; }
 .ecosystem { gap:30px; }
 .ecosystem-heading { padding-top:0; }
 .ecosystem-heading h2 { font-size:36px; }
 .ecosystem-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .ecosystem-tabs button { padding:13px 6px; }
 .ecosystem-panel { grid-template-columns:1fr; padding:24px 20px; gap:24px; min-height:0; }
 .ecosystem-description h3 { font-size:28px; }
 .ecosystem-description p { margin-bottom:16px; }
 .ecosystem-flow { width:100%; max-width:360px; margin:auto; }
 .ecosystem-footnote { padding:18px 20px; }
}
