*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}body{min-height:100svh;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--on-glass);background-color:#1c1f24;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}img,picture,svg,video,canvas{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}a{color:var(--color-teal-bright);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--color-cream)}ul,ol{list-style:none;padding:0}h1,h2,h3,h4{line-height:var(--lh-tight);font-weight:700;color:var(--on-glass-heading);text-wrap:balance}p{text-wrap:pretty}strong{font-weight:700}::selection{background:rgba(63,180,210,0.35);color:#fff}:focus-visible{outline:2px solid var(--color-teal-bright);outline-offset:3px;border-radius:3px}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{padding-block:var(--space-section)}.section-head{max-width:46rem;margin-inline:auto;margin-bottom:var(--space-7);text-align:center}.section-head.is-left{margin-inline:0;text-align:left}.eyebrow{display:inline-block;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-teal-bright);margin-bottom:var(--space-3)}.section-title{font-size:var(--fs-display)}.section-sub{margin-top:var(--space-4);font-size:var(--fs-lead);color:var(--on-glass-soft)}.lead{font-size:var(--fs-lead);color:var(--on-glass-soft)}.accent-teal{color:var(--color-teal-bright)}.accent-cream{color:var(--color-cream)}.hand{font-family:var(--font-hand);font-weight:400}.mono{font-family:var(--font-mono)}.btn{--btn-bg:var(--color-teal);--btn-fg:#fff;display:inline-flex;align-items:center;justify-content:center;gap:0.55em;padding:0.85em 1.6em;min-height:44px;font-size:var(--fs-body);font-weight:700;line-height:1;text-align:center;color:var(--btn-fg);background:var(--btn-bg);border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),border-color var(--t-fast);-webkit-tap-highlight-color:transparent}.btn:hover{color:var(--btn-fg)}.btn--primary{background:linear-gradient(180deg,var(--color-teal-bright),var(--color-teal-deep));box-shadow:0 6px 18px rgba(32,137,163,0.35),inset 0 1px 0 rgba(255,255,255,0.25)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(32,137,163,0.45),inset 0 1px 0 rgba(255,255,255,0.3)}.btn--primary:active{transform:translateY(0)}.btn--ghost{color:var(--on-glass);background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.btn--ghost:hover{color:var(--color-cream);background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.5);transform:translateY(-2px)}.btn--lg{padding:1em 2em;font-size:var(--fs-lead)}.btn--block{display:flex;width:100%}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:50%;top:0.5rem;transform:transl(-50%,-150%);transform:translateX(-50%) translateY(-150%);z-index:1001;padding:0.6em 1.2em;background:var(--color-teal);color:#fff;border-radius:var(--radius-pill);transform:translateX(-50%) translateY(-150%);transition:transform var(--t-fast)}.skip-link:focus{transform:translateX(-50%) translateY(0);color:#fff}.text-center{text-align:center}.no-wrap{white-space:nowrap}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 0.6s var(--ease),transform 0.6s var(--ease);will-change:opacity,transform}.js [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1;transform:none}}