html{scroll-behavior:smooth}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#10b981 0%,#059669 100%);-webkit-background-clip:text}.card-hover{transition:all .3s}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.fade-in{animation:.8s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.heading-1{color:#333;margin:2rem 0 1rem;font-size:2.5rem;font-weight:700}.heading-2{color:#333;margin:1.75rem 0 .875rem;font-size:2rem;font-weight:700}.heading-3{color:#333;margin:1.5rem 0 .75rem;font-size:1.75rem;font-weight:700}.heading-4{color:#333;margin:1.25rem 0 .625rem;font-size:1.5rem;font-weight:600}.heading-5{color:#333;margin:1rem 0 .5rem;font-size:1.25rem;font-weight:600}.heading-6{color:#333;margin:.75rem 0 .375rem;font-size:1rem;font-weight:600}.paragraph{color:#444;margin:1rem 0;line-height:1.6}.unordered-list,.ordered-list{margin:1rem 0 1rem 1.5rem}.list-item{margin:.5rem 0;line-height:1.5}.unordered-list .list-item{list-style-type:disc}.ordered-list .list-item{list-style-type:decimal}strong{font-weight:700}em{font-style:italic}.paragraph a,.list-item a{color:#10b981;text-decoration:underline}.paragraph a:hover,.list-item a:hover{color:#059669}.snap-container{scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;height:100vh;overflow-y:scroll}.snap-slide{scroll-snap-align:start;scroll-snap-stop:always;height:100vh;overflow:hidden}.dot-nav{z-index:50;flex-direction:column;align-items:center;gap:.625rem;display:flex;position:fixed;top:50%;right:1.25rem;transform:translateY(-50%)}.dot-nav a{background-color:#d1d5db;border-radius:0;width:.5rem;height:.5rem;transition:all .3s}.dot-nav a:hover,.dot-nav a.active{background-color:#3b82f6;transform:scale(1.4)}.showcase-modal-overlay{z-index:100;background-color:#0009;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.showcase-modal-content{background-color:#fff;border-radius:0;width:100%;max-width:48rem;max-height:80vh;padding:2rem;overflow-y:auto}.img-placeholder{background-color:#e5e7eb;justify-content:center;align-items:center;display:flex;position:relative}.img-placeholder:after{content:"X";color:#9ca3af;font-size:2rem;font-weight:700}.debug-footer{z-index:40;background-color:#0000000d;padding:.25rem .5rem;font-size:.65rem;position:fixed;bottom:0;left:0;right:0}