/* The home page's SVG and motion rules, scoped to pricing. */
:root{--mascot-filter:drop-shadow(0 16px 26px rgba(10,10,10,.22))}
:root[data-theme="dark"]{--mascot-filter:drop-shadow(0 16px 26px rgba(255,255,255,.17)) drop-shadow(0 2px 6px rgba(255,255,255,.12))}
:root[data-theme="dark"] .mascot-body,
:root[data-theme="dark"] .nav-mascot-body{fill:url(#mascotGradDark)}
  .wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 32px;
  }

  /* ---------- NAV ---------- */
  nav .wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:72px;
  }
  .logo{
    text-decoration:none;
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    font-size:18px;
    letter-spacing:-0.01em;
    display:flex; align-items:center; gap:10px;
  }
  .logo .mark{width:9px;height:9px;border-radius:2px;background:var(--ink);display:inline-block;}

  /* small live mascot used as the nav logo mark — separate from .mascot so it
     never enters the cursor-tracking pool, but shares the same body/wiggle */
  .nav-mascot{
    display:block;
    transform-origin:50% 55%;
    animation:sway1 6.4s ease-in-out infinite;
  }
  .nav-mascot-body{
    fill:var(--ink);
    animation:spikeMorph 4s ease-in-out infinite;
  }
  .nav-mascot-face line{
    stroke:var(--paper); stroke-width:3.4; stroke-linecap:round;
  }
  .nav-pupil{
    fill:var(--paper);
    transform-box:fill-box;
    transform-origin:center;
    animation:navBlink 2.4s ease-in-out infinite;
  }
  @keyframes navBlink{
    0%, 92%, 100%{transform:scaleY(1);}
    95%{transform:scaleY(.12);}
  }
  @media (prefers-reduced-motion: reduce){
    .nav-mascot{animation:none;}
    .nav-mascot-body{animation:none;}
    .nav-pupil{animation:none;}
  }

  .nav-actions{display:flex; align-items:center; gap:10px;}
  .theme-toggle{
    width:38px; height:38px; border-radius:50%;
    border:1px solid var(--line); background:transparent; color:var(--ink);
    display:inline-flex; align-items:center; justify-content:center;
    cursor:pointer; transition:border-color .15s ease, background .15s ease;
  }
  .theme-toggle:hover{border-color:var(--ink);}
  .theme-toggle svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .theme-toggle .icon-sun{display:none;}
  :root[data-theme="dark"] .theme-toggle .icon-sun{display:block;}
  :root[data-theme="dark"] .theme-toggle .icon-moon{display:none;}

  nav .cta{
    font-size:13.5px; font-weight:500; padding:9px 18px;
    border:1px solid var(--ink); border-radius:100px;
    text-decoration:none; transition:background .15s ease, color .15s ease;
  }
  nav .cta:hover{background:var(--ink); color:var(--paper);}
  nav .cta-solid{background:var(--ink); color:var(--paper);}
  nav .cta-solid:hover{background:transparent; color:var(--ink);}
  .nav-links{display:flex; align-items:center; gap:22px; margin-right:8px;}
  .mobile-docs-link{display:none; font-size:13px; font-weight:500; text-decoration:none;}
  .nav-links a{font-size:13.5px; font-weight:500; text-decoration:none; color:var(--soft); transition:color .15s ease;}
  .nav-links a:hover{color:var(--ink);}
  /* phones: logo, theme and Get started only (the email stays in the footer) */
  @media (max-width:640px){
    .nav-links{display:none;}
    .mobile-docs-link{display:inline;}
    nav .cta{padding:8px 14px;}
  }
  /* phones up to 430 px: the logo, Docs, Pricing and the theme button fill the bar, so the Get started button goes
     (the hero below has the install box) */
  @media (max-width:430px){nav .cta{display:none;} .mobile-docs-link{white-space:nowrap;}}
  @media (max-width:360px){.nav-actions{gap:5px}.mobile-docs-link{font-size:12px}nav .logo{font-size:17px}}

  .mascot{
    width:82px; height:67px;
    display:block;
    transform-origin:50% 55%;
    animation:sway1 6.4s ease-in-out infinite;
  }

  .mascot-body{
    fill:var(--ink);
    animation:spikeMorph 3.6s ease-in-out infinite;
  }

  .mascot-face > *{display:none;}

  .mascot[data-state="no-context"] .face-nocontext{display:block;}

  .mascot-face line, .mascot-face path{
    stroke:var(--paper); stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round; fill:none;
  }

  .mascot-pupil{
    fill:var(--paper);
    animation:heroBlink 4.2s ease-in-out infinite;
  }

  @keyframes heroBlink{
    0%, 92%, 100%{r:3.4px;}
    96%{r:.5px;}
  }

  @keyframes sway1{
    0%,100%{transform:rotate(0deg);}
    50%{transform:rotate(-4deg);}
  }

  @keyframes spikeMorph{
    0%, 100%{d:path("M50.00 8.00 C56.00 8.00 59.36 14.27 63.42 14.14 C67.36 14.27 74.40 4.48 80.64 8.22 C86.40 12.48 80.00 24.00 84.00 27.00 C88.00 30.00 93.95 29.24 93.59 36.29 C93.95 43.24 86.21 43.84 86.07 48.81 C86.21 53.84 93.00 60.00 88.00 65.00 C83.00 70.00 75.50 64.63 71.59 68.75 C67.50 72.63 69.61 81.97 62.72 82.32 C55.61 81.97 54.00 72.00 50.00 72.00 C46.00 72.00 41.61 78.03 38.72 77.68 C35.61 78.03 31.50 69.37 29.59 67.25 C27.50 65.37 16.00 70.00 12.00 65.00 C8.00 60.00 8.21 54.16 12.07 49.19 C16.21 44.16 1.95 42.76 1.59 35.71 C1.95 28.76 12.00 30.00 16.00 27.00 C20.00 24.00 18.40 15.52 22.64 11.78 C26.40 7.52 31.36 15.73 37.42 15.86 C43.36 15.73 44.00 8.00 50.00 8.00 Z");}
    12.5%{d:path("M50.00 7.22 C56.00 7.34 59.40 14.19 63.47 14.05 C67.40 14.19 73.42 5.55 79.49 9.47 C85.42 13.55 79.39 24.26 83.28 27.30 C87.39 30.26 93.72 29.27 93.31 36.32 C93.72 43.27 86.76 43.95 86.72 48.94 C86.76 53.95 94.43 60.89 89.68 66.04 C84.43 70.89 75.56 64.71 71.66 68.83 C67.56 72.71 69.18 80.59 62.22 80.69 C55.18 80.59 54.00 71.34 50.00 71.22 C46.00 71.34 41.68 77.81 38.80 77.42 C35.68 77.81 31.15 69.81 29.18 67.78 C27.15 65.81 14.57 70.89 10.32 66.04 C6.57 60.89 8.11 54.18 11.96 49.21 C16.11 44.18 3.39 42.93 3.28 35.91 C3.39 28.93 12.61 30.26 16.72 27.30 C20.61 24.26 18.56 15.69 22.83 11.99 C26.56 7.69 31.11 15.22 37.13 15.26 C43.11 15.22 44.00 7.34 50.00 7.22 Z");}
    25%{d:path("M50.00 6.90 C56.00 7.06 59.21 14.58 63.24 14.51 C67.21 14.58 72.19 6.88 78.05 11.03 C84.19 14.88 79.14 24.37 82.99 27.43 C87.14 30.37 94.82 29.14 94.61 36.17 C94.82 43.14 87.46 44.09 87.54 49.11 C87.46 54.09 95.02 61.25 90.38 66.47 C85.02 71.25 75.29 64.37 71.34 68.43 C67.29 72.37 68.65 78.86 61.58 78.66 C54.65 78.86 54.00 71.06 50.00 70.90 C46.00 71.06 41.35 78.86 38.42 78.66 C35.35 78.86 30.71 70.37 28.66 68.43 C26.71 66.37 13.98 71.25 9.62 66.47 C5.98 61.25 8.54 54.09 12.46 49.11 C16.54 44.09 5.18 43.14 5.39 36.17 C5.18 29.14 12.86 30.37 17.01 27.43 C20.86 24.37 17.81 14.88 21.95 11.03 C25.81 6.88 30.79 14.58 36.76 14.51 C42.79 14.58 44.00 7.06 50.00 6.90 Z");}
    37.5%{d:path("M50.00 7.22 C56.00 7.34 58.89 15.22 62.87 15.26 C66.89 15.22 71.44 7.69 77.17 11.99 C83.44 15.69 79.39 24.26 83.28 27.30 C87.39 30.26 96.61 28.93 96.72 35.91 C96.61 42.93 87.89 44.18 88.04 49.21 C87.89 54.18 94.43 60.89 89.68 66.04 C84.43 70.89 74.85 63.81 70.82 67.78 C66.85 71.81 68.32 77.81 61.20 77.42 C54.32 77.81 54.00 71.34 50.00 71.22 C46.00 71.34 40.82 80.59 37.78 80.69 C34.82 80.59 30.44 70.71 28.34 68.83 C26.44 66.71 14.57 70.89 10.32 66.04 C6.57 60.89 9.24 53.95 13.28 48.94 C17.24 43.95 6.28 43.27 6.69 36.32 C6.28 29.27 12.61 30.26 16.72 27.30 C20.61 24.26 16.58 13.55 20.51 9.47 C24.58 5.55 30.60 14.19 36.53 14.05 C42.60 14.19 44.00 7.34 50.00 7.22 Z");}
    50%{d:path("M50.00 8.00 C56.00 8.00 58.64 15.73 62.58 15.86 C66.64 15.73 71.60 7.52 77.36 11.78 C83.60 15.52 80.00 24.00 84.00 27.00 C88.00 30.00 98.05 28.76 98.41 35.71 C98.05 42.76 87.79 44.16 87.93 49.19 C87.79 54.16 93.00 60.00 88.00 65.00 C83.00 70.00 74.50 63.37 70.41 67.25 C66.50 71.37 68.39 78.03 61.28 77.68 C54.39 78.03 54.00 72.00 50.00 72.00 C46.00 72.00 40.39 81.97 37.28 82.32 C34.39 81.97 30.50 70.63 28.41 68.75 C26.50 66.63 16.00 70.00 12.00 65.00 C8.00 60.00 9.79 53.84 13.93 48.81 C17.79 43.84 6.05 43.24 6.41 36.29 C6.05 29.24 12.00 30.00 16.00 27.00 C20.00 24.00 15.60 12.48 19.36 8.22 C23.60 4.48 30.64 14.27 36.58 14.14 C42.64 14.27 44.00 8.00 50.00 8.00 Z");}
    62.5%{d:path("M50.00 8.78 C56.00 8.66 58.60 15.81 62.53 15.95 C66.60 15.81 72.58 6.45 78.51 10.53 C84.58 14.45 80.61 23.74 84.72 26.70 C88.61 29.74 98.28 28.73 98.69 35.68 C98.28 42.73 87.24 44.05 87.28 49.06 C87.24 54.05 91.57 59.11 86.32 63.96 C81.57 69.11 74.44 63.29 70.34 67.17 C66.44 71.29 68.82 79.41 61.78 79.31 C54.82 79.41 54.00 72.66 50.00 72.78 C46.00 72.66 40.32 82.19 37.20 82.58 C34.32 82.19 30.85 70.19 28.82 68.22 C26.85 66.19 17.43 69.11 13.68 63.96 C9.43 59.11 9.89 53.82 14.04 48.79 C17.89 43.82 4.61 43.07 4.72 36.09 C4.61 29.07 11.39 29.74 15.28 26.70 C19.39 23.74 15.44 12.31 19.17 8.01 C23.44 4.31 30.89 14.78 36.87 14.74 C42.89 14.78 44.00 8.66 50.00 8.78 Z");}
    75%{d:path("M50.00 9.10 C56.00 8.94 58.79 15.42 62.76 15.49 C66.79 15.42 73.81 5.12 79.95 8.97 C85.81 13.12 80.86 23.63 85.01 26.57 C88.86 29.63 97.18 28.86 97.39 35.83 C97.18 42.86 86.54 43.91 86.46 48.89 C86.54 53.91 90.98 58.75 85.62 63.53 C80.98 68.75 74.71 63.63 70.66 67.57 C66.71 71.63 69.35 81.14 62.42 81.34 C55.35 81.14 54.00 72.94 50.00 73.10 C46.00 72.94 40.65 81.14 37.58 81.34 C34.65 81.14 31.29 69.63 29.34 67.57 C27.29 65.63 18.02 68.75 14.38 63.53 C10.02 58.75 9.46 53.91 13.54 48.89 C17.46 43.91 2.82 42.86 2.61 35.83 C2.82 28.86 11.14 29.63 14.99 26.57 C19.14 23.63 16.19 13.12 20.05 8.97 C24.19 5.12 31.21 15.42 37.24 15.49 C43.21 15.42 44.00 8.94 50.00 9.10 Z");}
    87.5%{d:path("M50.00 8.78 C56.00 8.66 59.11 14.78 63.13 14.74 C67.11 14.78 74.56 4.31 80.83 8.01 C86.56 12.31 80.61 23.74 84.72 26.70 C88.61 29.74 95.39 29.07 95.28 36.09 C95.39 43.07 86.11 43.82 85.96 48.79 C86.11 53.82 91.57 59.11 86.32 63.96 C81.57 69.11 75.15 64.19 71.18 68.22 C67.15 72.19 69.68 82.19 62.80 82.58 C55.68 82.19 54.00 72.66 50.00 72.78 C46.00 72.66 41.18 79.41 38.22 79.31 C35.18 79.41 31.56 69.29 29.66 67.17 C27.56 65.29 17.43 69.11 13.68 63.96 C9.43 59.11 8.76 54.05 12.72 49.06 C16.76 44.05 1.72 42.73 1.31 35.68 C1.72 28.73 11.39 29.74 15.28 26.70 C19.39 23.74 17.42 14.45 21.49 10.53 C25.42 6.45 31.40 15.81 37.47 15.95 C43.40 15.81 44.00 8.66 50.00 8.78 Z");}
  }
.pricing,.pricing-head,.pricing-mascot-frame,.pricing-head-turn,.pricing-mascot.mascot{overflow:visible}
.pricing-mascot-frame{width:112px;flex:none;filter:var(--mascot-filter)}
.pricing-mascot.mascot{width:100%;height:auto}
.pricing-head-turn{
  transform-origin:50% 55%;
  will-change:transform;
}
@media(max-width:640px){.pricing-mascot-frame{width:84px}}
@media (hover:none), (pointer:coarse), (max-width:640px), (prefers-reduced-motion:reduce){
  .pricing-head-turn{transform:none!important;will-change:auto}
  .pricing-mascot,.pricing-mascot .mascot-body,.pricing-mascot .mascot-pupil{animation:none;transition:none}
}
