/* Isolated from the legacy .header, .site-header and .svc-header styles. */
.pricing-skip, .svc-skip, .portfolio-skip { z-index: 201; }
#bonsai-header {
 position:relative; z-index:100; display:flex; align-items:center; gap:22px;
 width:min(1280px,calc(100% - 48px)); height:76px; margin:24px auto 0; padding:0 22px;
 box-sizing:border-box; border:1px solid #ffffff12; border-radius:16px;
 background:#203b30; color:#f5f8ef; box-shadow:0 10px 30px #233c2514;
 font:400 13px/1.4 'DM Sans',sans-serif; text-align:left; letter-spacing:normal;
}
#bonsai-header *, #bonsai-header *::before, #bonsai-header *::after { box-sizing:border-box; }
#bonsai-header a { color:inherit; text-decoration:none; }
#bonsai-header .bonsai-brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; margin-right:auto; min-width:0; }
#bonsai-header .bonsai-brand img { display:block; width:42px; height:42px; object-fit:contain; border-radius:5px; filter:none; }
#bonsai-header .bonsai-wordmark { font:600 18px/1.2 'DM Sans',sans-serif; color:#f5f8ef; white-space:nowrap; letter-spacing:-.025em; }
#bonsai-header .bonsai-wordmark>span { color:#c6e2b0; }
#bonsai-header .bonsai-navigation { display:flex; align-items:center; gap:8px; margin:0; padding:0; }
#bonsai-header .bonsai-navigation>a { display:flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:10px 11px; border:1px solid transparent; border-radius:6px; font:500 12px/1.4 'DM Sans',sans-serif; color:#eff5e9; white-space:nowrap; background:none; }
#bonsai-header .bonsai-navigation>a::after { content:none; }
#bonsai-header .bonsai-navigation>a:hover { background:#ffffff10; color:#d5edc2; }
#bonsai-header .bonsai-navigation>a[aria-current='page'] { text-decoration:underline; text-underline-offset:7px; text-decoration-color:#c6e2b0; }
#bonsai-header .bonsai-navigation>.bonsai-price-link { border-color:#b6d49866; color:#d5edc2; background:#c6e2b010; }
#bonsai-header .bonsai-navigation>.bonsai-price-link[aria-current='page'] { background:#c6e2b0; color:#203b30; text-decoration:none; }
#bonsai-header .bonsai-menu, #bonsai-header .bonsai-pricing-shortcut { display:none; }
#bonsai-header :is(a,button):focus-visible { outline:2px solid #d5edc2; outline-offset:4px; }
#bonsai-header :is(.language-switcher,.site-language-switcher) { position:relative; margin:0; flex:0 0 auto; }
#bonsai-header .language-picker-trigger { display:flex; align-items:center; justify-content:center; gap:6px; min-width:50px; min-height:44px; margin:0; padding:8px 10px; border:1px solid #ffffff40; border-radius:22px; background:#ffffff09; color:#f5f8ef; font:500 11px/1 'DM Sans',sans-serif; cursor:pointer; }
#bonsai-header .language-picker-current-code { font:inherit; }
#bonsai-header .language-picker-current-flag { display:none!important; }
#bonsai-header .language-picker-menu { display:none; position:absolute; z-index:110; top:54px; right:0; width:230px; max-height:min(440px,70vh); overflow:auto; margin:0; padding:8px; border:1px solid #c9d8bf; border-radius:12px; background:#f8fbf3; color:#203b30; box-shadow:0 12px 32px #15271e25; }
#bonsai-header .language-picker.open .language-picker-menu { display:grid; }
#bonsai-header .language-picker-menu button { display:grid; grid-template-columns:22px 1fr 28px; gap:8px; align-items:center; width:100%; min-height:44px; padding:9px; border:0; border-radius:6px; background:transparent; color:#203b30; font:400 13px/1.4 'DM Sans',sans-serif; text-align:left; cursor:pointer; }
#bonsai-header .language-picker-menu button:is(:hover,.active) { background:#e4efd8; }
#bonsai-header .language-picker-menu button:focus-visible { outline-color:#426d37; outline-offset:-2px; }
#bonsai-header .language-flag { display:block; width:18px; height:12px; border-radius:2px; }
#bonsai-header .flag-pl { background:linear-gradient(#fff 50%,#dc143c 50%); }
#bonsai-header .flag-gb { background:#234b9a; }
.bonsai-shared-home .hero-copy { padding-top:64px; }
@media(max-width:1100px) {
 #bonsai-header { width:calc(100% - 32px); height:68px; margin-top:16px; padding:0 16px; gap:12px; }
 #bonsai-header .bonsai-navigation { display:none; position:absolute; top:78px; left:0; right:0; padding:12px; border:1px solid #526849; border-radius:12px; background:#203b30; box-shadow:0 14px 30px #15271e25; max-height:calc(100dvh - 130px); overflow:auto; }
 #bonsai-header.menu-open .bonsai-navigation { display:grid; grid-template-columns:1fr; gap:4px; }
 #bonsai-header .bonsai-navigation>a { justify-content:flex-start; min-height:46px; padding:12px 14px; font-size:14px; }
 #bonsai-header .bonsai-pricing-shortcut { display:flex; align-items:center; justify-content:center; flex:0 0 auto; min-height:44px; padding:9px 12px; border:1px solid #c6e2b06b; border-radius:6px; background:#c6e2b018; color:#d5edc2; font:500 12px/1.2 'DM Sans',sans-serif; }
 #bonsai-header .bonsai-pricing-shortcut[aria-current='page'] { background:#c6e2b0; color:#203b30; }
 #bonsai-header .bonsai-menu { display:grid; align-content:center; gap:6px; flex:0 0 44px; width:44px; height:44px; padding:10px; margin:0; border:0; background:none; color:#eff5e9; cursor:pointer; }
 #bonsai-header .bonsai-menu span { display:block; width:22px; height:2px; margin:0; background:currentColor; transition:transform .15s; }
 #bonsai-header.menu-open .bonsai-menu span:first-child { transform:translateY(4px) rotate(45deg); }
 #bonsai-header.menu-open .bonsai-menu span:last-child { transform:translateY(-4px) rotate(-45deg); }
 .bonsai-shared-home .hero-copy { padding-top:42px; }
}
@media(max-width:600px) {
 #bonsai-header { gap:6px; padding:0 10px; }
 #bonsai-header .bonsai-brand { gap:7px; }
 #bonsai-header .bonsai-brand img { width:32px; height:32px; }
 #bonsai-header .bonsai-wordmark { font-size:13px; }
 #bonsai-header .bonsai-pricing-shortcut { padding-inline:8px; font-size:11px; }
 #bonsai-header .language-picker-trigger { min-width:38px; padding:8px; }
 #bonsai-header .language-picker-menu { right:-45px; }
 #bonsai-header .bonsai-menu { flex-basis:38px; width:38px; padding:8px; }
}
@media(prefers-reduced-motion:reduce) { #bonsai-header .bonsai-menu span { transition:none; } }

/* Approved homepage header, shared across the public site. */
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header {
 position:fixed; inset:0 0 auto; width:100%; max-width:none; height:104px; margin:0;
 padding:0 max(36px,calc((100vw - 1320px)/2)); gap:24px;
 background:linear-gradient(#f7faf8f5,#f7faf8d9 65%,#f7faf880); backdrop-filter:none;
 border:0; border-bottom:1px solid transparent; border-radius:0;
 transition:height .3s ease,background-color .3s ease,border-color .3s ease;
}
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header.is-scrolled {
 height:82px; background:rgb(247 250 248 / 92%); backdrop-filter:blur(14px); border-bottom-color:#d6e4da;
}
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-brand { margin-right:auto; gap:12px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-brand img { width:51px; height:51px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-wordmark { font-size:22px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation { gap:28px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation>a {
 padding:10px 0; min-height:44px; font-size:15px; font-weight:600; color:#10283a;
 border:0; background:none; border-radius:0; text-decoration:none; -webkit-font-smoothing:antialiased;
}
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation>a:is(:hover,[aria-current=page]) { color:#007f83; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-pricing-shortcut { display:none; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta {
 display:inline-flex; align-items:center; justify-content:center; gap:12px; flex-shrink:0;
 height:48px; padding:0 21px; border-radius:999px; color:white; background:#008e90;
 font-size:15px; font-weight:600; white-space:nowrap; transition:filter .25s;
}
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta:hover { filter:brightness(1.06); }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .language-picker-trigger { min-width:38px; padding:8px 4px; border-color:transparent; background:transparent; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .language-picker-current-flag { display:none!important; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .language-picker-current-code { font-size:12px; }
@media(max-width:1250px) and (min-width:1101px) {
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header { gap:16px; padding-inline:24px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation { gap:18px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-wordmark { font-size:19px; }
}
@media(max-width:1100px) {
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header { height:84px; padding-inline:24px; gap:18px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header.is-scrolled { height:76px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation { gap:4px; top:calc(100% - 1px); background:#f7faf8; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation>a { padding:12px 16px; }
}
@media(max-width:600px) {
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header { height:80px; padding-inline:18px; gap:12px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header.is-scrolled { height:72px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-brand { gap:8px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-brand img { width:39px; height:39px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-wordmark { font-size:16px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header,
 body.bonsai-dna.forest-theme :is(.home-header-cta,.hero-actions a) span { transition:none; }
}

body.bonsai-dna.forest-theme:not(.bonsai-shared-home):not(:has(.bonsai-entry)) { padding-top:104px; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta span { display:inline-block; transition:transform .25s; }
body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta:hover span { transform:translateX(3px); }
@media(max-width:1100px) { body.bonsai-dna.forest-theme:not(.bonsai-shared-home):not(:has(.bonsai-entry)) { padding-top:84px; } }
@media(max-width:600px) { body.bonsai-dna.forest-theme:not(.bonsai-shared-home):not(:has(.bonsai-entry)) { padding-top:80px; } }
@media(prefers-reduced-motion:reduce) { body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .home-header-cta span { transition:none; } }

@media(max-width:1100px) {
 html.bonsai-menu-open { overflow:hidden; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .language-picker-trigger { min-width:44px; min-height:44px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-menu { width:44px; flex-basis:44px; min-height:44px; }
 body.bonsai-dna.forest-theme #bonsai-header.bonsai-header .bonsai-navigation { max-height:calc(100dvh - 90px); overscroll-behavior:contain; }
}
