@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Montserrat:wght@300;400;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--background:#f8f9fa;--foreground:#1c1d20;--primary:#1c1d20;--primary-foreground:#fff;--muted:#e9ecef;--muted-foreground:#868e96;--border:#dee2e6;--surface:#fff;--ff-display:"Montserrat", sans-serif;--ff-body:"Inter", sans-serif;--radius-card:40px;--shadow-card:0 30px 60px #00000014}.page-wrapper{padding-top:40px}html,body{max-width:100%;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--ff-body);flex-direction:column;min-height:100vh;font-size:16px;line-height:1.6;display:flex;position:relative}.bg-text-container{z-index:0;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100vh;padding-top:6vh;display:flex;position:fixed;top:0;left:0}.bg-text-large{font-family:var(--ff-display);color:#ebebeb;white-space:nowrap;letter-spacing:-.02em;text-align:center;font-size:max(2.5rem,14vw);font-weight:800;line-height:.8}.bg-logo-small{flex-direction:column;align-items:center;display:flex;position:absolute;top:6vh}.bg-logo-icon{gap:4px;margin-bottom:8px;display:flex}.bg-logo-line{background-color:var(--foreground);width:6px;height:40px}.bg-logo-line:nth-child(2){height:30px}.bg-logo-compass{width:30px;height:40px}.bg-logo-text{font-family:var(--ff-display);letter-spacing:.2em;text-transform:uppercase;font-size:14px;font-weight:400}.main-app-card{z-index:10;border-radius:var(--radius-card);width:90%;max-width:1400px;min-height:75vh;box-shadow:var(--shadow-card);background:#fff;flex-direction:column;margin:20vh auto 5vh;transition:margin .8s cubic-bezier(.16,1,.3,1),width .8s cubic-bezier(.16,1,.3,1),max-width .8s cubic-bezier(.16,1,.3,1),border-radius .8s cubic-bezier(.16,1,.3,1),min-height .8s cubic-bezier(.16,1,.3,1),box-shadow .8s cubic-bezier(.16,1,.3,1);display:flex;position:relative}@media (width<=1024px){.main-app-card{border-radius:28px;width:92%;margin:12vh auto 4vh}}@media (width<=768px){.main-app-card{border-radius:20px;width:94%;min-height:auto;margin:8vh auto 2vh}.page-wrapper{padding-top:20px}}@media (width<=480px){.main-app-card{border-radius:16px;width:96%;margin:5vh auto 2vh}}.main-app-card.expanded{background:var(--background);border-radius:0;width:100%;max-width:100%;min-height:100vh;margin:0 auto}#about{background-color:#fff;transition:background-color .8s cubic-bezier(.16,1,.3,1)}.main-app-card.expanded #about{background-color:var(--background)}.before-after-section{background-color:#fff;transition:background-color .8s cubic-bezier(.16,1,.3,1)}.main-app-card.expanded .before-after-section{background-color:var(--background)}#solution{background-color:#fff;transition:background-color .8s cubic-bezier(.16,1,.3,1)}.main-app-card.expanded #solution{background-color:var(--muted)}#analysis{background-color:#fff;transition:background-color .8s cubic-bezier(.16,1,.3,1)}.main-app-card.expanded #analysis{background-color:var(--muted)}h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);color:var(--foreground)}:focus-visible{box-shadow:0 0 0 2px var(--background), 0 0 0 4px var(--primary);outline:none}a{color:inherit;text-decoration:none}.ambient-orb,.blob-bg{filter:blur(100px);z-index:0;pointer-events:none;border-radius:50%;position:absolute}.blob-bg{animation:20s ease-in-out infinite alternate float}.blob-1{background:var(--primary);opacity:.05}.blob-2{background:var(--secondary);opacity:.05}.blob-3{background:var(--foreground);opacity:.03;animation-direction:alternate-reverse}.orb-1{background:var(--primary);opacity:.05;width:600px;height:600px;animation:20s ease-in-out infinite alternate float;top:-10%;left:-10%}.orb-2{background:var(--secondary);opacity:.03;width:800px;height:800px;animation:25s ease-in-out infinite alternate-reverse float;bottom:-20%;right:-10%}@media (width<=768px){.orb-1{width:300px;height:300px}.orb-2{width:350px;height:350px}}@keyframes float{0%{transform:translate(0)scale(1)}50%{transform:translate(5%,10%)scale(1.05)}to{transform:translate(-5%,-5%)scale(.95)}}.page-transition-wrapper{animation:.8s cubic-bezier(.16,1,.3,1) forwards pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
