.reveal-words { overflow: visible; }
.rw-word { display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:0.06em; margin-bottom:-0.06em; }
.rw-inner { display:inline-block; transform:translateY(115%) rotate(3deg); opacity:0; font-style:inherit; transition: transform 0.75s cubic-bezier(0.16,1,0.3,1), opacity 0.55s cubic-bezier(0.16,1,0.3,1); will-change:transform,opacity; }
.reveal-words.visible .rw-inner { transform:translateY(0) rotate(0deg); opacity:1; transition-delay:calc(var(--i,0) * 0.058s); }

.btn-solid,
.btn-ghost,
.form-submit {
  background: transparent !important;
  border: 1.5px solid #1a8fa8 !important;
  color: #1a8fa8 !important;
  box-shadow: none !important;
}
.btn-solid:hover,
.btn-ghost:hover,
.form-submit:hover {
  box-shadow: 0 6px 22px rgba(46,109,142,0.3) !important;
}

.btn-solid > *:not(svg),
.btn-ghost > *:not(svg),
.form-submit > *:not(svg) {
  position: relative;
  z-index: 1;
}

.btn-magnetic:not(:hover) { transition-duration:0.55s !important; }

.nav-links a { border-bottom:none !important; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1.5px; background:var(--teal); border-radius:2px; transition:width 0.3s cubic-bezier(0.4,0,0.2,1); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-links a.active { color:var(--teal); }

.section-float { opacity:0; transform:translateY(48px); transition:opacity 0.85s cubic-bezier(0.16,1,0.3,1), transform 0.85s cubic-bezier(0.16,1,0.3,1); }
.section-float-visible { opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .rw-inner { transform:none !important; opacity:1 !important; transition:none !important; }
  .section-float { opacity:1 !important; transform:none !important; transition:none !important; }
  .nav-links a::after { transition:none; }
}
