/* Shared homepage navigation and footer. Load after page-specific styles. */
.nivo-mobile-login { display:none; }
@media(max-width:800px) {
  html.nivo-navigation-open { overflow:hidden; }
  .nivo-navigation-open body { position:fixed; top:var(--navigation-scroll-y,0); left:0; width:100%; overflow:hidden; }
  .nivo-site .nivo-navigation-anchor:has(.is-menu-open) { z-index:1000; }
  .nivo-site .nivo-navigation-anchor .nivo-header.is-menu-open {
    position:fixed; inset:0; width:100%; height:100vh; height:100dvh; margin:0;
    transform:none; border:0; border-radius:0; background:#fbfaf8; pointer-events:auto; transition:none;
  }
  .nivo-site .nivo-navigation-anchor .nivo-header.is-menu-open:before { display:none; }
  .nivo-header.is-menu-open .nivo-nav {
    width:100%; height:calc(80px + env(safe-area-inset-top)); padding:env(safe-area-inset-top) 20px 0;
    border-bottom:1px solid #e3e3e3;
  }
  .nivo-site .nivo-header.is-menu-open .nivo-nav-links.is-open {
    display:flex; position:absolute; inset:100% 0 auto; width:100%; margin:0;
    height:calc(100vh - 80px - env(safe-area-inset-top));
    height:calc(100dvh - 80px - env(safe-area-inset-top)); max-height:none;
    padding:24px 24px calc(32px + env(safe-area-inset-bottom));
    align-items:stretch; gap:8px; border:0; border-radius:0; background:#fbfaf8;
    overflow-y:auto; overscroll-behavior:contain; transform:none; opacity:1; visibility:visible; pointer-events:auto;
  }
  .nivo-header.is-menu-open .nivo-nav-links > a,
  .nivo-header.is-menu-open .nivo-features-trigger { min-height:56px; font-size:22px; font-weight:550; }
  .nivo-header.is-menu-open .nivo-features-dropdown { border-bottom:1px solid #e3e3e3; padding-bottom:8px; }
  .nivo-header.is-menu-open .nivo-mega-menu { margin-top:0; border-top:0; padding-bottom:12px; }
  .nivo-header.is-menu-open .nivo-nav-links > .nivo-mobile-login { display:flex; margin-top:auto; padding-top:24px; }
  .nivo-site .nivo-header .nivo-menu { width:44px; height:44px; max-width:44px; flex-shrink:0; }
  .nivo-site .nivo-header.is-menu-open .nivo-menu { display:flex; opacity:1; visibility:visible; pointer-events:auto; }
  .nivo-header.is-menu-open .nivo-brand { color:#202020; }
}
/* Unfold the navigation from the island header into the full-screen surface. */
@media(max-width:800px) and (prefers-reduced-motion:no-preference) {
  .nivo-site .nivo-navigation-anchor .nivo-header.is-menu-open {
    animation:nivo-menu-unfold 440ms cubic-bezier(.16,1,.3,1) both;
  }
  .nivo-site .nivo-header.is-menu-open .nivo-nav-links.is-open {
    animation:nivo-menu-content 340ms cubic-bezier(.16,1,.3,1) 70ms both;
  }
  @keyframes nivo-menu-unfold {
    from { clip-path:inset(12px 14px calc(100% - 76px) round 14px); }
    to { clip-path:inset(0 round 0); }
  }
  @keyframes nivo-menu-content {
    from { opacity:0; transform:translateY(-10px); }
    to { opacity:1; transform:translateY(0); }
  }
}
.nivo-site :is(a[href], button, summary, select, input[type='button'], input[type='submit'], input[type='reset'], input[type='checkbox'], input[type='radio'], input[type='color'], input[type='range'], [role='button'], [role='link'], [role='tab'], [role='menuitem'], [role='option'], [role='checkbox'], [role='radio'], [role='switch']):not([draggable='true'], :disabled, [aria-disabled='true'], [data-disabled]),
.nivo-site label:has(input:is([type='checkbox'], [type='radio'])):not(:has(:disabled, [aria-disabled='true'])),
.nivo-site input[type='file']:not(:disabled)::file-selector-button { cursor:pointer; }
.nivo-site :is(button, input, select, textarea):disabled,
.nivo-site [aria-disabled='true'],
.nivo-site [data-disabled],
.nivo-site label:has(:disabled, [aria-disabled='true']) { cursor:not-allowed; }
.nivo-studio-dropdown .nivo-feature-link { --feature-color:#735292; --feature-tint:#f3edf8; --feature-detail:#614878; }
.nivo-header .nivo-features-trigger { white-space:nowrap; }
@media(min-width:801px) and (max-width:1100px) {
  .nivo-header .nivo-nav-links { gap:10px; font-size:12px; white-space:nowrap; }
  .nivo-header .nivo-nav-actions { gap:10px; }
  .nivo-header .nivo-nav-actions .nivo-button { padding:10px; gap:6px; }
  .nivo-header .nivo-brand { font-size:23px; }
  .nivo-header .nivo-brand > img { width:38px; height:38px; }
}
.nivo-features-trigger { display:flex; align-items:center; gap:7px; padding:12px 0; border:0; background:none; color:#555; font:inherit; cursor:pointer; }
.nivo-features-trigger > svg { width:14px; height:14px; transition:transform .2s; }
.nivo-features-trigger[aria-expanded=true] { color:#202020; }
.nivo-features-trigger[aria-expanded=true] > svg { transform:rotate(180deg); }
.nivo-mega-menu { position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%); width:min(1100px,calc(100vw - 64px)); padding:20px; display:grid; grid-template-columns:1fr 240px; gap:24px; background:#fff; border-radius:16px; box-shadow:0 20px 60px #00000026; }
.nivo-mega-menu[hidden] { display:none; }
.nivo-mega-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:10px 0; }
.nivo-feature-link[href$="/ai-voice-assistant.html"] { --feature-color:#7845b8; --feature-tint:#f3edfc; --feature-detail:#624881; }
.nivo-feature-link[href$="/ai-chat-bot.html"] { --feature-color:#2563b7; --feature-tint:#edf4ff; --feature-detail:#3b577e; }
.nivo-feature-link[href$="/automated-workflows.html"] { --feature-color:#17805b; --feature-tint:#eaf7f0; --feature-detail:#38654e; }
.nivo-feature-link[href$="/ai-follow-ups.html"] { --feature-color:#b75b1c; --feature-tint:#fff2e7; --feature-detail:#815331; }
.nivo-site .nivo-navigation-anchor a.nivo-feature-link { display:flex; align-items:flex-start; gap:13px; padding:20px 14px; border-radius:10px; color:#202020; transition:background .18s,color .18s; }
.nivo-site .nivo-navigation-anchor a.nivo-feature-link:is(:hover,:focus-visible) { background:var(--feature-tint); color:var(--feature-color); outline-color:var(--feature-color); }
.nivo-feature-link:is(:hover,:focus-visible) small { color:var(--feature-detail); }
.nivo-feature-link > svg { width:24px; height:24px; flex-shrink:0; margin-top:2px; color:var(--feature-color); }
.nivo-feature-link strong { display:block; font-size:16px; font-weight:650; line-height:1.5; }
.nivo-feature-link small { display:block; margin-top:6px; color:#666; font-size:13px; line-height:1.65; font-weight:400; }
.nivo-mega-intro { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:15px; border-radius:10px; background:#f5f5f5; text-align:center; }
.nivo-mega-intro img { width:110px; height:110px; object-fit:contain; }
.nivo-mega-intro strong { font-size:18px; line-height:1.3; font-weight:600; }
.nivo-mega-intro a { margin-top:16px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
#ai-voice-assistant { scroll-margin-top:110px; }
@media(max-width:800px) {
  .nivo-header .nivo-nav-links.is-open { max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; }
  .nivo-features-dropdown { width:100%; }
  .nivo-features-trigger { width:100%; justify-content:space-between; padding:8px 0; min-height:44px; }
  .nivo-mega-menu { position:static; transform:none; width:100%; padding:8px 0 0; margin-top:14px; display:block; box-shadow:none; border-radius:0; background:transparent; border-top:1px solid #e3e3e3; }
  .nivo-mega-grid { grid-template-columns:1fr; padding:0; gap:0; }
  .nivo-site .nivo-navigation-anchor a.nivo-feature-link { padding:13px 0; gap:12px; }
  .nivo-feature-link strong { font-size:15px; }
  .nivo-feature-link small { margin-top:3px; }
  .nivo-feature-link > svg { width:21px; height:21px; }
  .nivo-mega-intro { display:none; }
  .nivo-studio-dropdown .nivo-mega-intro { display:block; padding:12px 0 0; background:transparent; text-align:left; }
  .nivo-studio-dropdown .nivo-mega-intro :is(img,strong) { display:none; }
  .nivo-studio-dropdown .nivo-mega-intro a { display:inline-block; margin:0; padding:12px 0; }
}
@media(prefers-reduced-motion:reduce) { .nivo-features-trigger > svg,.nivo-site .nivo-navigation-anchor a.nivo-feature-link { transition:none; } }
.nivo-site .nivo-navigation-anchor,
.nivo-site .nivo-footer-new {
  --nivo-ink:#202020;
  --nivo-muted:#666;
  --nivo-purple:#202020;
  --nivo-line:#e3e3e3;
}
.nivo-site .nivo-navigation-anchor .nivo-header:before { background:#fffffff2; border-color:#e3e3e3; }
.nivo-site .nivo-navigation-anchor .nivo-nav-links a { color:#555; }
.nivo-site .nivo-navigation-anchor .nivo-nav-links a[aria-current=page] { color:#202020; }
.nivo-site .nivo-footer-new {
  background:linear-gradient(180deg,#090909 0%,transparent 25%,transparent 75%,#090909 100%),radial-gradient(ellipse at 28% 42%,#303030 0%,#191919 45%,#090909 100%);
}
.nivo-site .nivo-footer-new .footer-invitation { display:flex; border-color:#444; }
.nivo-site .nivo-footer-new :is(.footer-invitation p,.footer-links,.footer-tagline,.footer-base) { color:#bdbdbd; }
.nivo-site .nivo-footer-new .footer-base { border-color:#444; }
.nivo-site .nivo-footer-new .footer-wordmark { color:#f5f5f5; }
.nivo-site .nivo-footer-new .footer-links a:hover { color:#fff; }
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button {
  background:#202020; border-color:#202020; color:#fff;
  transform:none; box-shadow:none;
  transition:background .18s,transform .18s;
}
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button.light { background:#fff; border-color:#e3e3e3; color:#202020; }
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button:hover { background:#404040; border-color:#404040; transform:translateY(-2px); }
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button.light:hover { background:#eee; color:#202020; }
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button > span[aria-hidden=true] { transform:none; }
.nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) :is(a,button):focus-visible { outline-color:#777; }
@media(prefers-reduced-motion:reduce) {
  .nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button { transition:none; }
  .nivo-site :is(.nivo-navigation-anchor,.nivo-footer-new) .nivo-button.nivo-button:hover { transform:none; }
}
.nivo-site #nivo-studio-panel .nivo-package-promo { align-items:flex-start; text-align:left; padding:24px; background:#eee8f3; }
.nivo-package-promo > p { font-size:12px; line-height:1.65; color:#594865; margin-top:12px; }
.nivo-package-promo .nivo-package-menu-price { margin-top:18px; }
.nivo-package-menu-price > span { display:block; font-size:11px; color:#594865; }
.nivo-mega-intro .nivo-package-menu-price > strong { font-size:32px; line-height:1.3; }
.nivo-package-menu-price small { font-size:12px; font-weight:400; }
.nivo-package-promo > small { font-size:10px; line-height:1.6; color:#594865; margin-top:8px; }
.nivo-site .nivo-studio-overview-link { grid-column:1/-1; align-self:end; padding:10px 14px; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:800px) {
 .nivo-site #nivo-studio-panel .nivo-package-promo { display:flex; padding:20px; margin-top:12px; border-radius:12px; }
 .nivo-studio-dropdown .nivo-package-promo strong { display:block; }
 .nivo-studio-dropdown .nivo-package-promo a { margin-top:14px; padding:8px 0; }
}
/* Larger primary navigation, with compact spacing at tablet widths. */
@media(min-width:1101px) {
 .nivo-header .nivo-nav-links { font-size:15px; gap:24px; }
 .nivo-header .nivo-nav-actions { font-size:14px; }
 .nivo-header .nivo-nav-actions .nivo-button { font-size:14px; }
}
@media(max-width:800px) {
 .nivo-header .nivo-nav-links { font-size:16px; }
 .nivo-header .nivo-nav-links > a { display:flex; align-items:center; min-height:44px; }
}
@media(min-width:801px) {
 .nivo-header .nivo-nav-links { width:max-content; }
 .nivo-header .nivo-nav-links > a { white-space:nowrap; }
}

/* Nivo accompanies the complete marketing package in the shared dropdown. */
.nivo-site #nivo-studio-panel .nivo-package-character { display:block; flex:none; align-self:center; width:130px; height:130px; object-fit:contain; margin:-6px 0 12px; }

/* Studio is temporarily unavailable in public navigation. */
.nivo-site .nivo-studio-dropdown,
.nivo-site a[href*="studio"],
.nivo-site .nivo-footer-column:has(a[href*="studio"]){display:none!important}
/* Scrolled header: only the brand and primary CTA remain interactive. */
.nivo-site .nivo-navigation-anchor .nivo-header.is-expanded {
 position:fixed; top:10px; width:min(1240px,calc(100% - 32px));
 border:0; border-radius:0; background:transparent; backdrop-filter:none;
 box-shadow:none; pointer-events:none;
}
.nivo-site .nivo-navigation-anchor .nivo-header.is-expanded:before { display:none; }
.nivo-site .nivo-header.is-expanded .nivo-nav-links,
.nivo-site .nivo-header.is-expanded .login-link,
.nivo-site .nivo-header.is-expanded .nivo-menu { display:none; }
.nivo-site .nivo-header.is-expanded .nivo-nav-actions { margin-left:auto; gap:0; }
.nivo-site .nivo-header.is-expanded .nivo-brand,
.nivo-site .nivo-header.is-expanded .nivo-nav-actions > .nivo-button { pointer-events:auto; }


/* Slide the floating controls apart as the footer enters view. */
.nivo-site .nivo-navigation-anchor .nivo-header {
 visibility:visible;
}
.nivo-site .nivo-header .nivo-brand,
.nivo-site .nivo-header .nivo-nav-actions {
 translate:0 0; opacity:1;
 transition:translate 420ms cubic-bezier(.22,1,.36,1),opacity 260ms ease;
}
.nivo-site .nivo-navigation-anchor .nivo-header.is-footer-hidden {
 visibility:hidden; pointer-events:none;
 transition:visibility 0s 420ms;
}
.nivo-site .nivo-header.is-footer-hidden .nivo-brand { translate:-60vw 0; opacity:0; }
.nivo-site .nivo-header.is-footer-hidden .nivo-nav-actions { translate:60vw 0; opacity:0; }
.nivo-site .nivo-header.is-footer-hidden * { pointer-events:none; }
@media(prefers-reduced-motion:reduce) {
 .nivo-site .nivo-header .nivo-brand,
 .nivo-site .nivo-header .nivo-nav-actions,
 .nivo-site .nivo-navigation-anchor .nivo-header.is-footer-hidden { transition:none; }
 .nivo-site .nivo-header.is-footer-hidden .nivo-brand,
 .nivo-site .nivo-header.is-footer-hidden .nivo-nav-actions { translate:none; }
}

/* Mobile navigation must remain reachable after the header collapses. */
@media(max-width:800px) {
 .nivo-site .nivo-header.is-expanded .nivo-menu {
  display:flex; width:44px; max-width:44px; height:44px; padding:0;
  opacity:1; visibility:visible; pointer-events:auto; transform:none;
  background:#fff; color:#202020; border:1px solid #ddd; border-radius:10px;
 }
 .nivo-site .nivo-header.is-expanded .nivo-nav-actions { gap:10px; }
 .nivo-site .nivo-header.is-footer-hidden .nivo-menu { pointer-events:none; }
}
