:root{--text-fluid-hero: clamp(4rem, 9vw + 1rem, 7rem);--text-fluid-h1: clamp(2rem, 5vw + 1rem, 4.2rem);--text-fluid-h2: clamp(1.6rem, 3.5vw + 1rem, 3.2rem);--text-fluid-h3: clamp(1.3rem, 2vw + .8rem, 2rem);--text-fluid-p: clamp(1rem, .2vw + .95rem, 1.1rem);--text-fluid-label: clamp(.7rem, .1vw + .6rem, .75rem);--leading-tight: 1.05;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.03em;--tracking-normal: .01em;--space-fluid-section: clamp(3rem, 6vw, 6rem);--space-fluid-gap: clamp(1.25rem, 2vw + .5rem, 2.5rem);--btn-px: clamp(1.25rem, 2vw + .5rem, 2.25rem);--btn-py: clamp(.8rem, 1vw + .2rem, 1.1rem);--btn-font: clamp(.9rem, .3vw + .8rem, 1rem)}.fluid-hero{font-size:var(--text-fluid-hero);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.fluid-h1{font-size:var(--text-fluid-h1);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.fluid-h2{font-size:var(--text-fluid-h2);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.fluid-h3{font-size:var(--text-fluid-h3);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.fluid-p{font-size:var(--text-fluid-p);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal)}.fluid-label{font-size:var(--text-fluid-label);line-height:1.2;letter-spacing:.1em;text-transform:uppercase}.text-container{max-width:70ch}.section-padding{padding-top:var(--space-fluid-section);padding-bottom:var(--space-fluid-section)}.item-gap{gap:var(--space-fluid-gap)}.btn-core{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-py) var(--btn-px);font-size:var(--btn-font);font-weight:800;border-radius:9999px;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:-.01em;white-space:nowrap;position:relative;overflow:hidden;flex-shrink:0;min-width:max-content}@media(max-width:640px){.btn-core{width:auto;min-width:100%;min-height:54px;padding-left:1.25rem;padding-right:1.25rem;font-size:1rem}}.btn-compact{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0;transition:all .3s ease}.no-wrap{white-space:nowrap}.reveal-text{overflow:hidden}.reveal-text>span{display:block;animation:reveal .8s cubic-bezier(.77,0,.175,1) forwards}@keyframes reveal{0%{transform:translateY(100%)}to{transform:translateY(0)}}
