/* ═══════════════════════════════════════════════════════════════
   v2-chrome.css — nav + mobile menu + footer + skip-link for the v2
   (dark) marketing pages. Ported from
   team-july2026-multipager/css/chrome.css.

   Used with V2Nav.astro / V2Footer.astro on pages that render
   BaseLayout with chrome={false} (they bring their own chrome, the
   same way the v2 homepage does). Load AFTER v2-base.css.

   NOT ported: the light/dark theme-toggle button styles (.nav__theme,
   .mnav__theme) — the toggle is deferred as its own feature, so the
   button isn't rendered and its CSS would be dead.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --chrome-maxw:none;
  --chrome-pad:clamp(1.3rem,4vw,3.5rem);
  --nav-bg:rgba(13,12,11,.72);
  --mnav-bg:rgba(13,12,11,.97);
  --hover-tint:rgba(239,235,227,.05);
  --shadow-lg:rgba(0,0,0,.5);
  --bloom:rgba(217,250,135,.055);
  /* Self-sufficiency: these normally come from v2-base.css, but the homepage
     loads only homepage-v2.css + this file (it brings its own design system),
     and homepage-v2.css doesn't define them. Without --on-accent the "Sign up
     free" pill renders with no text colour. Values match v2-base.css exactly,
     so pages loading both are unaffected. */
  --on-accent:#0d0c0b;
  --v2-ease:cubic-bezier(.16,1,.3,1);
}

.v2-chrome a{text-decoration:none}
.nav button{background:none;border:0;font-family:inherit;cursor:pointer;color:inherit}

/* ═══ NAV ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,border-color .4s,backdrop-filter .4s}
.nav__in{max-width:var(--chrome-maxw);margin:0 auto;padding:.85rem var(--chrome-pad);display:flex;align-items:center;gap:1.5rem}
.nav.scrolled{background:var(--nav-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav__brand{flex:none;display:flex;align-items:center}
.nav__brand img{height:26px;width:auto;filter:brightness(0) invert(1)}
.nav__menu{display:flex;align-items:center;gap:.15rem;margin-left:.5rem}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:.35em;padding:.55rem .85rem;border-radius:8px;
  font-size:.9rem;color:var(--bone-dim);transition:color .2s,background .2s}
.nav__link:hover, .nav__item:hover .nav__link, .nav__item:focus-within .nav__link{color:var(--bone);background:var(--hover-tint)}
.nav__link.is-active{color:var(--bone)}
.nav__link .caret{width:.5em;height:.5em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-1px);transition:transform .28s var(--v2-ease)}
.nav__item:hover .caret, .nav__item:focus-within .caret{transform:rotate(225deg) translateY(-1px)}
.nav__spacer{flex:1}
.nav__cta{display:flex;align-items:center;gap:.7rem;flex:none}
.nav__signin{font-size:.9rem;color:var(--bone-dim);padding:.55rem .6rem;transition:color .2s}
.nav__signin:hover{color:var(--bone)}
.nav__beta{background:var(--lime);color:var(--on-accent);font-weight:600;font-size:.86rem;padding:.6rem 1.15rem;border-radius:99px;transition:background .25s}
.nav__beta:hover{background:var(--bone)}

/* Top-level nav items must all read the same colour. The `.nav button` reset
   above sets color:inherit at (0,1,1), which outranks `.nav__link` (0,1,0), so
   the three dropdown BUTTONS rendered full white while the anchor-based
   "Pricing" stayed at --bone-dim (measured rgb(239,235,227) vs
   rgba(239,235,227,.56)). Reported as "Pricing is grey, not white".
   Upstream fixed this by forcing the anchor to --bone (chrome.css 99bb9dc);
   this is the same outcome, stated for BOTH element types so the rule doesn't
   depend on which one the markup happens to use. */
.nav__menu .nav__link,.nav__menu a.nav__link,.nav__menu button.nav__link{color:var(--bone)}

/* dropdown panel */
.nav__panel{position:absolute;top:calc(100% + .5rem);left:0;min-width:26rem;
  background:var(--ink-2);border:1px solid var(--line);border-radius:14px;padding:.6rem;
  box-shadow:0 24px 60px var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);
  pointer-events:none;transition:opacity .22s,visibility .22s,transform .22s var(--v2-ease)}
/* invisible bridge across the gap so hover doesn't drop between trigger + panel */
.nav__panel::before{content:'';position:absolute;left:0;right:0;top:-.7rem;height:.7rem}
.nav__item:hover .nav__panel, .nav__item:focus-within .nav__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.nav__plabel{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-faint);padding:.5rem .75rem .35rem;margin:0}
.nav__prow{display:flex;gap:.8rem;align-items:flex-start;padding:.6rem .75rem;border-radius:9px;transition:background .18s}
.nav__prow:hover{background:var(--hover-tint)}
.nav__prow .ic{width:1.7rem;height:1.7rem;border-radius:7px;background:var(--ink-3);border:1px solid var(--line);flex:none;display:grid;place-items:center;color:var(--v2-accent)}
.nav__prow .ic svg{width:.95rem;height:.95rem}
.nav__prow b{display:block;font-size:.9rem;font-weight:560;color:var(--bone)}
.nav__prow span{display:block;font-size:.78rem;color:var(--bone-dim);margin-top:.1rem;line-height:1.4}

/* "Pro" pill in the dropdown + mobile menu */
.nav__pro{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  color:var(--v2-accent);border:1px solid var(--v2-accent);border-radius:99px;padding:.22em .5em;line-height:1;
  margin-left:auto;align-self:center;flex:none}
.mnav__grp a .nav__pro{font-size:.56rem}

/* burger + mobile menu */
.nav__burger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;flex:none}
.nav__burger i{width:20px;height:1.6px;background:var(--bone);transition:transform .35s var(--v2-ease),opacity .2s}
body.menu-open .nav__burger i:nth-child(1){transform:translateY(3.3px) rotate(45deg)}
body.menu-open .nav__burger i:nth-child(2){opacity:0}
body.menu-open .nav__burger i:nth-child(3){transform:translateY(-3.3px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:95;background:var(--mnav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  padding:6rem var(--chrome-pad) 2rem;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
body.menu-open .mnav{opacity:1;visibility:visible}
.mnav__grp{border-bottom:1px solid var(--line);padding:1.1rem 0}
.mnav__grp>p{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-faint);margin-bottom:.7rem}
.mnav__grp a{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;padding:.35rem 0;color:var(--bone)}
.mnav__cta{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem}
@media(max-width:940px){.nav__menu, .nav__signin{display:none}
  .nav__burger{display:flex}
  .nav__spacer{flex:1}
}

/* ═══ FOOTER ═══ */
.foot{position:relative;overflow:hidden;border-top:1px solid var(--line);padding:clamp(4rem,7vw,6rem) var(--chrome-pad) 1.2rem;background:var(--ink)}
.foot::before{content:'';position:absolute;top:-8rem;right:-6rem;width:26rem;height:26rem;border-radius:50%;
  background:radial-gradient(circle,var(--bloom),transparent 70%);pointer-events:none}
.foot__in{max-width:var(--chrome-maxw);margin:0 auto;position:relative;z-index:1}
.foot__news{display:grid;gap:1.8rem;grid-template-columns:1fr;align-items:center;padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--line)}
@media(min-width:820px){.foot__news{grid-template-columns:1fr auto}}
.foot__news h3{font-family:var(--font-display,'InterV',Inter,-apple-system,sans-serif);font-weight:330;letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.12;color:var(--bone);margin-bottom:.6rem}
.foot__news h3 em{font-family:var(--font-serif);font-style:italic;color:var(--accent)}  /* --accent, not --v2-accent: this file loads on the HOMEPAGE too, which
     doesn't load v2-base.css, so the v2- prefixed token is undefined there
     and the colour silently fell back to inherited bone. Also dropped the
     'Nyght Serif' fallback — that family name is declared nowhere. */
.foot__news p{color:var(--bone-dim);font-size:.92rem;max-width:34rem;line-height:1.55}
.foot__form{position:relative;display:flex;align-items:center;background:var(--glass);border:1px solid var(--line);border-radius:99px;padding:.35rem .35rem .35rem 1.4rem;min-width:min(28rem,100%);transition:border-color .25s}
.foot__form:focus-within{border-color:rgba(217,250,135,.5)}
.foot__form input{flex:1;border:0;outline:none;background:transparent;color:var(--bone);font-family:inherit;font-size:.94rem;padding:.6rem 0;min-width:0}
.foot__form input::placeholder{color:var(--bone-faint)}
.foot__form button{background:var(--lime);color:var(--on-accent);border:0;border-radius:99px;padding:.6rem 1.3rem;font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;flex:none;transition:background .3s,color .3s}
.foot__form button:hover{background:var(--bone)}
.foot__form.done button{background:var(--ink-3);color:var(--v2-accent);cursor:default}
.foot__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.foot__grid{display:grid;gap:2.4rem;grid-template-columns:1fr 1fr}
/* repeat(4), matching the source: brand + Platform + Solutions + Company +
   Legal. Ours said repeat(3) — a Legal column was added later and the grid
   was never widened, so it wrapped onto its own row. */
@media(min-width:820px){.foot__grid{grid-template-columns:1.6fr repeat(4,1fr)}}
.foot__brand img{height:26px;filter:brightness(0) invert(1);margin-bottom:1.1rem}
.foot__brand p{color:var(--bone-dim);font-size:.88rem;max-width:19rem;line-height:1.6}
.foot__social{display:flex;gap:.7rem;margin-top:1.3rem}
.foot__social a{width:2.05rem;height:2.05rem;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--bone-dim);transition:color .25s,border-color .25s}
.foot__social a:hover{color:var(--v2-accent);border-color:rgba(217,250,135,.4)}
.foot__social svg{width:1rem;height:1rem}
.foot__col p{font-family:ui-monospace,'SF Mono','JetBrains Mono',Menlo,monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-faint);margin-bottom:1rem}
.foot__col a{display:block;color:var(--bone-dim);font-size:.9rem;padding:.32rem 0;transition:color .2s}
.foot__col a:hover{color:var(--bone)}
.foot__bot{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line);color:var(--bone-faint)}
.foot__bot .mono{letter-spacing:.14em;text-transform:uppercase;font-size:.62rem}

/* skip-to-content — visually hidden until keyboard focus (WCAG 2.2) */
.skip-link{position:fixed;left:.5rem;top:-3rem;z-index:2000;background:var(--lime);color:var(--on-accent);
  padding:.65rem 1.1rem;border-radius:10px;font-weight:600;font-size:.9rem;text-decoration:none;
  transition:top .18s ease}
.skip-link:focus{top:.5rem;outline:2px solid var(--on-accent);outline-offset:2px}

/* ── .pro-tag / .chat__pro — PORTED, they were missing ──
   Both are used by our own markup and had no styles at all:
   .pro-tag in v2-connections-body.html and v2-teammate-body.html,
   .chat__pro in homepage-v2-body.html. Another instance of the pattern the
   base-CSS reconcile turned up — the markup came across in the original port,
   the styles for it didn't, and nothing failed loudly. */
.pro-tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.2em;
  text-transform:uppercase;font-weight:500;color:var(--accent);border:1px solid var(--accent);border-radius:99px;
  padding:.55em .55em .55em 1.1em;line-height:1;margin-bottom:1.4rem;
  background:color-mix(in srgb, var(--accent) 12%, transparent)}
.pro-tag b{font-weight:700;letter-spacing:.14em;color:var(--on-accent);background:var(--accent);
  border-radius:99px;padding:.35em .7em;margin-left:.7em}
.chat__pro{margin:1.1rem auto 0;text-align:center;font-size:.86rem;color:var(--bone-dim);line-height:1.5;max-width:34rem}
.chat__pro b{font-family:var(--font-mono);font-size:.82em;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:var(--on-accent);background:var(--accent);border-radius:99px;padding:.25em .6em;margin:0 .12em}
