/* =========================================================
   Site chrome — shared nav + footer (every page)
   ========================================================= */

/* Site nav (Carl, Blog, Careers, Get Started, Blog Post) */
.site-nav{
  position:fixed;top:0;left:0;right:0;
  display:flex;align-items:center;
  height:56px;padding:0 24px;
  background:var(--ink-900);
  z-index:50;
}
.site-nav__brand{display:flex;align-items:center;gap:14px;}
.site-nav__logo{width:22px;height:22px;display:block;}
.site-nav__wm{font-family:var(--font-mono);font-weight:700;font-size:14px;
  letter-spacing:0.16em;color:#fff;}
.site-nav__links{position:absolute;left:50%;transform:translateX(-50%);
  display:flex;gap:48px;}
.site-nav__link{font-size:14px;color:rgba(255,255,255,0.85);
  letter-spacing:-0.02em;cursor:pointer;transition:color 160ms;}
.site-nav__link:hover{color:#fff;}
.site-nav__pulse{margin-left:auto;}
.pulse-inner{
  --beam-color-1:255,50,100;
  --beam-color-2:40,140,255;
  --beam-color-3:50,200,80;
  --beam-color-4:30,185,170;
  --beam-color-5:100,70,255;
  --beam-color-6:40,140,255;
  --beam-color-7:255,120,40;
  --beam-color-8:240,50,180;
  --beam-color-9:180,40,240;
  display:inline-block;position:relative;border-radius:90px;
  isolation:isolate;overflow:hidden;
}
.pulse-inner--mono{
  --beam-color-1:180,180,180;
  --beam-color-2:140,140,140;
  --beam-color-3:160,160,160;
  --beam-color-4:130,130,130;
  --beam-color-5:170,170,170;
  --beam-color-6:150,150,150;
  --beam-color-7:190,190,190;
  --beam-color-8:145,145,145;
  --beam-color-9:165,165,165;
}
.pulse-inner--mono:hover,
.pulse-inner--mono:focus-within{
  --beam-color-1:255,50,100;
  --beam-color-2:40,140,255;
  --beam-color-3:50,200,80;
  --beam-color-4:30,185,170;
  --beam-color-5:100,70,255;
  --beam-color-6:40,140,255;
  --beam-color-7:255,120,40;
  --beam-color-8:240,50,180;
  --beam-color-9:180,40,240;
}
.pulse-inner::before,
.pulse-inner::after,
.pulse-inner__bloom{
  position:absolute;inset:0;border-radius:90px;
  clip-path:inset(0 round 90px);pointer-events:none;
  opacity:0;transition:opacity 500ms ease;
}
.pulse-inner::before,
.pulse-inner::after{
  content:"";
  filter:hue-rotate(var(--beam-hue,0deg)) brightness(.75) saturate(1.2);
}
.pulse-inner::after{
  z-index:2;padding:1px;
  background:
    radial-gradient(ellipse calc(70px * var(--beam-w1,1)) calc(40px * var(--beam-h1,1) * var(--beam-height,1)) at calc(33% + var(--beam-x1,0px)) calc(-7.4% + var(--beam-y1,0px)),rgba(var(--beam-color-1),var(--beam-opacity-tl,1)),transparent),
    radial-gradient(ellipse calc(60px * var(--beam-w2,1)) calc(35px * var(--beam-h2,1) * var(--beam-height,1)) at calc(12% + var(--beam-x2,0px)) calc(-5% + var(--beam-y2,0px)),rgba(var(--beam-color-2),var(--beam-opacity-tl,1)),transparent),
    radial-gradient(ellipse calc(40px * var(--beam-w3,1)) calc(70px * var(--beam-h3,1) * var(--beam-height,1)) at calc(2.1% + var(--beam-x3,0px)) calc(68.3% + var(--beam-y3,0px)),rgba(var(--beam-color-3),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(20px * var(--beam-w1,1)) calc(35px * var(--beam-h1,1) * var(--beam-height,1)) at calc(2.1% + var(--beam-x1,0px)) calc(68.3% + var(--beam-y1,0px)),rgba(var(--beam-color-4),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(180px * var(--beam-w2,1)) calc(32px * var(--beam-h2,1) * var(--beam-height,1)) at calc(74.4% + var(--beam-x2,0px)) calc(100% + var(--beam-y2,0px)),rgba(var(--beam-color-5),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(85px * var(--beam-w3,1)) calc(26px * var(--beam-h3,1) * var(--beam-height,1)) at calc(55% + var(--beam-x3,0px)) calc(100% + var(--beam-y3,0px)),rgba(var(--beam-color-6),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(74px * var(--beam-w1,1)) calc(32px * var(--beam-h1,1) * var(--beam-height,1)) at calc(93.9% + var(--beam-x1,0px)) calc(0% + var(--beam-y1,0px)),rgba(var(--beam-color-7),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(26px * var(--beam-w2,1)) calc(42px * var(--beam-h2,1) * var(--beam-height,1)) at calc(100% + var(--beam-x2,0px)) calc(27.1% + var(--beam-y2,0px)),rgba(var(--beam-color-8),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(52px * var(--beam-w3,1)) calc(48px * var(--beam-h3,1) * var(--beam-height,1)) at calc(100% + var(--beam-x3,0px)) calc(27.1% + var(--beam-y3,0px)),rgba(var(--beam-color-9),var(--beam-opacity-tr,1)),transparent);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
}
.pulse-inner::before{
  z-index:1;
  background:
    radial-gradient(ellipse calc(65px * var(--beam-w1,1)) calc(35px * var(--beam-h1,1) * var(--beam-height,1)) at calc(33% + var(--beam-x1,0px)) calc(-7.4% + var(--beam-y1,0px)),rgba(var(--beam-color-1),var(--beam-opacity-tl,1)),transparent),
    radial-gradient(ellipse calc(55px * var(--beam-w2,1)) calc(30px * var(--beam-h2,1) * var(--beam-height,1)) at calc(12% + var(--beam-x2,0px)) calc(-5% + var(--beam-y2,0px)),rgba(var(--beam-color-2),var(--beam-opacity-tl,1)),transparent),
    radial-gradient(ellipse calc(35px * var(--beam-w3,1)) calc(65px * var(--beam-h3,1) * var(--beam-height,1)) at calc(2.1% + var(--beam-x3,0px)) calc(68.3% + var(--beam-y3,0px)),rgba(var(--beam-color-3),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(15px * var(--beam-w1,1)) calc(30px * var(--beam-h1,1) * var(--beam-height,1)) at calc(2.1% + var(--beam-x1,0px)) calc(68.3% + var(--beam-y1,0px)),rgba(var(--beam-color-4),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(173px * var(--beam-w2,1)) calc(28px * var(--beam-h2,1) * var(--beam-height,1)) at calc(74.4% + var(--beam-x2,0px)) calc(100% + var(--beam-y2,0px)),rgba(var(--beam-color-5),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(80px * var(--beam-w3,1)) calc(22px * var(--beam-h3,1) * var(--beam-height,1)) at calc(55% + var(--beam-x3,0px)) calc(100% + var(--beam-y3,0px)),rgba(var(--beam-color-6),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(69px * var(--beam-w1,1)) calc(28px * var(--beam-h1,1) * var(--beam-height,1)) at calc(93.9% + var(--beam-x1,0px)) calc(0% + var(--beam-y1,0px)),rgba(var(--beam-color-7),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(22px * var(--beam-w2,1)) calc(38px * var(--beam-h2,1) * var(--beam-height,1)) at calc(100% + var(--beam-x2,0px)) calc(27.1% + var(--beam-y2,0px)),rgba(var(--beam-color-8),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(47px * var(--beam-w3,1)) calc(44px * var(--beam-h3,1) * var(--beam-height,1)) at calc(100% + var(--beam-x3,0px)) calc(27.1% + var(--beam-y3,0px)),rgba(var(--beam-color-9),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse 60px 60px at 0% 0%,rgba(255,255,255,calc(.18 * var(--beam-opacity-tl,1))),transparent 70%),
    radial-gradient(ellipse 60px 60px at 100% 0%,rgba(255,255,255,calc(.18 * var(--beam-opacity-tr,1))),transparent 70%),
    radial-gradient(ellipse 60px 60px at 0% 100%,rgba(255,255,255,calc(.18 * var(--beam-opacity-bl,1))),transparent 70%),
    radial-gradient(ellipse 60px 60px at 100% 100%,rgba(255,255,255,calc(.18 * var(--beam-opacity-br,1))),transparent 70%);
  -webkit-mask-image:
    linear-gradient(white,transparent 28px,transparent calc(100% - 28px),white),
    linear-gradient(to right,white,transparent 28px,transparent calc(100% - 28px),white);
  -webkit-mask-composite:source-over;
  mask-image:
    linear-gradient(white,transparent 28px,transparent calc(100% - 28px),white),
    linear-gradient(to right,white,transparent 28px,transparent calc(100% - 28px),white);
  mask-composite:add;
}
.pulse-inner__bloom{
  z-index:3;padding:1px;
  background:
    radial-gradient(ellipse 84px 48px at 33% -7.4%,rgba(var(--beam-color-1),.76),transparent),
    radial-gradient(ellipse 72px 42px at 12% -5%,rgba(var(--beam-color-2),.76),transparent),
    radial-gradient(ellipse 48px 84px at 2.1% 68.3%,rgba(var(--beam-color-3),.76),transparent),
    radial-gradient(ellipse 216px 38px at 74.4% 100%,rgba(var(--beam-color-5),.76),transparent),
    radial-gradient(ellipse 102px 31px at 55% 100%,rgba(var(--beam-color-6),.76),transparent),
    radial-gradient(ellipse 89px 38px at 93.9% 0%,rgba(var(--beam-color-7),.76),transparent),
    radial-gradient(ellipse 62px 58px at 100% 27.1%,rgba(var(--beam-color-9),.76),transparent);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  filter:blur(8px) hue-rotate(var(--beam-hue,0deg)) brightness(.75) saturate(1.2);
}
.pulse-inner:hover::before,
.pulse-inner:focus-within::before{opacity:.44;transition-duration:600ms;}
.pulse-inner:hover::after,
.pulse-inner:focus-within::after{opacity:1;transition-duration:600ms;}
.pulse-inner:hover .pulse-inner__bloom,
.pulse-inner:focus-within .pulse-inner__bloom{opacity:.66;transition-duration:600ms;}
.pulse-outside{
  --beam-color-1:255,50,100;
  --beam-color-2:40,140,255;
  --beam-color-3:50,200,80;
  --beam-color-4:30,185,170;
  --beam-color-5:100,70,255;
  --beam-color-6:40,140,255;
  --beam-color-7:255,120,40;
  --beam-color-8:240,50,180;
  --beam-color-9:180,40,240;
  --pulse-gradient:
    radial-gradient(ellipse calc(80px * var(--beam-w1,1) * var(--pulse-scale-x,1)) calc(19px * var(--beam-h1,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(27% + var(--beam-x1,0px)) calc(0% + var(--beam-y1,0px)),rgba(var(--beam-color-1),var(--beam-opacity-tl,1)),transparent),
    radial-gradient(ellipse calc(74px * var(--beam-w2,1) * var(--pulse-scale-x,1)) calc(11px * var(--beam-h2,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(73% + var(--beam-x2,0px)) calc(-1% + var(--beam-y2,0px)),rgba(var(--beam-color-7),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(15px * var(--beam-w3,1) * var(--pulse-scale-x,1)) calc(44px * var(--beam-h3,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(100% + var(--beam-x3,0px)) calc(33% + var(--beam-y3,0px)),rgba(var(--beam-color-8),var(--beam-opacity-tr,1)),transparent),
    radial-gradient(ellipse calc(19px * var(--beam-w1,1) * var(--pulse-scale-x,1)) calc(38px * var(--beam-h1,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(101% + var(--beam-x1,0px)) calc(72% + var(--beam-y1,0px)),rgba(var(--beam-color-9),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(84px * var(--beam-w2,1) * var(--pulse-scale-x,1)) calc(13px * var(--beam-h2,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(67% + var(--beam-x2,0px)) calc(100% + var(--beam-y2,0px)),rgba(var(--beam-color-5),var(--beam-opacity-br,1)),transparent),
    radial-gradient(ellipse calc(60px * var(--beam-w3,1) * var(--pulse-scale-x,1)) calc(21px * var(--beam-h3,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(24% + var(--beam-x3,0px)) calc(101% + var(--beam-y3,0px)),rgba(var(--beam-color-2),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(17px * var(--beam-w1,1) * var(--pulse-scale-x,1)) calc(40px * var(--beam-h1,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(0% + var(--beam-x1,0px)) calc(60% + var(--beam-y1,0px)),rgba(var(--beam-color-3),var(--beam-opacity-bl,1)),transparent),
    radial-gradient(ellipse calc(13px * var(--beam-w2,1) * var(--pulse-scale-x,1)) calc(32px * var(--beam-h2,1) * var(--beam-height,1) * var(--pulse-scale-y,1)) at calc(-1% + var(--beam-x2,0px)) calc(28% + var(--beam-y2,0px)),rgba(var(--beam-color-4),var(--beam-opacity-tl,1)),transparent);
  display:inline-block;position:relative;border-radius:90px;
  isolation:isolate;overflow:visible;
}
.pulse-outside--mono{
  --beam-color-1:180,180,180;
  --beam-color-2:140,140,140;
  --beam-color-3:160,160,160;
  --beam-color-4:130,130,130;
  --beam-color-5:170,170,170;
  --beam-color-6:150,150,150;
  --beam-color-7:190,190,190;
  --beam-color-8:145,145,145;
  --beam-color-9:165,165,165;
}
.pulse-outside--mono:hover,
.pulse-outside--mono:focus-within{
  --beam-color-1:255,50,100;
  --beam-color-2:40,140,255;
  --beam-color-3:50,200,80;
  --beam-color-4:30,185,170;
  --beam-color-5:100,70,255;
  --beam-color-6:40,140,255;
  --beam-color-7:255,120,40;
  --beam-color-8:240,50,180;
  --beam-color-9:180,40,240;
}
.pulse-outside::before,
.pulse-outside::after,
.pulse-outside__bloom{
  position:absolute;pointer-events:none;transition:opacity 500ms ease;
}
.pulse-outside::before,
.pulse-outside::after{content:"";background:var(--pulse-gradient);}
.pulse-outside::after{
  inset:0;z-index:2;border-radius:90px;padding:1px;
  clip-path:inset(0 round 90px);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  filter:hue-rotate(var(--beam-hue,0deg)) brightness(1.9) saturate(1.2);
  opacity:.47;
}
.pulse-outside::before{
  inset:-10px;z-index:-1;border-radius:100px;
  transform:scale(.95,.9);
  filter:blur(3px) hue-rotate(var(--beam-hue,0deg)) brightness(1.9) saturate(1.2);
  opacity:.17;
}
.pulse-outside__bloom{
  inset:-30px;z-index:-1;border-radius:120px;
  background:
    radial-gradient(ellipse calc(110px * var(--pulse-scale-x,1)) calc(30px * var(--pulse-scale-y,1)) at 27% 3%,rgba(var(--beam-color-1),.77),transparent),
    radial-gradient(ellipse calc(100px * var(--pulse-scale-x,1)) calc(20px * var(--pulse-scale-y,1)) at 73% 1%,rgba(var(--beam-color-7),.77),transparent),
    radial-gradient(ellipse calc(26px * var(--pulse-scale-x,1)) calc(62px * var(--pulse-scale-y,1)) at 100% 33%,rgba(var(--beam-color-8),.77),transparent),
    radial-gradient(ellipse calc(30px * var(--pulse-scale-x,1)) calc(56px * var(--pulse-scale-y,1)) at 101% 72%,rgba(var(--beam-color-9),.77),transparent),
    radial-gradient(ellipse calc(120px * var(--pulse-scale-x,1)) calc(22px * var(--pulse-scale-y,1)) at 67% 99%,rgba(var(--beam-color-5),.77),transparent),
    radial-gradient(ellipse calc(88px * var(--pulse-scale-x,1)) calc(32px * var(--pulse-scale-y,1)) at 24% 99%,rgba(var(--beam-color-2),.77),transparent),
    radial-gradient(ellipse calc(28px * var(--pulse-scale-x,1)) calc(58px * var(--pulse-scale-y,1)) at 0% 60%,rgba(var(--beam-color-3),.77),transparent);
  transform:scale(.95,.9);
  filter:blur(22.5px) hue-rotate(var(--beam-hue,0deg)) brightness(1.9) saturate(1.2);
  opacity:.15;
}
/* --lit: hold the hover intensity permanently (always-on placements). */
.pulse-outside--lit::before{opacity:.34;}
.pulse-outside--lit::after{opacity:.94;}
.pulse-outside--lit .pulse-outside__bloom{opacity:.3;}
.pulse-outside:hover::before,
.pulse-outside:focus-within::before{opacity:.34;transition-duration:600ms;}
.pulse-outside:hover::after,
.pulse-outside:focus-within::after{opacity:.94;transition-duration:600ms;}
.pulse-outside:hover .pulse-outside__bloom,
.pulse-outside:focus-within .pulse-outside__bloom{opacity:.3;transition-duration:600ms;}
.site-nav__cta{display:block;position:relative;z-index:1;padding:9px 22px;border-radius:90px;
  border:1px solid rgba(247,247,237,0.18);background:rgba(247,247,237,0.10);
  color:#fff;font-size:14px;letter-spacing:-0.02em;cursor:pointer;
  transition:background 200ms,border-color 200ms;}
.site-nav__cta:hover{background:rgba(247,247,237,0.20);
  border-color:rgba(247,247,237,0.30);}
.site-nav__mobile-cta{display:none;}
.site-nav__mobile-btn{
  display:none;flex-direction:column;gap:5px;margin-left:auto;padding:8px;
  color:#fff;background:transparent;border:0;cursor:pointer;
}
.site-nav__mobile-btn span{display:block;width:24px;height:2px;background:currentColor;}
.site-nav__hairline{position:fixed;top:56px;left:0;right:0;
  height:1px;border:0;margin:0;z-index:50;
  background:linear-gradient(90deg,transparent 0%,
    rgba(255,255,255,0.18) 12%,rgba(255,255,255,0.18) 88%,transparent 100%);}
@media (max-width:860px){
  .site-nav{padding:0 16px;}
  .site-nav__links{
    display:none;position:absolute;top:56px;left:0;right:0;transform:none;
    flex-direction:column;gap:0;padding:14px 20px 18px;
    background:var(--ink-900);border-top:1px solid rgba(255,255,255,0.08);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .site-nav__links--open{display:flex;}
  .site-nav__link{
    padding:13px 0;border-bottom:1px solid rgba(255,255,255,0.07);
  }
  .site-nav__pulse{display:none;}
  .site-nav__mobile-cta{
    display:flex;justify-content:center;margin-top:14px;padding:10px 20px;
    border-radius:90px;border:1px solid rgba(247,247,237,0.18);
    background:rgba(247,247,237,0.10);color:#fff;font-size:14px;
  }
  .site-nav__mobile-btn{display:flex;}
}
@media (max-width:420px){
  .site-nav__wm{font-size:12px;letter-spacing:0.12em;}
}
@media (prefers-reduced-motion:reduce){
  .pulse-inner::before,
  .pulse-inner::after,
  .pulse-inner__bloom,
  .pulse-outside::before,
  .pulse-outside::after,
  .pulse-outside__bloom{transition:none;}
}

/* ========== Footer shared ========== */
.m-foot{background:var(--ink-900);color:var(--cream-50);padding:80px 40px 32px;
  position:relative;overflow:hidden;}
.m-foot__wm{
  font-family:var(--font-display);font-size:clamp(80px,14vw,180px);
  line-height:0.88;letter-spacing:-0.045em;color:var(--cream-50);
  margin:48px 0 64px;font-weight:400;
}
.m-foot__top{display:flex;align-items:flex-start;gap:20px;}
.m-foot__bot{display:flex;justify-content:space-between;align-items:center;
  padding-top:24px;border-top:1px solid rgba(247,247,237,0.12);
  font-size:13px;color:rgba(247,247,237,0.65);flex-wrap:wrap;gap:16px;}
.m-foot__links{display:flex;gap:28px;}
.m-foot__links a{cursor:pointer;transition:color 150ms;}
.m-foot__links a:hover{color:var(--cream-50);}

/* ---- v2 footer (three-column) ---- */
.m-foot--v2{padding:72px 48px 28px;max-width:1400px;margin:0 auto;}
.m-foot__grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:64px;
  padding-bottom:56px;
}
.m-foot__brand-row{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.m-foot__brand-word{
  font-family:var(--font-serif);font-size:30px;font-weight:400;
  letter-spacing:-0.015em;color:var(--cream-50);
}
.m-foot__desc{
  font-size:13.5px;line-height:1.55;color:rgba(247,247,237,0.55);
  max-width:320px;margin:0;
}
.m-foot__col{display:flex;flex-direction:column;gap:14px;}
.m-foot__h{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;
  text-transform:uppercase;color:rgba(247,247,237,0.4);
  margin-bottom:4px;
}
.m-foot__col a{
  font-size:14px;color:rgba(247,247,237,0.72);cursor:pointer;
  transition:color 150ms;
}
.m-foot__col a:hover{color:var(--cream-50);}
.m-foot--v2 .m-foot__bot{
  font-family:var(--font-sans);font-size:13px;
  color:rgba(247,247,237,0.5);
  padding-top:24px;
}
.m-foot__social{display:flex;gap:22px;align-items:center;}
.m-foot__social a{
  color:rgba(247,247,237,0.55);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:color 150ms;
}
.m-foot__social a:hover{color:var(--cream-50);}

@media(max-width:768px){
  .m-foot__grid{grid-template-columns:1fr 1fr;gap:40px;}
  .m-foot__brand{grid-column:1/-1;}
}
