/* Synedica header — port of synedica.io's fixed banner + morphing nav */
:root { --syn-banner-h: 40px; --syn-hdr-ease: cubic-bezier(0.32, 0.72, 0, 1); }
html { scroll-padding-top: calc(var(--syn-banner-h) + 80px); }
.syn-hdr-spacer { height: 72px; }
.syn-hdr-spacer.has-banner { height: calc(var(--syn-banner-h) + 72px); }

/* ---- announcement bar ---- */
.syn-banner {
	position: fixed; top: 0; left: 0; right: 0; z-index: 60; height: var(--syn-banner-h); overflow: hidden; color: #fff;
	font-family: "Plus Jakarta Sans", system-ui, sans-serif;
	background: linear-gradient(90deg, #07111F 0%, #122A4E 48%, #0B1A33 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: transform 320ms var(--syn-hdr-ease);
}
.syn-banner::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; opacity: .7; background: linear-gradient(90deg, transparent 0%, rgba(52, 211, 153, .8) 50%, transparent 100%); }
.syn-banner::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(600px 60px at 30% 50%, rgba(52, 211, 153, .1), transparent 70%); }
.syn-banner__inner { position: relative; z-index: 1; max-width: 1152px; margin: 0 auto; height: 100%; padding: 0 56px 0 24px; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; line-height: 1.2; }
.syn-banner__icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0; background: rgba(52, 211, 153, .15); border: 1px solid rgba(52, 211, 153, .4); }
.syn-banner strong { font-weight: 600; color: #fff; }
.syn-banner__dim { color: rgba(255, 255, 255, .75); }
.syn-banner__short { display: none; }
.syn-banner__link { color: #34D399 !important; font-weight: 600; white-space: nowrap; text-decoration: none !important; display: inline-flex; gap: 2px; margin-left: 2px; }
.syn-banner__link:hover { text-decoration: underline !important; text-underline-offset: 2px; }
.syn-banner__close { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: rgba(255, 255, 255, .55); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }
.syn-banner__close:hover { color: #fff; background: rgba(255, 255, 255, .1); }
body.syn-scrolled .syn-banner, body.syn-banner-dismissed .syn-banner { transform: translateY(-100%); }
body.syn-banner-dismissed { --syn-banner-h: 0px; }
body.syn-banner-dismissed .syn-hdr-spacer.has-banner { height: 72px; }
@media (max-width: 639px) { .syn-banner__text { display: none; } .syn-banner__short { display: block; flex: 1 1 auto; min-width: 0; overflow: hidden; } .syn-banner__inner { font-size: 12px; padding: 0 40px 0 12px; justify-content: flex-start; gap: 8px; } }
/* mobile marquee — synedica.io .topbanner-marquee-track: two copies, 14s linear loop, translate -50% */
@keyframes syn-banner-marquee { 0% { transform: translate(0, 0); } 100% { transform: translate(-50%, 0); } }
.syn-banner__track { display: inline-flex; flex-wrap: nowrap; width: max-content; will-change: transform; animation: syn-banner-marquee 14s linear infinite; }
.syn-banner__track[data-paused="true"] { animation-play-state: paused; }
.syn-banner__item { flex-shrink: 0; white-space: nowrap; padding-right: 48px; }
@media (prefers-reduced-motion: reduce) { .syn-banner__track { animation: none; transform: none; } }

/* ---- header ---- */
.syn-hdr {
	position: fixed; left: 0; right: 0; z-index: 40; display: flex; justify-content: center; pointer-events: none;
	top: var(--syn-banner-h); padding: 0;
	transition: top 320ms var(--syn-hdr-ease), padding 320ms var(--syn-hdr-ease);
	font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}
.syn-hdr__nav {
	pointer-events: auto; width: 100%; max-width: 4000px; overflow: hidden; border-radius: 0;
	background: rgba(255, 255, 255, .98); border: 1px solid rgba(255, 255, 255, .92);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
	-webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%);
	will-change: max-width, border-radius;
	transition: max-width 320ms var(--syn-hdr-ease), border-radius 320ms var(--syn-hdr-ease), background 320ms var(--syn-hdr-ease), box-shadow 320ms var(--syn-hdr-ease);
}
.syn-hdr__inner { display: flex; align-items: center; max-width: 1152px; margin: 0 auto; width: 100%; height: 72px; padding: 0 24px; box-sizing: border-box; transition: height 320ms var(--syn-hdr-ease), padding 320ms var(--syn-hdr-ease); }
.syn-hdr__logo { display: flex; align-items: center; flex-shrink: 0; margin-right: auto; height: 42px; overflow: hidden; transition: height 320ms var(--syn-hdr-ease); text-decoration: none !important; }
.syn-hdr__logo img { height: 100%; width: auto; object-fit: contain; display: block; }
.syn-hdr__links { display: none; align-items: center; gap: 32px; }
.syn-hdr__links a { font-size: 13px; font-weight: 500; color: #4A5568 !important; text-decoration: none !important; white-space: nowrap; transition: color .2s; }
.syn-hdr__links a:hover { color: #0D1117 !important; }
.syn-hdr__btn { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 36px; padding: 8px 12px; border-radius: 9999px; font-size: 12px; font-weight: 600; white-space: nowrap; text-decoration: none !important; box-sizing: border-box; transition: all .2s; }
.syn-hdr__btn--contact { margin-left: 12px; color: #1B6FD8 !important; background: rgba(255, 255, 255, .6); border: 1px solid rgba(27, 111, 216, .3); }
.syn-hdr__btn--contact:hover { background: #fff; }
.syn-hdr__btn--verify { margin-left: 8px; padding: 8px 16px; color: #fff !important; background: linear-gradient(135deg, #1B6FD8 0%, #2563EB 100%); box-shadow: 0 2px 12px rgba(27, 111, 216, .3); }
.syn-hdr__btn--verify:hover { opacity: .9; }
.syn-hdr__long { display: none; } .syn-hdr__shortlbl { display: inline; }
.syn-hdr__burger { margin-left: 12px; min-width: 36px; min-height: 36px; padding: 8px; border: 0; background: transparent; color: #4A5568; cursor: pointer; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.syn-hdr__burger span { display: block; width: 16px; height: 12px; position: relative; }
.syn-hdr__burger i { position: absolute; left: 0; width: 100%; height: 1px; background: currentColor; transition: all .3s; transform-origin: center; }
.syn-hdr__burger i:nth-child(1) { top: 0; } .syn-hdr__burger i:nth-child(2) { top: 50%; } .syn-hdr__burger i:nth-child(3) { bottom: 0; }
.syn-hdr__burger[aria-expanded="true"] i:nth-child(1) { top: 50%; transform: rotate(45deg); }
.syn-hdr__burger[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.syn-hdr__burger[aria-expanded="true"] i:nth-child(3) { bottom: auto; top: 50%; transform: rotate(-45deg); }
@media (min-width: 640px) { .syn-hdr__long { display: inline; } .syn-hdr__shortlbl { display: none; } .syn-hdr__btn--contact { padding: 8px 16px; } .syn-hdr__btn--verify { padding: 8px 20px; } }
@media (min-width: 768px) { .syn-hdr__links { display: flex; gap: 24px; } .syn-hdr__btn--contact { margin-left: 20px; } .syn-hdr__btn--verify { margin-left: 12px; } .syn-hdr__burger { display: none; } }
@media (min-width: 1024px) { .syn-hdr__links { gap: 32px; } }

/* scrolled: floating pill */
body.syn-scrolled .syn-hdr { top: 8px; padding: 0 16px; }
body.syn-scrolled .syn-hdr__nav { max-width: 900px; border-radius: 9999px; background: rgba(255, 255, 255, .88); box-shadow: 0 4px 24px rgba(30, 60, 114, .12), 0 1px 4px rgba(0, 0, 0, .06); }
body.syn-scrolled .syn-hdr__inner { height: 52px; padding: 0 10px 0 16px; }
body.syn-scrolled .syn-hdr__logo { height: 26px; }

/* mobile menu */
.syn-mobile-menu { position: fixed; z-index: 30; left: 16px; right: 16px; top: calc(var(--syn-banner-h) + 80px); border-radius: 20px; overflow: hidden; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, .95); box-shadow: 0 8px 32px rgba(30, 60, 114, .14); padding: 20px 24px; display: flex; flex-direction: column; gap: 16px; font-family: "Plus Jakarta Sans", system-ui, sans-serif; opacity: 0; transform: translateY(-8px); transition: opacity .22s cubic-bezier(.4, 0, .2, 1), transform .22s cubic-bezier(.4, 0, .2, 1); }
.syn-mobile-menu.is-open { opacity: 1; transform: none; }
.syn-mobile-menu[hidden] { display: none; }
body.syn-scrolled .syn-mobile-menu { top: 68px; }
.syn-mobile-menu a { display: flex; align-items: center; min-height: 44px; padding: 0; font-size: 15px; font-weight: 500; color: #4A5568 !important; text-decoration: none !important; transition: color .2s; }
.syn-mobile-menu a:hover { color: #0D1117 !important; background: transparent; }
.syn-mobile-menu a.syn-mobile-menu__cta { justify-content: center; min-height: 48px; padding: 12px; border-radius: 9999px; font-size: 13px; font-weight: 600; color: #fff !important; background: linear-gradient(135deg, #1B6FD8 0%, #2563EB 100%); }
.syn-mobile-menu a.syn-mobile-menu__cta:hover { color: #fff !important; opacity: .9; }
@media (min-width: 768px) { .syn-mobile-menu { display: none !important; } }

/* ---- footer ---- */
.syn-foot { background: #fff; border-top: 1px solid rgba(0, 0, 0, .08); font-family: "Plus Jakarta Sans", system-ui, sans-serif; color: #4A5568; }
.syn-foot *, .syn-foot *::before, .syn-foot *::after { box-sizing: border-box; }
.syn-foot p, .syn-foot h3 { margin: 0; padding: 0; }
.syn-foot__inner { max-width: 1152px; margin: 0 auto; padding: 48px 20px; }
@media (min-width: 640px) { .syn-foot__inner { padding: 64px 24px; } }
.syn-foot__grid { display: grid; grid-template-columns: 1fr; gap: 32px; margin-bottom: 40px; }
@media (min-width: 640px) { .syn-foot__grid { margin-bottom: 48px; } }
@media (min-width: 768px) { .syn-foot__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; } }
.syn-foot img.syn-foot__logo { height: 32px !important; width: auto !important; max-width: none; object-fit: contain; display: block; margin-bottom: 4px; }
.syn-foot p.syn-foot__tagline { margin-top: 16px; max-width: 320px; font-size: 13px; line-height: 1.625; color: #4A5568; }
.syn-foot__lbl { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; line-height: 1.5; letter-spacing: .2em; text-transform: uppercase; color: #8A95A3; font-weight: 400; }
.syn-foot p.syn-foot__lbl--wide { letter-spacing: .05em; margin-top: 16px; }
.syn-foot h3.syn-foot__h { margin-bottom: 20px; }
.syn-foot__nav { display: flex; flex-direction: column; gap: 12px; }
.syn-foot__nav a, .syn-foot__mail { font-size: 13px; line-height: 1.6; color: #4A5568 !important; text-decoration: none !important; transition: color .2s; display: block; }
.syn-foot__nav a:hover { color: #0D1117 !important; }
.syn-foot__mail:hover { color: #1B6FD8 !important; }
.syn-foot__bar { display: flex; flex-direction: column; gap: 16px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, .07); }
@media (min-width: 640px) { .syn-foot__bar { flex-direction: row; align-items: center; justify-content: space-between; } }
.syn-foot__copy { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; line-height: 1.5; color: #8A95A3; }
.syn-foot .syn-foot__bar p.syn-foot__lbl--wide { margin-top: 0; }

/* burger + mobile menu: no theme/Woo button repaint on hover/focus/active */
.syn-hdr__burger, .syn-hdr__burger:hover, .syn-hdr__burger:focus, .syn-hdr__burger:active, .syn-hdr__burger:focus-visible { background: transparent !important; color: #4A5568; border: 0; box-shadow: none; outline: none; transform: none; border-radius: 9999px; -webkit-tap-highlight-color: transparent; }
.syn-hdr__burger:hover { color: #0D1117; }
.syn-hdr__burger[aria-expanded="true"] { color: #0D1117; }
.syn-mobile-menu a, .syn-mobile-menu a:focus, .syn-mobile-menu a:active { background: transparent; -webkit-tap-highlight-color: transparent; }
.syn-hdr__btn, .syn-banner__close, .syn-banner__link { -webkit-tap-highlight-color: transparent; }

/* logged-in admins: WordPress adds a 32px (46px on phones) admin bar and pushes the page down; keep the fixed banner/header/menu aligned below it */
body.admin-bar .syn-banner { top: 32px; }
body.admin-bar .syn-hdr { top: calc(var(--syn-banner-h) + 32px); }
body.admin-bar.syn-scrolled .syn-hdr { top: 40px; }
body.admin-bar .syn-mobile-menu { top: calc(var(--syn-banner-h) + 80px + 32px); }
body.admin-bar.syn-scrolled .syn-mobile-menu { top: 100px; }
@media (max-width: 782px) {
	body.admin-bar .syn-banner { top: 46px; }
	body.admin-bar .syn-hdr { top: calc(var(--syn-banner-h) + 46px); }
	body.admin-bar.syn-scrolled .syn-hdr { top: 54px; }
	body.admin-bar .syn-mobile-menu { top: calc(var(--syn-banner-h) + 80px + 46px); }
	body.admin-bar.syn-scrolled .syn-mobile-menu { top: 114px; }
}
