*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-cream:#fcfcf9;--color-charcoal:#323230;--color-charcoal-50:#32323080;--color-charcoal-10:#3232301a;--ease-out-expo:cubic-bezier(.16,1,.3,1);--ease-out-quart:cubic-bezier(.25,1,.5,1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-cream);color:var(--color-charcoal);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}::selection{background-color:var(--color-charcoal);color:var(--color-cream)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.marquee-container{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{width:max-content;animation:25s linear infinite marquee;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.card-hover{transition:transform .3s var(--ease-out-expo),background-color .3s ease,border-color .3s ease}.card-hover:hover{transform:translateY(-4px)}.btn-primary{transition:transform .2s var(--ease-out-expo),opacity .2s ease}.btn-primary:hover{opacity:.9;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{transition:background-color .2s,border-color .2s}.btn-secondary:hover{background-color:#3232300d;border-color:#32323040}.about-cta-button:hover{opacity:.9}.nav-link{transition:color .2s;position:relative}.nav-link:after{content:"";background-color:var(--color-charcoal);width:0;height:2px;transition:width .3s var(--ease-out-expo);position:absolute;bottom:-4px;left:0}.nav-link:hover{color:var(--color-charcoal)}.nav-link:hover:after{width:100%}:focus-visible{outline:2px solid var(--color-charcoal);outline-offset:2px}@keyframes revealUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:revealUp .8s var(--ease-out-expo)forwards}.reveal-delay-1{animation-delay:.1s}.reveal-delay-2{animation-delay:.2s}.reveal-delay-3{animation-delay:.3s}.reveal-delay-4{animation-delay:.4s}.grain:before{content:"";opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:absolute;top:0;left:0}@media (max-width:768px){.desktop-nav{display:none!important}.mobile-menu-btn,.mobile-menu{display:block!important}html{font-size:15px}}@media (max-width:480px){html{font-size:14px}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.hero-grid{grid-template-columns:1fr;align-items:center;gap:48px;display:grid}@media (min-width:900px){.hero-grid{grid-template-columns:1fr 1fr;gap:64px}}.hero-content{order:1}.hero-terminal{order:2}@media (max-width:899px){.hero-terminal{max-width:100%}}.capabilities-grid{grid-template-columns:1fr;gap:32px;display:grid}@media (min-width:768px){.capabilities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.course-sidebar{z-index:99;padding:24px;transition:left .3s;overflow-y:auto;box-shadow:2px 0 12px #32323026;background-color:#fcfcf9!important;width:80%!important;max-width:320px!important;height:100vh!important;max-height:100vh!important;position:fixed!important;top:0!important;left:-100%!important}.course-sidebar-open{left:0!important}.course-sidebar-toggle{display:flex!important}.course-sidebar-backdrop{display:block!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.marquee-track{animation:none}}
