/* Direct integration links use the existing mobile menu before desktop gets crowded. */
.site-header .brand { flex-shrink:0; min-height:44px }
.site-header .brand img { width:132px; height:auto; max-height:none; object-fit:contain }
.site-header .brand-copy small { opacity:1; color:#53645b }
.site-header .primary-nav { gap:16px }
.site-header .primary-nav>a { min-height:44px; display:flex; align-items:center; font-size:.875rem; white-space:nowrap }
.site-header .nav-cta { padding-inline:17px }
.site-header .language-bar-inner a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center }
.site-header .language-bar-inner a[aria-current="page"] { background:#087443; color:white; border-color:#087443 }
:is(a,button,summary,input,textarea,select):focus-visible { outline:3px solid #087443; outline-offset:4px }
.section-dark a:focus-visible,.contact-band a:focus-visible,.page-hero-green a:focus-visible { outline-color:#fff }
section[id] { scroll-margin-top:150px }
.product-card .price { font-size:1rem }
.product-card h3 a { min-height:44px; display:inline-flex; align-items:center }
.article-layout > * { min-width:0 }
@media(min-width:1200px) and (max-width:1439px) {
 .site-header .brand-copy { display:none }
 .site-header .primary-nav { gap:12px }
}
@media(max-width:1199px) {
 .site-header .nav-wrap { min-height:76px; gap:12px }
 .site-header .brand img { width:102px; max-height:none }
 .site-header .brand .brand-copy { display:flex; white-space:normal; padding-left:10px }
 .site-header .brand-copy strong { font-size:.84rem }
 .site-header .brand-copy small { display:block; font-size:.6rem; max-width:145px; white-space:normal }
 .site-header .menu-toggle { display:block; flex-shrink:0; width:44px; height:44px }
 .site-header .menu-toggle>span:not(.sr-only) { width:24px }
 .site-header .primary-nav { display:none; position:absolute; flex-direction:column; align-items:stretch; padding:14px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-md) }
 .site-header .primary-nav.is-open { display:flex; top:100%; left:16px; right:16px; max-height:70vh; overflow-y:auto; gap:0 }
 .site-header .primary-nav>a { font-size:.94rem; white-space:normal }
 .site-header .primary-nav>a:not(.nav-cta) { padding:12px }
 .site-header .primary-nav>a:not(.nav-cta)::after { display:none }
}
@media(max-width:390px) {
 .site-header .brand { gap:8px }
 .site-header .brand img { width:90px }
 .site-header .brand-copy strong { font-size:.76rem }
 .site-header .brand-copy small { font-size:.56rem }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto }
 .reveal { opacity:1!important; transform:none!important; transition:none!important }
}
/* One language control, in the primary navigation on every viewport. */
.language-menu{position:relative;flex-shrink:0}.language-trigger{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px;border:1px solid #d8e2db;border-radius:9px;background:#fff;color:#172c24;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.language-trigger img,.language-options img{display:block;flex-shrink:0;object-fit:contain}.language-chevron{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 3px}.language-trigger[aria-expanded=true] .language-chevron{transform:rotate(225deg);margin-top:5px}.language-native{display:none}.language-options{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:8px;margin:0;list-style:none;background:#fff;border:1px solid #dce5de;border-radius:14px;box-shadow:0 12px 40px #14382524;z-index:100}.language-options[hidden]{display:none}.language-options a,.language-current{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;border-radius:8px;color:#19332a;text-decoration:none;font-size:.9rem;font-weight:550}.language-options a:hover{background:#f0f5f2}.language-current{background:#e7f3eb;color:#07683c}.language-current>span{margin-left:auto}.site-header .primary-nav{gap:12px}
@media(max-width:1199px){.language-menu{width:100%;border-top:1px solid #e3eae6;margin-top:8px;padding-top:10px}.language-trigger{width:100%;font-size:.95rem;min-height:48px}.language-code{display:none}.language-native{display:inline}.language-chevron{margin-left:auto}.language-options{position:static;width:100%;box-shadow:none;margin-top:8px;border-radius:9px}.site-header .primary-nav.is-open{max-height:calc(100dvh - 96px);overscroll-behavior:contain}.site-header .primary-nav .nav-cta{margin-top:12px}}
/* Partner submenu shares the language control's disclosure behavior. */
.partners-menu{position:relative}.partners-trigger{display:flex;align-items:center;gap:7px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.partners-options{position:absolute;left:0;top:calc(100% + 8px);width:290px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid #dce5de;border-radius:14px;box-shadow:0 12px 40px #14382524;z-index:100}.partners-options[hidden]{display:none}.partners-options a{display:flex;flex-direction:column;gap:4px;min-height:60px;padding:12px;border-radius:8px;text-decoration:none;color:#19332a}.partners-options a:hover{background:#f0f5f2}.partners-options span{font-size:.77rem;font-weight:400;color:#53645b;line-height:1.5}.partners-trigger[aria-expanded=true] .language-chevron{transform:rotate(225deg)}
@media(max-width:900px){.partners-menu{width:100%}.partners-trigger{width:100%;font-size:.94rem;min-height:48px}.partners-trigger .language-chevron{margin-left:auto}.partners-options{position:static;width:100%;box-shadow:none;margin:0 0 8px;border-radius:9px}}

/* Four balanced home solutions: property types, then the two integrations. */
.solution-grid--ecosystems { grid-template-columns:repeat(2,minmax(0,1fr)) }
.solution-grid--ecosystems .solution-card { min-width:0 }
.solution-grid--ecosystems .solution-card h3 { margin-top:30px }
.solution-signals { display:flex; flex-wrap:wrap; gap:8px 16px; margin:20px 0 0; padding:0; list-style:none; color:var(--mint); font-size:.8rem; font-weight:650 }
.solution-signals li { display:flex; align-items:center; gap:7px }
.solution-signals li::before { content:""; width:5px; height:5px; flex-shrink:0; border-radius:50%; background:currentColor }
@media(max-width:640px) { .solution-grid--ecosystems { grid-template-columns:1fr } .solution-grid--ecosystems .solution-card { min-height:0 } }
