/* ───────────────────────────────────────────────────────────
   buttons.css — air.inc-style flat CTA (migration).
   .ink-btn          → flat outline, 8px radius, fills on hover
   .ink-btn.primary  → solid navy fill
   Theme-agnostic via tokens: --accent (navy), --on-accent (white).
   For LIGHT pages: navy outline → fills navy w/ white text on hover.
   Markup contract kept: <span class="lbl">…</span>, <span class="arw">→</span>.
   ─────────────────────────────────────────────────────────── */
.ink-btn{position:relative;display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono,"Geist Mono",monospace);font-size:13px;letter-spacing:.04em;text-transform:lowercase;text-decoration:none;line-height:1;
  padding:14px 22px;border:1px solid var(--accent,#16202b);color:var(--accent,#16202b);background:transparent;cursor:pointer;
  border-radius:8px;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform 1s cubic-bezier(.22,1,.36,1);
  -webkit-tap-highlight-color:transparent;}
.ink-btn .lbl{display:inline-flex;align-items:center;gap:9px;}
.ink-btn .arw{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.ink-btn:hover .arw{transform:translateX(4px);}
.ink-btn .ink{display:none;}            /* legacy ink-fill node — unused in flat style */
.ink-btn:hover,.ink-btn.is-on{background:var(--accent,#16202b);color:var(--on-accent,#fff);border-color:var(--accent,#16202b);}
.ink-btn:hover .lbl,.ink-btn.is-on .lbl{color:var(--on-accent,#fff);}
.ink-btn:focus-visible{outline:2px solid var(--accent,#16202b);outline-offset:3px;}

/* primary = solid navy fill → sky-blue glass reveal on hover */
.ink-btn.primary{position:relative;overflow:hidden;isolation:isolate;background:var(--accent,#16202b);color:var(--on-accent,#fff);border:1px solid var(--accent,#16202b);border-radius:8px;clip-path:none;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;}
.ink-btn.primary .lbl,.ink-btn.primary .lbl *{color:var(--on-accent,#fff);}
/* sky gradient that fades in over the navy */
.ink-btn.primary::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:linear-gradient(120deg,#2f6cb8,#0083E7 55%,#5a93cf);background-size:180% 180%;
  opacity:0;transition:opacity .4s ease;}
/* specular shine sweep */
.ink-btn.primary::after{content:"";position:absolute;top:0;left:-60%;width:46%;height:100%;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);transition:left .6s ease;}
.ink-btn.primary:hover,.ink-btn.primary.is-on{background:var(--accent,#16202b);border-color:transparent;color:var(--on-accent,#fff);
  transform:translateY(-2px);box-shadow:0 18px 36px -14px rgba(0,131,231,.62);}
.ink-btn.primary:hover::before,.ink-btn.primary.is-on::before{opacity:1;}
.ink-btn.primary:hover::after{left:135%;}

@media (prefers-reduced-motion:reduce){ .ink-btn,.ink-btn *{transition:none !important;} }
