/* RIVET — chrome v2 (light): mega-menu header + footer */

/* ============ NOTIFICATION BAR (founding seats) ============ */
.notif { position:fixed; top:0; left:0; right:0; z-index:120; display:none; align-items:center; justify-content:center; gap:6px; height:42px; padding:0 46px 0 14px;
  background:linear-gradient(100deg, var(--ink) 30%, #2a0a56 70%, #4a0a78);
  border-bottom:1px solid rgba(255,255,255,0.12); }
html.has-notif .notif { display:flex; }
.notif__link { display:flex; align-items:center; gap:10px; min-width:0; text-decoration:none; color:#fff; font-size:0.86rem; }
.notif__dot { flex:none; width:8px; height:8px; border-radius:50%; background:var(--magenta); box-shadow:0 0 0 3px rgba(255,0,212,0.25); animation:notifpulse 2.2s ease infinite; }
@keyframes notifpulse { 0%,100%{ box-shadow:0 0 0 3px rgba(255,0,212,0.25);} 50%{ box-shadow:0 0 0 6px rgba(255,0,212,0.12);} }
@media (prefers-reduced-motion: reduce){ .notif__dot{ animation:none; } }
.notif__txt { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:rgba(255,255,255,0.85); }
.notif__txt b { color:#fff; font-family:var(--font-mono); }
.notif__cta { flex:none; font-weight:600; color:var(--cyan-bright); white-space:nowrap; }
.notif__link:hover .notif__cta { text-decoration:underline; text-underline-offset:3px; }
.notif__x { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:30px; height:30px; border-radius:50%; border:0; background:transparent; color:rgba(255,255,255,0.65); font-size:1.05rem; line-height:1; cursor:pointer; display:grid; place-items:center; }
.notif__x:hover { background:rgba(255,255,255,0.12); color:#fff; }
html.has-notif .site-header { top:42px; }
html.has-notif main { padding-top:130px; }
html.has-notif { scroll-padding-top:146px; }
html.has-notif [id] { scroll-margin-top:146px; }
html.has-notif .mobile-nav { top:calc(84px + 42px); }
@media (max-width:560px){ .notif__txt{ font-size:0.78rem; } .notif__cta{ font-size:0.8rem; } }

/* ============ HEADER ============ */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  padding: 12px var(--gutter);
  transition: padding .3s ease;
}
.site-header__inner {
  max-width: var(--maxw); margin-inline: auto;
  display: flex; align-items: center; gap: 16px;
  padding: 8px 10px 8px 18px; border-radius: var(--r-pill);
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid var(--line);
  box-shadow: 0 1px 2px rgba(15,0,37,0.04);
  transition: box-shadow .3s ease, background .3s ease, border-color .3s ease;
}
.site-header.is-scrolled .site-header__inner {
  background: rgba(255,255,255,0.92);
  box-shadow: 0 8px 30px - 14px rgba(15,0,37,0.22);
  border-color: var(--line);
}

/* logo */
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:700; letter-spacing:-0.02em; font-size:1.12rem; }
.brand__mark { width: 26px; height: auto; display:block; }
.brand__name { line-height:1.05; }
.brand__name span { display:block; font-family:var(--font-mono); font-size:0.55rem; letter-spacing:0.22em; color:var(--fg-mute); font-weight:500; margin-top:2px; }
.brand--wordmark img { height:24px; width:auto; display:block; }
.footer-brand .brand--wordmark img { height:30px; }

/* primary nav */
.nav { display:flex; align-items:center; gap:1px; margin-inline: 4px; }
.nav__link {
  display:inline-flex; align-items:center; gap:6px;
  padding: 8px 13px; border-radius: var(--r-pill);
  font-weight: 500; font-size: 0.93rem; color: var(--fg-soft); text-decoration:none;
  background: transparent; border: 0; cursor: pointer; font-family: inherit;
  transition: color .2s ease, background .2s ease;
}
.nav__link:hover, .nav__item.open .nav__link { color: var(--ink); background: var(--paper-2); }
.nav__link[data-active] { color: var(--ink); }
.nav__link[data-active]::after { content:""; display:block; }
.nav__link .caret { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform: rotate(45deg) translateY(-1px); transition: transform .25s ease; opacity:.55; }
.nav__item.open .caret { transform: rotate(-135deg) translateY(-1px); }

.header-cta { display:flex; align-items:center; gap:9px; margin-left:auto; }

/* ---- Mega panel ---- */
.mega {
  position: absolute; left: -8px; right: -8px; top: calc(100% + 12px);
  margin-inline: 0; max-width: none;
  opacity: 0; visibility: hidden; transform: translateY(-6px) scale(0.995);
  transform-origin: top center;
  transition: opacity .24s ease, transform .24s cubic-bezier(.2,.8,.2,1), visibility .24s;
  pointer-events: none;
}
.nav__item.open .mega { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.mega__card {
  display: grid; grid-template-columns: 1.5fr 0.92fr; gap: 12px; padding: 16px;
  border-radius: var(--r-xl);
  background: linear-gradient(180deg, #fff, color-mix(in oklab, var(--violet) 2.5%, #fff));
  border: 1px solid var(--line);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.9) inset,
    0 30px 70px -32px rgba(15,0,37,0.5),
    0 8px 22px -14px rgba(15,0,37,0.16);
}
.mega__cols { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 4px; }
.mega__cols > div + div { border-left: 1px solid var(--line-soft); padding-left: 14px; }
.mega__group-label { font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.2em; text-transform:uppercase; color:#6b6386; padding: 8px 12px 9px; }
.mega__link {
  position: relative; display:flex; gap:13px; align-items:center; padding: 11px 14px 11px 12px; border-radius: var(--r-md);
  text-decoration:none; color:var(--ink); transition: background .18s ease;
}
.mega__link:hover { background: color-mix(in oklab, var(--violet) 6%, #fff); }
.mega__link::after {
  content:"→"; margin-left:auto; align-self:center; color:var(--violet); font-size:0.95rem; font-weight:500;
  opacity:0; transform: translateX(-5px); transition: opacity .2s ease, transform .2s ease;
}
.mega__link:hover::after { opacity:0.9; transform: translateX(0); }
.mega__ico {
  flex: none; width: 38px; height: 38px; border-radius: 11px; display:grid; place-items:center;
  background: linear-gradient(160deg, #fff, var(--paper-2)); border:1px solid var(--line); color: var(--violet);
  font-family:var(--font-mono); font-size:0.88rem; box-shadow: 0 1px 2px rgba(15,0,37,0.04);
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.mega__ico--svg svg { transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.mega__link:hover .mega__ico {
  background: linear-gradient(160deg, color-mix(in oklab, var(--violet) 16%, #fff), color-mix(in oklab, var(--violet) 7%, #fff));
  border-color: color-mix(in oklab, var(--violet) 30%, var(--line));
  box-shadow: 0 7px 16px -9px color-mix(in oklab, var(--violet) 55%, transparent);
}
.mega__link:hover .mega__ico--svg svg { transform: scale(1.14) rotate(-5deg); }
.mega__link b { display:block; font-weight:600; font-size:0.95rem; letter-spacing:-0.01em; color:var(--ink); }
.mega__link small { display:block; color:var(--fg-soft); font-size:0.82rem; line-height:1.45; margin-top:3px; }
.mega__feature {
  position: relative; border-radius: var(--r-lg); overflow:hidden; padding: 24px;
  background: linear-gradient(158deg, var(--violet), var(--ink) 72%);
  color:#fff; display:flex; flex-direction:column; justify-content:flex-end; gap:9px; min-height: 234px;
  text-decoration:none; isolation:isolate;
}
.mega__feature::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 82% at 86% 6%, color-mix(in oklab, var(--magenta) 62%, transparent), transparent 60%),
    radial-gradient(104% 72% at 6% 102%, color-mix(in oklab, var(--cyan-bright) 44%, transparent), transparent 56%);
  opacity:0.85; transition: opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
.mega__feature:hover::before { opacity:1; transform: scale(1.06); }
.mega__feature .eyebrow { color: var(--cyan-bright); }
.mega__feature h4 { font-size: 1.26rem; line-height:1.15; color:#fff; letter-spacing:-0.01em; }
.mega__feature p { color: rgba(255,255,255,0.8); font-size:0.88rem; line-height:1.5; margin:0; }
.mega__feature::after {
  content:"Explore →"; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;
  color:#fff; margin-top:5px; opacity:0.92; transform: translateX(0); transition: transform .25s ease;
}
.mega__feature:hover::after { transform: translateX(5px); }

/* ---- Mobile ---- */
.burger { display:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:var(--paper); cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:4px; }
.burger span { width:17px; height:1.8px; background:var(--ink); border-radius:2px; transition: transform .3s ease, opacity .2s ease; }
body.nav-open .burger span:nth-child(1){ transform: translateY(5.8px) rotate(45deg); }
body.nav-open .burger span:nth-child(2){ opacity:0; }
body.nav-open .burger span:nth-child(3){ transform: translateY(-5.8px) rotate(-45deg); }

.mobile-nav {
  position: fixed; inset: 78px 12px auto 12px; z-index: 99; max-height: calc(100vh - 96px); overflow:auto;
  padding: 12px; border-radius: var(--r-xl);
  background: #fff; border: 1px solid var(--line); box-shadow: 0 30px 60px - 20px rgba(15,0,37,0.35);
  opacity:0; visibility:hidden; transform: translateY(-8px); transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
body.nav-open .mobile-nav { opacity:1; visibility:visible; transform:none; }
.mobile-nav__group { border-bottom:1px solid var(--line-soft); }
.mobile-nav__group:last-child { border-bottom:0; }
.mobile-nav__trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:14px 8px; background:none; border:0; color:var(--ink); font-family:inherit; font-size:1rem; font-weight:600; cursor:pointer; }
.mobile-nav__trigger .caret { width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .25s ease;opacity:.5; }
.mobile-nav__group.open .mobile-nav__trigger .caret { transform: rotate(-135deg); }
.mobile-nav__panel { display:grid; gap:1px; max-height:0; overflow:hidden; transition:max-height .3s ease; }
.mobile-nav__group.open .mobile-nav__panel { max-height: 560px; padding-bottom:8px; }
.mobile-nav__panel a { padding:12px; min-height:44px; display:flex; align-items:center; border-radius:9px; text-decoration:none; color:var(--fg-soft); font-size:0.95rem; }
.mobile-nav__panel a:hover { background:var(--paper-2); color:var(--ink); }
.mobile-nav__cta { display:grid; gap:9px; margin-top:12px; }

@media (max-width: 980px) {
  .nav, .header-cta .btn--primary { display:none; }
  .burger { display:flex; }
  .header-cta { margin-left:auto; }
}
@media (min-width: 981px) { .mobile-nav, .burger { display:none; } }

/* ============ FOOTER ============ */
.site-footer { position: relative; margin-top: 0; padding-block: clamp(48px, 6vw, 84px) 28px; background: var(--paper-2); border-top: 1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: clamp(24px,3.5vw,52px); }
.footer-col h5 { font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--fg-mute); margin:0 0 14px; font-weight:500; }
.footer-col a { display:block; text-decoration:none; color:var(--fg-soft); padding:6px 0; font-size:0.92rem; transition:color .2s ease; }
.footer-col a:hover { color:var(--ink); }
.footer-brand p { color:var(--fg-soft); max-width: 30ch; margin: 12px 0 20px; }
.footer-newsletter { display:flex; gap:8px; max-width:330px; }
.footer-newsletter input {
  flex:1; padding:11px 15px; border-radius:var(--r-pill); border:1px solid var(--line-strong);
  background:#fff; color:var(--ink); font-family:inherit; font-size:0.9rem;
}
.footer-newsletter input::placeholder { color:var(--fg-mute); }
.footer-bottom { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center; margin-top:44px; padding-top:22px; border-top:1px solid var(--line); color:var(--fg-mute); font-size:0.83rem; }
.footer-bottom .row { gap:16px; flex-wrap:wrap; }
.footer-locale { display:flex; gap:6px; align-items:center; }
.footer-locale a { padding:5px 11px; border-radius:var(--r-pill); border:1px solid var(--line); font-family:var(--font-mono); font-size:0.76rem; text-decoration:none; color:var(--fg-soft); }
.footer-locale a[aria-current="true"]{ background:var(--ink); color:#fff; border-color:var(--ink); }
@media (max-width: 860px){ .footer-grid{ grid-template-columns: 1fr 1fr; } .footer-brand{ grid-column:1 / -1; } }
@media (max-width: 520px){ .footer-grid{ grid-template-columns: 1fr; } }


/* ============ GLOBAL FOOTER EXTRAS + GTM PRO PORTRAIT (moved from home.css) ============ */
.footer-slogan { font-family:var(--font-script); color:var(--magenta); font-size:1.5rem; line-height:0.8; display:block; margin-top:14px; }

/* ---- GTM Pro member portrait (gradient ring + badge) ---- */
.gtmpro { position:relative; border-radius:var(--r-md); padding:2.5px;
  background:linear-gradient(135deg, var(--magenta), var(--violet) 55%, var(--cyan)); isolation:isolate; }
.gtmpro__inner { position:relative; border-radius:calc(var(--r-md) - 2.5px); overflow:hidden; aspect-ratio:4/3; background:var(--paper-3); }
.gtmpro__inner image-slot, .gtmpro__inner img { width:100%; height:100%; display:block; object-fit:cover; }
.gtmpro__badge { position:absolute; left:9px; bottom:9px; z-index:3; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.12em; font-weight:600; color:#fff;
  padding:5px 9px 5px 7px; border-radius:var(--r-pill);
  background:linear-gradient(100deg, rgba(255,0,212,0.92), rgba(76,243,254,0.92));
  backdrop-filter:blur(6px); box-shadow:0 4px 14px - 4px rgba(255,0,212,0.55), inset 0 1px 0 rgba(255,255,255,0.5); }
.gtmpro__badge img { width:12px; height:auto; display:block; filter:brightness(0) invert(1); }
.gtmpro__chip { position:absolute; right:9px; top:9px; z-index:3; font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.08em;
  color:#fff; background:rgba(15,0,37,0.45); backdrop-filter:blur(6px); padding:4px 8px; border-radius:var(--r-pill); }

/* ---- powered-by-Mighty footer strip ---- */
.footer-powered { display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:var(--fg-mute); font-size:0.84rem; margin-top:40px; padding-top:24px; border-top:1px solid var(--line); }
.footer-powered > span:first-child { color:var(--fg-soft); }
.footer-powered b { color:var(--fg-soft); font-weight:600; }
.footer-powered .mighty { font-weight:700; color:var(--ink); letter-spacing:-0.01em; }
.footer-powered .appbtn { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:var(--r-pill); border:1px solid var(--line-strong); background:#fff; text-decoration:none; color:var(--ink); font-size:0.82rem; font-weight:600; transition:background .2s ease, border-color .2s ease; }
.footer-powered .appbtn:hover { background:var(--paper-2); border-color:var(--ink); }

/* direct (non-mega) nav links */
.nav__link--direct { text-decoration:none; }
.nav__link--direct[data-active] { color:var(--ink); font-weight:600; }
.mobile-nav__direct { display:block; padding:15px 8px; font-size:1.05rem; font-weight:600; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line-soft); }
