/* Resets + shared utilities (.luma-btn, .kicker, .textlink, .foot-line, .reveal). */

*{box-sizing:border-box;border-color:var(--border);}
html,body{margin:0;padding:0;}
/* keep in-page anchor jumps clear of the fixed nav */
html{scroll-padding-top:var(--nav-h,5.5rem);}
body{
  background:var(--background);color:var(--foreground);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:14px;-webkit-font-smoothing:antialiased;
}

/* ---------- buttons ---------- */
.luma-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  height:2.5rem;padding:0 1.25rem;border-radius:var(--r-4xl);
  border:1px solid transparent;font-family:inherit;
  font-size:.8125rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;
  cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap;
  background:oklch(1 0 0);color:oklch(0.141 0.005 285.823);
}
.luma-btn:hover{background:oklch(0.9 0 0);}
/* solid CTAs pick up the orange accent on hover, site-wide (ghost / ink keep their own hovers) */
.luma-btn:not(.ghostlight):not(.ink):hover{background:var(--accent);color:#fff;}
.luma-btn:active{transform:translateY(1px);}
.luma-btn.lg{height:3.5rem;padding:0 2.25rem;font-size:.875rem;}
.luma-btn.ghostlight{
  background:transparent;color:oklch(1 0 0 / .88);
  border-color:oklch(1 0 0 / .28);
}
.luma-btn.ghostlight:hover{background:oklch(1 0 0 / .14);color:#fff;}

.kicker{
  display:block;margin-bottom:1.25rem;
  color:oklch(1 0 0 / .55);
  font-size:.6875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;
}

.foot-line{
  margin:0;
  font-size:clamp(1rem,1.5vw,1.25rem);font-weight:500;
  letter-spacing:-.015em;
}
.foot-line .dim{color:oklch(1 0 0 / .55);font-weight:400;}
.textlink{
  display:inline-flex;align-items:center;gap:.4375rem;
  margin-left:auto;
  color:#fff;text-decoration:none;
  font-size:.75rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.09em;
  padding-bottom:.1875rem;
  border-bottom:1px solid #fff;
  transition:opacity .15s;
}
.textlink:hover{opacity:.6;}
.textlink svg{transition:transform .18s;}
.textlink:hover svg{transform:translateX(2px);}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--d,0s);}
.reveal.in{opacity:1;transform:none;}
