.p5-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.p5-container canvas{display:block}.infrastructure-sketch-container{width:100%;height:100%;min-height:350px;border-radius:12px;background:transparent}.infrastructure-sketch-container canvas{display:block;margin:0 auto}.site-wrapper{width:100%;min-height:100vh}.landing-page{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg-light)}.content{position:relative;z-index:10;width:100%;height:100%;display:flex;flex-direction:column;padding:2rem 4rem;pointer-events:none}.content a,.content button{pointer-events:auto}.nav{display:flex;justify-content:space-between;align-items:center;animation:fadeSlideDown 1s ease-out}.logo{display:flex;align-items:center;gap:.75rem}.logo-icon{height:30px;width:auto}.logo-image{height:40px;width:auto;opacity:.65}.logo-dot{width:10px;height:10px;background:var(--blue);border-radius:50%;box-shadow:0 0 15px var(--blue),0 0 30px #3f90ea4d;animation:pulse 2s ease-in-out infinite}.logo-text{font-weight:400;font-size:.95rem;letter-spacing:.3em;color:var(--text-dark)}.nav-links{display:flex;gap:3rem}.nav-links a{color:var(--text-gray);text-decoration:none;font-size:.85rem;font-weight:300;letter-spacing:.02em;transition:color .3s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--blue);transition:width .3s ease}.nav-links a:hover{color:var(--blue)}.nav-links a:hover:after{width:100%}.hero{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:calc(18vh - 5rem)}.hero-title{font-size:2.7vw;font-weight:200;color:#1e283cb3;text-align:center;line-height:1;animation:fadeIn 1s ease-out;position:relative;z-index:20;width:94%;max-width:94vw;white-space:nowrap;padding:0 3%;box-sizing:border-box}.hero-description{position:absolute;top:calc(61vh + 1rem);left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:70vw;margin:0 auto;animation:fadeIn 1s ease-out .3s both}.hero-description-column p{font-size:.95rem;font-weight:300;color:#1e283cbf;line-height:1.7;text-align:left;margin:0}.footer{display:flex;justify-content:center;align-items:flex-end;animation:fadeSlideUp 1s ease-out .8s both}.footer-hint{display:flex;align-items:center;gap:.75rem;color:var(--text-light);font-size:.8rem;font-weight:300}.arrow{animation:bounce 1.5s ease-in-out infinite;color:var(--blue)}.section{min-height:100vh;padding:8rem 2rem;display:flex;align-items:center;justify-content:center;background:var(--bg-light);overflow:visible}.section-dark{background:#f8fafc}.section-content{max-width:1200px;width:100%;margin:0 auto;overflow:visible}.section-header{margin-bottom:.5rem;text-align:left;overflow:visible;position:relative;z-index:1}.section#industries{padding-top:2rem}.section#industries .section-content{max-width:1200px;margin:0 auto;padding:0;overflow:visible!important}.section-label{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}.section-title{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:100;color:var(--text-dark);line-height:1.2;margin-bottom:1.5rem}.section-lead{font-size:1.25rem;font-weight:300;color:var(--text-gray);max-width:900px;line-height:1.7;margin-bottom:1rem}.swimmer-divider{position:relative;width:100%;max-width:1200px;min-height:70px;overflow:visible!important;padding-bottom:7rem}.divider-line{position:absolute;top:39px;left:-0%;width:100%;height:1px;background:var(--blue);z-index:1}.swimming-icon{position:absolute;top:3px;left:-50px;height:75px;width:auto;animation:swimAcross 8s linear infinite;z-index:10}@keyframes swimAcross{0%{left:-40px}to{left:100%}}.section-body{font-size:1rem;font-weight:300;color:var(--text-gray);line-height:1.8;margin-bottom:1.5rem}.section-body.large{font-size:1.15rem}.infrastructure-section{background:#f8fafc;min-height:100vh;padding:3rem 2rem 4rem;display:flex;align-items:center;justify-content:center;position:relative}.section#team{padding:0;overflow:hidden}.section#team .section-content{max-width:100%;width:100%;height:100vh;padding:0;position:relative}.team-text-section{position:absolute;top:6rem;left:4rem;z-index:10;max-width:500px}.team-info .section-label{color:var(--blue);font-weight:500;margin-bottom:1rem}.team-info .section-title{color:var(--text-dark);font-size:1.8rem;margin-bottom:1.2rem;line-height:1.3}.team-info .section-body{color:var(--text-gray);margin-bottom:1.2rem;font-size:.95rem;line-height:1.7}.team-info .section-body.large{font-size:1rem}.infrastructure-section .section-content{max-width:1400px;width:100%;padding:0;position:relative;display:flex;justify-content:center}.infrastructure-layout{display:flex;align-items:start;justify-content:center;gap:3rem}.infrastructure-text{max-width:550px;flex-shrink:0}.infrastructure-text .section-label{font-size:.75rem;font-weight:500;margin-bottom:.8rem}.section-title{font-size:clamp(1.8rem,2.8vw,2.6rem);font-weight:200;margin-bottom:1.2rem;max-width:100%;line-height:1.25}.infrastructure-text .section-body{font-size:1.05rem;font-weight:300;line-height:1.7;margin-bottom:1rem}.infrastructure-text .section-body.large{font-size:1.1rem;font-weight:300}.infrastructure-text .section-body:last-child{margin-bottom:0}.infrastructure-visual{position:relative;height:480px;width:550px;flex-shrink:0;margin-top:-2rem}.platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.platform-card{background:#fff;border:1px solid rgba(63,144,234,.1);border-radius:16px;padding:2.5rem;transition:transform .3s ease,box-shadow .3s ease}.platform-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #3f90ea1a}.platform-icon{width:56px;height:56px;background:linear-gradient(135deg,#3f90ea1a,#d6d5fd4d);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;color:var(--blue)}.platform-card h3{font-size:1.25rem;font-weight:500;color:var(--text-dark);margin-bottom:.75rem}.platform-card p{font-size:.95rem;font-weight:300;color:var(--text-gray);line-height:1.7}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.column-text .section-title{max-width:500px}.visual-box{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;padding:3rem;text-align:center}.data-flow{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:2rem}.data-source{background:#fff;border:1px solid rgba(63,144,234,.2);border-radius:8px;padding:.75rem 1.25rem;font-size:.85rem;font-weight:400;color:var(--text-dark)}.flow-arrow{font-size:2rem;color:var(--blue);margin-bottom:1.5rem}.unified-model{background:var(--blue);color:#fff;border-radius:12px;padding:1.5rem 2rem;font-size:1rem;font-weight:500}.industries-list{max-width:1200px;margin:0 auto}.industry-item{border-bottom:1px solid rgba(0,0,0,.08);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}.industry-item:hover{background:#3f90ea08}.industry-item.expanded{background:#3f90ea05}.industry-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2rem 1.2rem 0;gap:2rem;transition:padding .4s ease}.industry-item.expanded .industry-header{padding-bottom:.8rem}.industry-header-content{flex:1}.industry-label{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:.75rem;transition:transform .3s ease}.industry-item.expanded .industry-label{transform:translate(4px)}.industry-item h3{font-size:1.3rem;font-weight:400;color:var(--text-dark);margin:0;transition:color .3s ease,transform .3s ease}.industry-item.expanded h3{color:var(--blue);transform:translate(4px)}.industry-toggle{font-size:2.5rem;font-weight:200;color:var(--blue);width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1)}.industry-item.expanded .industry-toggle{transform:rotate(180deg)}.industry-content{padding:0 2rem 1.5rem 0;animation:slideDown .5s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-20px)}to{opacity:1;max-height:350px;transform:translateY(0)}}.industry-content p{font-size:.95rem;font-weight:300;color:var(--text-gray);line-height:1.7;margin-bottom:1.2rem;animation:fadeIn .6s ease-out .1s both}.industry-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.industry-features li{font-size:.9rem;font-weight:300;color:var(--text-dark);padding:.75rem 1rem;background:#3f90ea0f;border-radius:8px;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;animation:fadeInUp .5s ease-out both}.industry-features li:nth-child(1){animation-delay:.15s}.industry-features li:nth-child(2){animation-delay:.2s}.industry-features li:nth-child(3){animation-delay:.25s}.industry-features li:hover{background:#3f90ea1a;transform:translate(4px)}.industry-features li:before{content:"→";color:var(--blue);font-size:1.1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-layout{display:grid;grid-template-columns:2fr 1fr;gap:6rem;align-items:start}.about-cta{margin-top:2rem}.cta-button{display:inline-block;padding:1rem 2.5rem;background:var(--blue);color:#fff;text-decoration:none;font-size:1rem;font-weight:400;border-radius:4px;transition:all .3s ease}.cta-button:hover{background:var(--bright-blue);transform:translateY(-2px)}.about-sidebar{padding:1rem 0 1rem 1.5rem;text-align:left;display:flex;flex-direction:column;justify-content:center;height:100%;position:relative}.contact-line{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--blue)}.contact-swimmer{position:absolute;left:-12px;height:25px;width:auto;animation:swimUp 6s linear infinite}@keyframes swimUp{0%{top:calc(100% - 25px)}to{top:0}}.contact-message{font-size:1.15rem;font-weight:300;color:var(--text-gray);margin-bottom:1.5rem}.contact-email{font-size:1.4rem;font-weight:300;color:var(--blue);text-decoration:none;transition:opacity .3s ease;display:inline-block}.contact-email:hover{opacity:.7}.team-grid{width:100%;height:100%}.team-member{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.team-photo{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.team-photo img{width:100%;height:100%;object-fit:cover;opacity:1}.team-info{position:absolute;left:46%;bottom:4rem;z-index:2;padding:0 3% 0 4%;text-align:left;width:48%;max-width:none}.team-name{font-size:1.5rem;font-weight:400;color:var(--text-dark);margin:2.5rem 0 .4rem;padding-top:2.5rem;border-top:1px solid rgba(0,0,0,.1)}.team-role{font-size:1rem;font-weight:300;color:var(--blue);margin:0 0 1rem}.team-bio{font-size:.95rem;font-weight:300;color:var(--text-gray);line-height:1.7;margin:0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.contact-details{margin-top:2rem}.contact-link{font-size:1.5rem;font-weight:300;color:var(--blue);text-decoration:none;transition:opacity .3s ease}.contact-link:hover{opacity:.7}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-input{width:100%;padding:1rem 1.25rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:.95rem;font-weight:300;font-family:inherit;background:#fff;transition:border-color .3s ease}.form-input:focus{outline:none;border-color:var(--blue)}.form-textarea{min-height:150px;resize:vertical}.form-button{padding:1rem 2rem;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:400;cursor:pointer;transition:background .3s ease,transform .2s ease}.form-button:hover{background:var(--blue-bright);transform:translateY(-2px)}.site-footer{background:#0f172a;color:#fff;padding:5rem 4rem 2rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:4rem}.footer-logo{height:56px;opacity:.85}.footer-icon{height:36px}.footer-tagline{font-size:.9rem;font-weight:300;color:#fff9;margin-top:1rem}.footer-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-column h4{font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#fff6;margin-bottom:1.25rem}.footer-column a{display:block;font-size:.9rem;font-weight:300;color:#fffc;text-decoration:none;margin-bottom:.75rem;transition:color .3s ease}.footer-column a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:300;color:#fff6}.footer-legal{display:flex;gap:2rem}.footer-legal a{color:#fff6;text-decoration:none;transition:color .3s ease}.footer-legal a:hover{color:#fff}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 15px var(--blue),0 0 30px #3f90ea4d}50%{box-shadow:0 0 20px var(--blue),0 0 40px #3f90ea66}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (max-width: 900px){.platform-grid{grid-template-columns:1fr}.industries-list{max-width:100%}.industry-header{padding:2rem 1.5rem}.industry-content{padding:0 1.5rem 2rem}.industry-item h3{font-size:1.5rem}.infrastructure-layout{flex-direction:column;gap:3rem}.infrastructure-text{margin-left:2rem;margin-right:2rem;padding-right:0}.two-column,.about-layout,.contact-layout{grid-template-columns:1fr!important;gap:3rem}.infrastructure-visual{order:-1;margin:0 auto;width:100%;max-width:400px}.footer-content{grid-template-columns:1fr}.footer-links-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1100px){.hero{padding-top:calc(18vh - 7rem)}.hero-title{font-size:2rem;white-space:normal;line-height:1.3;width:90%;padding:0 5%}.hero-description{max-width:80vw;gap:2rem}.infrastructure-layout{flex-direction:column}.infrastructure-text{margin-left:2rem;margin-right:2rem;max-width:100%}}@media (max-width: 768px){.content{padding:1.5rem 2rem}.nav-links{gap:1rem}.nav-links a{font-size:.75rem}.section{padding:4rem 2rem}.hero-title{font-size:1.4rem;white-space:normal;padding:0 1.5rem;line-height:1.3}.hero-description{grid-template-columns:1fr;gap:1.5rem;max-width:85vw;padding-top:1.5rem}.hero-description-column p{font-size:.85rem}.team-member{flex-direction:column;gap:2rem;text-align:center}.team-photo{width:200px;height:200px}.team-name{font-size:1.8rem}.footer-links-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}@media (max-width: 1100px){.team-photo{display:none}.team-info{position:relative;left:0;bottom:0;width:100%;max-width:100%;padding:4rem 3rem 4rem 2rem;text-align:left}.team-info .section-title{font-size:1.5rem}.team-name{border-top:1px solid rgba(0,0,0,.1)}.section#team{background:#fff;min-height:fit-content;height:auto;padding:0}.section#team .section-content{height:auto;min-height:fit-content}.team-member{height:auto;min-height:auto}}@media (max-width: 600px){.nav{display:none!important}.content{padding-top:1rem}.hero{padding-top:8vh}.hero-title{font-size:1.3rem;line-height:1.4;padding-bottom:1.5rem}}:root{--bg-light: #ffffff;--bg-soft: #f8f9fc;--blue: #3F90EA;--blue-bright: #0077FF;--lilac: #D6D5FD;--text-dark: #1a1a2e;--text-gray: #6b7280;--text-light: #9ca3af}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:300;background:var(--bg-light);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--blue);color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-soft)}::-webkit-scrollbar-thumb{background:var(--lilac);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--blue)}
