/* SHARED NAVBAR (generated from the homepage by scripts/build-shared-nav.cjs, do not edit by hand) */
nav[data-site-nav], .nav-backdrop { --yellow: #F7CE1A; --yellow-dark: #DDB50A; --yellow-light: #FFF9D6; --blue: #2979C8; --blue-dark: #1A5EA8; --red: #E03020; --red-dark: #B82518; --cream: #FFFBEF; --text: #1A1A1A; --muted: #555; --white: #FFFFFF; --radius: 16px; --radius-lg: 24px; }
nav {position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: var(--white); border-bottom: 1px solid rgba(26,94,168,0.10); box-shadow: 0 2px 12px rgba(26,94,168,0.07); padding: 8px 2rem; height: auto; min-height: 56px; display: flex; align-items: center; justify-content: space-between; transition: box-shadow 0.25s ease, border-color 0.25s ease; }
nav.scrolled {border-bottom-color: transparent; box-shadow: 0 5px 18px rgba(26,94,168,0.14); }
.nav-logo {display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nav-logo img.nav-logo-wm {height: 34px; width: auto; border-radius: 0; }
@media (max-width: 520px) {
.nav-logo img.nav-logo-wm {height: 28px; }
}
.nav-logo img.nav-logo-full {height: 56px; width: auto; border-radius: 0; }
@media (max-width: 520px) {
.nav-logo img.nav-logo-full {height: 48px; }
}
.nav-logo img {height: 44px; width: 44px; object-fit: contain; border-radius: 8px; }
.nav-logo-text {font-family: 'Fredoka One','Trebuchet MS',Verdana,sans-serif; font-size: 1.5rem; line-height: 1; }
.nav-logo-text .t1 {color: var(--blue); display: block; }
.nav-logo-text .t2 {color: var(--red); display: inline-block; font-size: 1.5rem; margin-top: 2px; padding-bottom: 7px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M3 6 C30 2 70 3 117 4' stroke='%23F7CE1A' stroke-width='3.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") left bottom / 100% 8px no-repeat; }
@media (max-width: 520px) {
.nav-logo-text {font-size: 1.2rem; }
.nav-logo-text .t2 {font-size: 1.2rem; padding-bottom: 6px; }
}
.nav-links {display: flex; align-items: center; gap: 1.75rem; list-style: none; margin-left: auto; }
.nav-links a {text-decoration: none; font-size: 0.95rem; font-weight: 700; color: var(--muted); transition: color 0.2s; }
.nav-links a:hover {color: var(--blue); }
.nav-actions {display: flex; align-items: center; gap: 0.9rem; margin-left: 1.75rem; }
.nav-login {display: inline-flex; align-items: center; gap: 6px; padding: 7px 15px; border-radius: 100px; border: none; background: #D8E6FA; font-size: 0.9rem; font-weight: 800; color: var(--blue); text-decoration: none; transition: all 0.2s; white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,0.10); }
.nav-login:hover {background: var(--blue); color: var(--white); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,0.16); }
.nav-login svg {flex-shrink: 0; }
.nav-link-ic {display: none; }
.nav-hamburger {display: none; background: var(--blue); border: none; border-radius: 50%; width: 42px; height: 42px; cursor: pointer; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 5px; box-shadow: 0 4px 12px rgba(41,121,200,0.30); transition: transform 0.15s, box-shadow 0.15s; }
.nav-hamburger:active {transform: scale(0.94); box-shadow: 0 2px 8px rgba(41,121,200,0.28); }
.nav-hamburger span {display: block; height: 2.5px; width: 18px; background: #fff; border-radius: 3px; transition: transform 0.3s, opacity 0.2s; transform-origin: center; }
.nav-hamburger.active span:nth-child(1) {transform: translateY(7.5px) rotate(45deg); }
.nav-hamburger.active span:nth-child(2) {opacity: 0; }
.nav-hamburger.active span:nth-child(3) {transform: translateY(-7.5px) rotate(-45deg); }
body.nav-open {overflow: hidden; }
.nav-drawer-foot {display: none; }
.nav-backdrop {display: none; }
.nav-courses {background: var(--red) !important; color: var(--white) !important; padding: 9px 20px !important; border-radius: 100px !important; font-weight: 800 !important; border: none !important; transition: all 0.2s !important; box-shadow: 0 4px 14px rgba(224,48,32,0.30) !important; }
.nav-courses:hover {background: var(--red-dark) !important; color: var(--white) !important; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(224,48,32,0.40) !important; }
@media (max-width: 768px) {
.nav-hamburger {display: flex; }
.nav-links {display: flex; position: fixed; top: 100px; right: 0; bottom: 0; left: auto; width: 82%; max-width: 320px; background: var(--cream); flex-direction: column; align-items: stretch; gap: 0; padding: 1.25rem 1.15rem calc(1.4rem + env(safe-area-inset-bottom)); margin: 0; box-shadow: -16px 0 40px rgba(0,0,0,0.18); z-index: 95; transform: translateX(105%); transition: transform 0.34s cubic-bezier(0.4,0,0.2,1); overflow-y: auto; }
.nav-links.open {transform: translateX(0); }
.nav-links li {width: 100%; }
.nav-links a {display: flex; align-items: center; gap: 0.85rem; text-align: left; padding: 0.85rem 0.6rem !important; margin: 0 -0.6rem; font-size: 1.08rem; font-weight: 800; color: var(--text) !important; background: transparent !important; border: none !important; border-bottom: 1px solid #EFE7CE !important; border-radius: 14px !important; box-shadow: none !important; transition: background 0.15s; }
.nav-links a:active {background: #F3EFDD !important; }
.nav-link-ic {display: inline-flex; flex: none; width: 34px; height: 34px; border-radius: 10px; align-items: center; justify-content: center; background: #E9F1FB; color: var(--blue); }
.nav-link-ic svg {width: 18px; height: 18px; }
.nav-links a.nav-courses {color: var(--red) !important; }
.nav-links a.nav-courses .nav-link-ic {background: #FDEBE9; color: var(--red); }
.nav-drawer-foot {margin-top: auto; padding-top: 1.2rem; display: flex; flex-direction: column; gap: 0.6rem; }
.nav-links a.nav-drawer-cta {display: block; text-align: center; text-decoration: none; background: var(--blue) !important; color: #fff !important; border: none !important; padding: 0.95rem 1rem !important; border-radius: 100px !important; font-size: 1.02rem; font-weight: 800; box-shadow: 0 6px 16px rgba(41,121,200,0.28) !important; }
.nav-links a.nav-drawer-login {display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; text-decoration: none; background: transparent !important; border: 2px solid #E1DBC6 !important; color: var(--blue) !important; padding: 0.75rem 1rem !important; border-radius: 100px !important; font-size: 1rem; font-weight: 800; box-shadow: none !important; }
.nav-login {display: none; }
.nav-backdrop {display: block; position: fixed; inset: 100px 0 0 0; background: rgba(18,22,32,0.5); z-index: 90; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
.nav-backdrop.open {opacity: 1; visibility: visible; }
}


.nav-logo, .nav-logo-text, .nav-logo-text .t1, .nav-logo-text .t2 {white-space: nowrap; }
.nav-courses {white-space: nowrap; }
@media (max-width: 1100px) {
.nav-logo-text {font-size: 1.25rem !important; }
.nav-logo-text .t2 {font-size: 1.25rem !important; padding-bottom: 6px !important; }
}
@media (max-width: 900px) {
.nav-logo img {height: 40px !important; width: 40px !important; }
.nav-logo img.nav-logo-wm {height: 30px !important; width: auto !important; }
.nav-logo img.nav-logo-full {height: 50px !important; width: auto !important; }
}

@media (min-width:769px) {
.nav-courses {background:transparent !important;color:var(--muted) !important;border:none !important;box-shadow:none !important;padding:0 !important;font-weight:700 !important;border-radius:0 !important }
.nav-courses:hover {background:transparent !important;color:var(--blue) !important;box-shadow:none !important;transform:none !important }
}
@media (max-width:768px) {
.nav-links a.nav-courses {color:var(--text) !important }
.nav-links a.nav-courses .nav-link-ic {background:#E9F1FB;color:var(--blue) }
}
nav:not(.scrolled) {background:transparent !important;border-bottom-color:transparent !important;box-shadow:none !important }
.nav-logo img.nav-logo-full {transition:height .25s ease }
nav:not(.scrolled) .nav-logo img.nav-logo-full {height:76px }
@media (max-width:900px) {
nav:not(.scrolled) .nav-logo img.nav-logo-full {height:64px !important }
}








/* subpages: the bar is always the white "scrolled" style, the body leaves room for the fixed bar */
body.has-site-nav { padding-top: 73px; }
html { scroll-padding-top: 84px; }

/* MODERN MOBILE MENU (generated by scripts/build-shared-nav.cjs). Applies on the homepage, shop, free tools and every shared-navbar page. */
@media (max-width: 768px) {
  .nav-hamburger { background: transparent !important; box-shadow: none !important; border-radius: 10px; width: 44px; height: 44px; gap: 6px; margin-right: -6px; }
  .nav-hamburger:active { transform: none; box-shadow: none; opacity: .7; }
  .nav-hamburger span { background: #1A5EA8; height: 2.5px; width: 24px; border-radius: 2px; transition: transform .3s cubic-bezier(.2,.8,.2,1), width .3s ease, opacity .2s; }
  .nav-hamburger span:nth-child(2) { display: none; }
  .nav-hamburger span:nth-child(3) { width: 16px; align-self: flex-end; margin-right: 10px; }
  .nav-hamburger.active span:nth-child(1) { transform: translateY(4.25px) rotate(45deg); }
  .nav-hamburger.active span:nth-child(3) { width: 24px; transform: translateY(-4.25px) rotate(-45deg); }

  body.nav-open nav { background: #fff !important; box-shadow: none !important; border-bottom-color: transparent !important; }
  .nav-links { top: 0 !important; right: 0 !important; left: 0 !important; bottom: auto !important; width: 100% !important; max-width: none !important; max-height: 100dvh; background: #fff !important; border-radius: 0 0 28px 28px; box-shadow: 0 28px 60px rgba(9,42,80,.22) !important; padding: 90px 24px calc(24px + env(safe-area-inset-bottom)) !important; gap: 0; transform: translateY(-14px) !important; opacity: 0; visibility: hidden; transition: transform .38s cubic-bezier(.2,.8,.2,1), opacity .26s ease, visibility .38s; overflow-y: auto; z-index: 95; }
  .nav-links.open { transform: translateY(0) !important; opacity: 1; visibility: visible; }
  .nav-links li { width: 100%; opacity: 0; transform: translateY(8px); transition: opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1); }
  .nav-links.open li { opacity: 1; transform: none; }
  .nav-links.open li:nth-child(1) { transition-delay: 75ms; }
  .nav-links.open li:nth-child(2) { transition-delay: 110ms; }
  .nav-links.open li:nth-child(3) { transition-delay: 145ms; }
  .nav-links.open li:nth-child(4) { transition-delay: 180ms; }
  .nav-links.open li:nth-child(5) { transition-delay: 215ms; }
  .nav-links.open li:nth-child(6) { transition-delay: 250ms; }
  .nav-links.open li:nth-child(7) { transition-delay: 285ms; }
  .nav-links.open li:nth-child(8) { transition-delay: 320ms; }
  .nav-links.open li:nth-child(9) { transition-delay: 355ms; }
  .nav-links a { font-family: 'Nunito', sans-serif !important; font-weight: 600 !important; font-size: 1.6rem !important; line-height: 1.2; letter-spacing: -.01em; padding: 13px 2px !important; margin: 0 !important; color: #334155 !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; }
  .nav-links a:hover, .nav-links a:active { color: var(--blue) !important; background: transparent !important; }
  .nav-link-ic { display: none !important; }
  .nav-links a.nav-courses { color: #334155 !important; }
  .nav-drawer-foot { margin-top: 18px !important; padding-top: 20px !important; border-top: 1px solid #E6ECF5; display: flex; flex-direction: column; gap: 10px; }
  .nav-links a.nav-drawer-cta { font-family: 'Nunito', sans-serif !important; font-size: 1.02rem !important; font-weight: 800 !important; padding: 15px 18px !important; border-radius: 100px !important; background: var(--blue) !important; color: #fff !important; text-align: center; box-shadow: 0 6px 18px rgba(41,121,200,.32) !important; }
  .nav-logo, .nav-actions { position: relative; z-index: 101; }
  .nav-links a.nav-drawer-login { font-family: 'Nunito', sans-serif !important; font-size: 1rem !important; font-weight: 800 !important; border: none !important; padding: 13px 18px !important; border-radius: 100px !important; color: var(--blue) !important; background: transparent !important; box-shadow: inset 0 0 0 1.5px #D5E0F0 !important; justify-content: center; }
  .nav-drawer-foot a:last-child { box-shadow: none !important; padding: 8px !important; }
  .nav-backdrop { inset: 0 !important; background: rgba(12,20,36,.38) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
}
