/* Shared public navigation only. Approved page bodies keep their own styling. */
.public-nav { position:fixed; inset:var(--public-banner-h, 0px) 0 auto; z-index:50; display:block; height:80px; padding:0; margin:0; border-bottom:1px solid #ffffff1f; background:#07131c; color:#fff; font:500 14px/1.4 "DM Sans",system-ui,sans-serif; box-shadow:0 2px 12px #0000000d; }
.public-nav *, .public-nav *::before, .public-nav *::after { box-sizing:border-box; }
.public-nav a { color:inherit; text-decoration:none; }
.public-nav svg { width:20px; height:20px; flex:none; }
.public-nav :is(a,summary):focus-visible { outline:3px solid #ff8a2a; outline-offset:3px; }
.public-nav-products :is(a,summary):focus-visible { outline-color:#a64b08; }
.public-nav-bar { position:relative; display:flex; align-items:center; justify-content:space-between; gap:32px; height:80px; width:calc(100% - 64px); max-width:1440px; margin:auto; }
.public-nav-logo { display:block; flex:none; border-radius:4px; }
.public-nav-logo img { display:block; width:213px; height:40px; max-width:100%; }
.public-nav-menu { flex:1; min-width:0; }
.public-nav summary { list-style:none; cursor:pointer; user-select:none; }
.public-nav summary::-webkit-details-marker { display:none; }
.public-nav-toggle { display:none; }
.public-nav-panel, .public-nav-links, .public-nav-actions { display:flex; align-items:center; gap:8px; }
.public-nav-panel { justify-content:flex-end; gap:20px; }
/* Center the navigation group independently of the unequal side zones. */
.public-nav-links { position:absolute; left:50%; transform:translateX(-50%); gap:8px; }
.public-nav-actions { flex:none; }
.public-nav-link { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:10px 12px; border-radius:7px; white-space:nowrap; transition:background .15s,color .15s; }
.public-nav-link:hover, .public-nav-features[open] > summary { background:#ffffff10; color:#ffad6d; }
.public-nav-links > .public-nav-link[aria-current], .public-nav-features > summary[data-current] { color:#ffad6d; background:#ffffff10; box-shadow:inset 0 -2px #ff8a2a; }
.public-nav-product[aria-current] { background:#fff1e4; box-shadow:inset 3px 0 #a64b08; }
.public-nav-features { position:relative; }
.public-nav-features > summary svg { width:16px; height:16px; transition:transform .15s; }
.public-nav-features[open] > summary svg { transform:rotate(180deg); }
.public-nav-products { position:absolute; top:calc(100% + 14px); left:0; width:min(680px,calc(100vw - 40px)); max-height:calc(100dvh - 96px); overflow-y:auto; padding:24px; border:1px solid #e2e8f0; border-radius:16px; background:#fff; color:#0f172a; box-shadow:0 18px 48px #00000026; }
.public-nav-heading { margin:0 0 14px; padding:0 10px; color:#526174; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.public-nav-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; }
.public-nav-product { display:flex; align-items:flex-start; gap:12px; min-height:102px; padding:14px 10px; border-radius:10px; transition:background .15s,transform .15s; }
.public-nav-product:hover { background:#fff4e9; transform:translateY(-2px); }
.public-nav-product strong { display:block; color:#0f172a; font-size:15px; font-weight:700; line-height:1.4; }
.public-nav-description { display:block; color:#526174; font-size:13px; font-weight:400; line-height:1.5; margin-top:4px; }
.public-nav-icon { display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:10px; background:#fff1e4; color:#ad4d08; }
.public-nav-icon-board { background:#e9f1ff; color:#295ac0; }
.public-nav-icon-quote { background:#e6f6f6; color:#156568; }
.public-nav-icon-cover { background:#f0edff; color:#6b50a8; }
.public-nav-icon-agent { background:#faeafb; color:#963ca0; }
.public-nav-icon-site { background:#e9f5ed; color:#317448; }
.public-nav-product > svg { width:14px; height:14px; margin:4px 0 0 auto; color:#ad4d08; }
.public-nav-explore { display:flex; align-items:center; justify-content:space-between; min-height:48px; margin-top:14px; padding:16px 10px 0; border-top:1px solid #e2e8f0; font-weight:700; }
.public-nav-explore:hover { color:#a64b08; }
.public-nav-beta { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:12px 18px; border-radius:7px; background:#ff8a2a; color:#07131c !important; font-weight:700; white-space:nowrap; transition:background .15s; }
.public-nav-beta:hover { background:#ffa45b; }
#three-ways, #smartloads-products, #ai-demo, #footer-cta { scroll-margin-top:calc(96px + var(--public-banner-h, 0px)); }
/* Static pages formerly reserved a header row inside the hero. Keep that space. */
.public-nav-slot { height:80px; }
@media (max-width:1199px) {
  .public-nav-bar { width:calc(100% - 40px); gap:16px; }
  .public-nav-logo img { width:192px; height:auto; }
  .public-nav-menu { flex:none; }
  .public-nav-toggle { display:flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; border-radius:7px; }
  .public-nav-toggle span { font-size:13px; }
  .public-nav-menu[open] > summary { color:#ffad6d; }
  .public-nav-panel { position:fixed; inset:calc(80px + var(--public-banner-h, 0px)) 0 auto; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:16px; max-height:calc(100dvh - 80px - var(--public-banner-h, 0px)); overflow-y:auto; overscroll-behavior:contain; padding:20px; border-top:1px solid #ffffff1f; border-bottom:1px solid #ffffff1f; background:#07131c; box-shadow:0 18px 30px #00000030; }
  .public-nav-links { position:static; transform:none; align-items:stretch; flex-direction:column; gap:4px; }
  .public-nav-link { justify-content:flex-start; padding:12px; }
  .public-nav-features > summary { justify-content:space-between; }
  .public-nav-actions { order:-1; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid #ffffff24; }
  .public-nav-actions > a { flex:1; justify-content:center; }
  .public-nav-products { position:static; width:100%; max-height:none; overflow:visible; margin:8px 0; padding:16px 10px; box-shadow:none; }
  .public-nav-product { min-height:94px; }
}
@media (max-width:600px) {
  .public-nav-grid { grid-template-columns:1fr; gap:2px; }
  .public-nav-product { min-height:80px; padding:12px 10px; }
  .public-nav-heading { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .public-nav *, .public-nav *::before, .public-nav *::after { transition:none !important; }
  .public-nav-product:hover { transform:none; }
}

/* Webinar banner (webinar-banner.js): a slim navy strip above the fixed nav while the
   webinar is published. The page and the nav move down by its height; it slides in. */
html.has-webinar-banner { --public-banner-h:40px; }
html.has-webinar-banner body { padding-top:var(--public-banner-h); }
.public-webinar-banner { position:fixed; inset:0 0 auto; z-index:51; display:flex; align-items:center; height:var(--public-banner-h, 40px); padding:0 4px 0 16px; background:#071626; border-bottom:1px solid #ffffff1a; color:#fff; font:500 14px/1.3 "DM Sans",system-ui,sans-serif; transition:transform .25s ease, opacity .25s ease; }
.public-webinar-banner.pwb-enter { transform:translateY(-100%); opacity:0; }
.public-webinar-banner *, .public-webinar-banner *::before, .public-webinar-banner *::after { box-sizing:border-box; }
.pwb-link { flex:1; min-width:0; display:flex; align-items:center; justify-content:center; gap:14px; height:100%; color:#fff !important; text-decoration:none; white-space:nowrap; overflow:hidden; border-radius:4px; }
.pwb-link:hover .pwb-cta { text-decoration:underline; text-underline-offset:3px; }
.pwb-link:focus-visible { outline:2px solid #ff9a5c; outline-offset:-4px; }
.pwb-full { display:flex; align-items:center; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pwb-seg { white-space:nowrap; }
.pwb-seg + .pwb-seg::before { content:"·"; margin:0 9px; color:#ffffff73; }
.pwb-live { display:inline-flex; align-items:center; gap:7px; color:#ffb381; font-weight:700; }
.pwb-live::after { content:""; order:-1; width:7px; height:7px; border-radius:50%; background:#ff6a13; box-shadow:0 0 0 3px #ff6a1340; }
.pwb-short { display:none; }
.pwb-cta { flex:none; padding:4px 10px; border-radius:999px; background:#c94c00; color:#fff; font-weight:700; }
.pwb-close { flex:none; display:grid; place-items:center; width:40px; height:40px; margin-left:4px; border:0; border-radius:6px; background:transparent; color:#ffffffb3; cursor:pointer; }
.pwb-close:hover { color:#fff; background:#ffffff14; }
.pwb-close:focus-visible { outline:2px solid #ff9a5c; outline-offset:-4px; }
@media (max-width:899px) {
  html.has-webinar-banner { --public-banner-h:44px; }
  .public-webinar-banner { padding-left:12px; }
  .pwb-full { display:none; }
  .pwb-short { display:inline; white-space:nowrap; }
  .pwb-link { justify-content:flex-start; gap:10px; }
}
@media (prefers-reduced-motion:no-preference) {
  html.has-webinar-banner body, .public-nav { transition:padding-top .25s ease, top .25s ease; }
}
@media (prefers-reduced-motion:reduce) {
  .public-webinar-banner { transition:none; }
  .public-webinar-banner.pwb-enter { transform:none; opacity:1; }
}
