/* Give the shorter desktop menu more breathing room, scaling down on smaller screens. */
.nav .nav-links { gap: clamp(16px, calc(8vw - 72px), 36px); }
.cfs-learn { position: relative; text-align: left; }
.cfs-learn > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; font: 600 14.5px/1.5 Montserrat, sans-serif; color: #2D2D2D; white-space: nowrap; }
.cfs-learn > summary::-webkit-details-marker { display: none; }
.cfs-learn > summary:hover, .cfs-learn > summary:focus-visible { color: #0077BE; }
.cfs-learn > summary:focus-visible, .cfs-learn-menu a:focus-visible { outline: 2px solid #0077BE; outline-offset: 4px; }
.cfs-learn > .cfs-learn-menu { position: absolute; top: 100%; left: -16px; min-width: 190px; margin: 0; padding: 12px 8px; background: #fff; border: 1px solid #E9ECEF; border-radius: 10px; box-shadow: 0 12px 28px rgba(0,0,0,.14); list-style: none; z-index: 10001; }
.cfs-learn:not([open]) > .cfs-learn-menu { display: none !important; }
.cfs-learn[open] > .cfs-learn-menu { display: block; }
.cfs-learn-menu li { list-style: none; margin: 0; }
.nav .cfs-learn-menu a { display: block; padding: 11px 14px; color: #2D2D2D; border-radius: 6px; font-size: 14.5px; }
.nav .cfs-learn-menu a:hover { background: #F0F8FD; color: #0077BE; }
.mobile-nav-overlay { overflow-y: auto; }
.mobile-nav-overlay .cfs-learn > summary, .cfs-mnav .cfs-learn > summary { padding: 14px 0; font-size: 16px; border-bottom: 1px solid #E9ECEF; }
.mobile-nav-overlay .cfs-learn > .cfs-learn-menu, .cfs-mnav .cfs-learn > .cfs-learn-menu { position: static; min-width: 0; padding: 0 0 0 18px; box-shadow: none; border: 0; border-radius: 0; }
.mobile-nav-overlay .cfs-learn-menu a, .cfs-mnav .cfs-learn-menu a { font-size: 16px; padding: 12px 0; }
