.landing-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.landing-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.sign-out-btn{padding:.5rem 1rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;align-self:center}.landing-main{flex:1}.hero-section{background:var(--hero-gradient);color:#fff;padding:6rem 2rem;text-align:center}.hero-content{max-width:900px;margin:0 auto}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem;letter-spacing:-.025em}.hero-title .highlight{background:linear-gradient(to right,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.75;margin-bottom:2.5rem;color:#fffffff2;max-width:700px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-primary{padding:1rem 2rem;background:#fff;color:var(--primary-color);border:none;border-radius:.5rem;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s}.cta-primary:hover{background:#f0f0f0;color:var(--primary-color);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.cta-secondary{padding:1rem 2rem;background:transparent;color:#fff;border:2px solid #ffffff;border-radius:.5rem;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s}.cta-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.services-section{padding:5rem 2rem;background:#f9fafb}.services-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.service-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.service-icon{font-size:3rem;margin-bottom:1rem}.service-card h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.service-card p{color:#6b7280;line-height:1.75}.value-section{padding:5rem 2rem;background:#fff}.value-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2.5rem}.value-item{text-align:center}.value-item h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.value-item p{color:#6b7280;line-height:1.75}.landing-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}.footer-logo-img{height:120px;width:auto}.footer-section ul li{margin-bottom:.5rem;color:#9ca3af;cursor:pointer;transition:color .2s}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.hero-section{padding:4rem 1.5rem}.hero-title{font-size:2rem;line-height:1.3}.hero-subtitle{font-size:1rem}.cta-buttons{flex-direction:column;width:100%}.cta-primary,.cta-secondary{width:100%}.section-title{font-size:1.75rem}.services-section,.value-section,.cta-section{padding:3rem 1.5rem}.services-grid{grid-template-columns:1fr;gap:1.5rem}.service-card{padding:1.5rem}.value-grid{grid-template-columns:1fr;gap:2rem}.header-container{padding:1rem}.logo{height:120px}.company-name{font-size:1.25rem}.user-email{max-width:120px}.cta-content h2{font-size:1.75rem}.cta-content p{font-size:1rem}.cta-primary-large{width:100%;padding:1rem 2rem;font-size:1.125rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.hero-title{font-size:1.75rem}.hero-subtitle{font-size:.95rem}.section-title{font-size:1.5rem}.service-card h3{font-size:1.25rem}.cta-primary,.cta-secondary{padding:.875rem 1.5rem;font-size:1rem}}.about-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.about-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.company-name{font-size:1.5rem;font-weight:700;color:#1f2937;letter-spacing:-.025em}.about-main{flex:1}.about-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem}.about-hero-content{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:3rem;flex-wrap:wrap;justify-content:center}.about-image-container{flex-shrink:0}.about-image{width:250px;height:250px;border-radius:50%;object-fit:cover;border:6px solid white;box-shadow:0 10px 25px -5px #0000004d}.about-intro{flex:1;min-width:300px}.about-intro h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.lead-text{font-size:1.125rem;line-height:1.75;color:#fffffff2}.expertise-section{padding:5rem 2rem;background:#f9fafb}.expertise-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.expertise-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s}.expertise-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.expertise-card h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.expertise-card>p{color:#6b7280;line-height:1.75;margin-bottom:1.5rem}.expertise-details{list-style:none;padding:0;margin:0}.expertise-details li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#4b5563;line-height:1.5}.expertise-details li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700}.education-section{padding:5rem 2rem;background:#fff}.education-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.education-item{text-align:center;padding:2rem;background:#f9fafb;border-radius:1rem;transition:all .3s}.education-item:hover{background:#fff;box-shadow:0 10px 15px -3px #0000001a}.education-icon{font-size:3rem;margin-bottom:1rem}.education-item h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.education-item p{color:#6b7280;line-height:1.5}.approach-section{padding:5rem 2rem;background:#f9fafb}.approach-content{max-width:1000px;margin:0 auto}.approach-content>p{font-size:1.125rem;line-height:1.75;color:#4b5563;text-align:center;margin-bottom:3rem}.approach-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.value-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s}.value-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.value-card h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.value-card p{color:#6b7280;line-height:1.75}.cta-primary-large{padding:1.25rem 3rem;background:#667eea;color:#fff;border:none;border-radius:.5rem;font-weight:700;font-size:1.25rem;cursor:pointer;transition:all .2s}.about-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}.footer-logo span{font-size:1.25rem;font-weight:700}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.about-hero{padding:3rem 1.5rem}.about-hero-content{flex-direction:column;text-align:center;gap:2rem}.about-image{width:180px;height:180px}.about-intro h1{font-size:2rem}.lead-text{font-size:1rem}.expertise-section,.education-section,.approach-section,.cta-section{padding:3rem 1.5rem}.section-title{font-size:1.75rem}.expertise-grid{grid-template-columns:1fr;gap:1.5rem}.expertise-card{padding:1.5rem}.education-grid{grid-template-columns:1fr}.approach-values{grid-template-columns:1fr;gap:1.5rem}.header-container{padding:1rem}.logo{height:48px}.company-name{font-size:1.25rem}.user-email{max-width:120px}.cta-content h2{font-size:1.75rem}.cta-content p{font-size:1rem}.cta-primary-large{width:100%;padding:1rem 2rem;font-size:1.125rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.about-intro h1{font-size:1.75rem}.lead-text{font-size:.95rem}.about-image{width:150px;height:150px}.section-title{font-size:1.5rem}.expertise-card h3{font-size:1.25rem}}.services-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.services-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.services-main{flex:1}.services-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem;text-align:center}.services-hero-content{max-width:900px;margin:0 auto}.services-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.service-icon-large{font-size:3rem;color:var(--primary-color);margin-bottom:1.5rem}.service-detail-section{padding:5rem 2rem;background:#f9fafb}.service-detail{max-width:1000px;margin:0 auto 4rem;background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;transition:all .3s}.service-detail:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.service-detail:last-child{margin-bottom:0}.service-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.service-icon{font-size:3rem}.service-detail-header h2{font-size:2rem;font-weight:700;color:#1f2937;margin:0}.service-description{font-size:1.125rem;line-height:1.75;color:#4b5563;margin-bottom:2rem}.service-features h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.service-features ul{list-style:none;padding:0;margin:0}.service-features li{padding:.75rem 0 .75rem 1.75rem;position:relative;color:#4b5563;line-height:1.75;font-size:1rem}.service-features li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700;font-size:1.25rem}.services-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.services-hero{padding:3rem 1.5rem}.services-hero-content h1{font-size:2rem}.services-hero-content .lead-text{font-size:1rem}.service-detail-section{padding:3rem 1.5rem}.service-detail{padding:1.5rem;margin-bottom:2rem}.service-detail-header{flex-direction:column;align-items:flex-start;gap:.75rem}.service-detail-header h2{font-size:1.5rem}.service-description{font-size:1rem}.cta-section{padding:3rem 1.5rem}.cta-content h2{font-size:1.75rem}.cta-content p{font-size:1rem}.cta-primary-large{width:100%;padding:1rem 2rem;font-size:1.125rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.services-hero-content h1{font-size:1.75rem}.service-detail-header h2{font-size:1.25rem}.service-icon{font-size:2.5rem}}.technology-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.technology-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:.75rem}.logo{height:80px;width:auto;object-fit:contain}.nav-links{display:flex;align-items:center;gap:1rem}.nav-link-btn{padding:.5rem 1rem;background:transparent;color:#1f2937;border:none;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem;border-radius:.375rem}.nav-link-btn:hover{color:#2563eb;background:#f3f4f6}.login-btn{padding:.625rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.login-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.user-menu{display:flex;align-items:center;gap:1rem}.dashboard-btn{padding:.5rem 1rem;background:transparent;color:#4b5563;border:1px solid #d1d5db;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.dashboard-btn:hover{background:#f3f4f6;border-color:#9ca3af}.user-info{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f9fafb;border-radius:.5rem}.profile-image{width:32px;height:32px;border-radius:50%;object-fit:cover}.profile-placeholder{width:32px;height:32px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-email{font-size:.875rem;color:#4b5563;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-btn{padding:.5rem 1rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.sign-out-btn:hover{background:#2563eb1a;border-color:var(--primary-hover)}.technology-main{flex:1}.tech-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem;text-align:center}.technology-hero-content{max-width:900px;margin:0 auto}.technology-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.tech-stack-section{padding:5rem 2rem;background:#f9fafb}.tech-stack-container{max-width:1000px;margin:0 auto}.tech-card{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:3rem;transition:all .3s}.tech-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.tech-card:last-child{margin-bottom:0}.tech-icon{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem}.tech-card h2{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}.tech-description{font-size:1.125rem;line-height:1.75;color:#4b5563;margin-bottom:2rem}.tech-features h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.tech-features ul{list-style:none;padding:0;margin:0}.tech-features li{padding:.75rem 0 .75rem 1.75rem;position:relative;color:#4b5563;line-height:1.75;font-size:1rem}.tech-features li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700;font-size:1.25rem}.why-stack-section{padding:5rem 2rem;background:#fff}.why-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.why-card{text-align:center;padding:2rem;background:#f9fafb;border-radius:1rem;transition:all .3s}.why-card:hover{background:#fff;box-shadow:0 10px 15px -3px #0000001a}.why-card h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.why-card p{color:#6b7280;line-height:1.75}.cta-section{padding:5rem 2rem;background:linear-gradient(135deg,#1f2937,#111827);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.cta-content p{font-size:1.25rem;margin-bottom:2rem;color:#ffffffe6}.category-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.cta-primary-large{padding:1.25rem 3rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:700;font-size:1.25rem;cursor:pointer;transition:all .2s}.cta-primary-large:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000004d}.technology-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.footer-logo-img{height:32px;width:auto}.footer-tagline{color:#9ca3af;font-size:.875rem}.footer-section h4{font-weight:600;margin-bottom:1rem}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.5rem;color:#9ca3af;transition:color .2s}.footer-section ul li:hover{color:#fff}.footer-bottom{border-top:1px solid #374151;padding-top:2rem;text-align:center;color:#9ca3af;font-size:.875rem}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.header-container{padding:1rem}.logo{height:48px}.user-email{max-width:120px}.technology-hero{padding:3rem 1.5rem}.technology-hero-content h1{font-size:2rem}.lead-text{font-size:1rem}.tech-stack-section,.why-stack-section,.cta-section{padding:3rem 1.5rem}.tech-card{padding:2rem}.tech-card h2{font-size:1.5rem}.tech-description{font-size:1rem}.section-title{font-size:1.75rem}.why-grid{grid-template-columns:1fr;gap:1.5rem}.cta-content h2{font-size:1.75rem}.cta-content p{font-size:1rem}.cta-primary-large{width:100%;padding:1rem 2rem;font-size:1.125rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.technology-hero-content h1{font-size:1.75rem}.lead-text{font-size:.95rem}.section-title{font-size:1.5rem}.tech-card{padding:1.5rem}.tech-card h2{font-size:1.25rem}.tech-icon{font-size:3rem}}.projects-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.projects-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.projects-main{flex:1}.projects-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem;text-align:center}.projects-hero-content{max-width:900px;margin:0 auto}.projects-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.case-studies-section{padding:5rem 2rem;background:#f9fafb}.featured-project-section{padding:4rem 2rem;background:linear-gradient(135deg,#0f1f38,#1b365d)}.featured-project{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 280px;gap:3rem;background:#ffffff0d;border-radius:1rem;padding:3rem;border:1px solid rgba(255,255,255,.1)}.featured-project-content{color:#fff}.featured-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#61c1d0,#4aa8b7);color:#0f1f38;border-radius:2rem;font-weight:600;font-size:.875rem;margin-bottom:1.5rem}.featured-project h2{font-size:2.25rem;font-weight:800;margin-bottom:2rem;color:#fff}.featured-vision,.featured-innovation,.featured-flourishing{margin-bottom:1.5rem}.featured-project h3{font-size:1.125rem;font-weight:700;color:#61c1d0;margin-bottom:.75rem}.featured-project p{color:#ffffffd9;line-height:1.75}.featured-tech-specs{background:#ffffff14;border-radius:.75rem;padding:1.5rem;border:1px solid rgba(255,255,255,.1);height:fit-content}.featured-tech-specs h3{font-size:1rem;font-weight:700;color:#61c1d0;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.featured-tech-specs ul{list-style:none;padding:0;margin:0}.featured-tech-specs li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1);color:#ffffffe6;font-size:.9rem}.featured-tech-specs li:last-child{border-bottom:none}.featured-tech-specs strong{color:#fff;display:block;margin-bottom:.25rem}@media (max-width: 768px){.featured-project{grid-template-columns:1fr;gap:2rem;padding:2rem}.featured-project h2{font-size:1.75rem}}.case-studies-container{max-width:1000px;margin:0 auto}.case-study-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:3rem;overflow:hidden;transition:all .3s}.case-study-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.case-study-card:last-child{margin-bottom:0}.project-image{height:200px;background:var(--hero-gradient);display:flex;align-items:center;justify-content:center}.case-study-header{background:var(--case-study-gradient);color:#fff;padding:2rem 3rem;display:flex;align-items:center;gap:1rem}.case-study-icon{font-size:3rem}.case-study-header h2{font-size:1.75rem;font-weight:700;margin:0}.case-study-content{padding:3rem}.case-study-meta{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:1.5rem}.meta-item{display:flex;flex-direction:column;gap:.5rem}.meta-label{font-size:.875rem;font-weight:600;color:var(--primary-color);text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:1rem;color:#1f2937;font-weight:500}.case-study-section{margin-bottom:2rem}.case-study-section:last-child{margin-bottom:0}.case-study-section h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.case-study-section p{color:#4b5563;line-height:1.75;margin-bottom:1rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:var(--primary-color);color:#fff;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.view-project-btn{display:inline-block;padding:.5rem 1rem;background:var(--primary-color);color:#fff;border-radius:.375rem;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s}.outcome-list{list-style:none;padding:0;margin:0}.outcome-list li{padding:.75rem 0 .75rem 1.75rem;position:relative;color:#4b5563;line-height:1.75}.outcome-list li:before{content:"✓";position:absolute;left:0;color:var(--primary-color);font-weight:700;font-size:1.25rem}.project-category{display:inline-block;padding:.25rem .75rem;background:#eff6ff;color:var(--primary-color);border-radius:9999px;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.capabilities-section{padding:5rem 2rem;background:#fff}.capabilities-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.capability-card{text-align:center;padding:2rem;background:#f9fafb;border-radius:1rem;transition:all .3s}.capability-card:hover{background:#fff;box-shadow:0 10px 15px -3px #0000001a}.capability-card h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.capability-card p{color:#6b7280;line-height:1.75}.projects-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.projects-hero{padding:3rem 1.5rem}.projects-hero-content h1{font-size:2rem}.projects-hero-content .lead-text{font-size:1rem}.case-studies-section{padding:3rem 1.5rem}.case-study-header{padding:1.5rem;flex-direction:column;align-items:flex-start}.case-study-header h2{font-size:1.25rem}.case-study-content{padding:1.5rem}.tech-tags{gap:.375rem}.tech-tag{font-size:.8rem;padding:.3rem .6rem}.capabilities-section{padding:3rem 1.5rem}.section-title{font-size:1.75rem}.capabilities-grid{grid-template-columns:1fr}.cta-section{padding:3rem 1.5rem}.cta-content h2{font-size:1.75rem}.cta-content p{font-size:1rem}.cta-primary-large{width:100%;padding:1rem 2rem;font-size:1.125rem}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.projects-hero-content h1{font-size:1.75rem}.case-study-header h2{font-size:1.1rem}.case-study-icon{font-size:2.5rem}.section-title{font-size:1.5rem}}.contact-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.contact-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.mobile-menu-toggle{display:none;background:transparent;border:none;padding:.5rem;cursor:pointer;z-index:1001}.hamburger{display:flex;flex-direction:column;gap:4px;width:24px}.hamburger span{display:block;width:100%;height:3px;background:#1f2937;border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.contact-main{flex:1}.contact-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem;text-align:center}.contact-hero-content{max-width:900px;margin:0 auto}.contact-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.contact-content-section{padding:5rem 2rem;background:#f9fafb}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}.contact-info h2{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.contact-info>p{font-size:1.125rem;line-height:1.75;color:#4b5563;margin-bottom:3rem}.contact-details{display:flex;flex-direction:column;gap:2rem}.contact-detail-item{display:flex;align-items:flex-start;gap:1rem}.detail-icon{font-size:2rem;flex-shrink:0}.detail-content h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.detail-content p{color:#6b7280;line-height:1.5}.contact-form-container{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#1f2937;font-size:.875rem}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:120px}.field-hint{font-size:.75rem;color:#6b7280;margin-top:-.25rem}.submit-btn{width:100%;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem;font-weight:500}.alert-success{background-color:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.faq-section{padding:5rem 2rem;background:#fff}.section-title{text-align:center;font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:3rem}.faq-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.faq-item{padding:2rem;background:#f9fafb;border-radius:1rem;transition:all .3s}.faq-item:hover{background:#fff;box-shadow:0 10px 15px -3px #0000001a}.faq-item h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.faq-item p{color:#6b7280;line-height:1.75}.contact-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-links{position:fixed;top:65px;right:-100%;width:80%;max-width:300px;height:calc(100vh - 65px);background:#fff;flex-direction:column;align-items:stretch;padding:2rem 1rem;gap:.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;overflow-y:auto}.nav-links.mobile-open{right:0}.nav-link-btn{width:100%;text-align:left;padding:1rem;border-radius:.5rem}.user-menu{width:100%;flex-direction:column;align-items:stretch;gap:.5rem}.dashboard-btn,.sign-out-btn,.login-btn{width:100%;text-align:center;padding:1rem}.user-info{width:100%;justify-content:center}.contact-hero{padding:3rem 1.5rem}.contact-hero-content h1{font-size:2rem}.contact-hero-content .lead-text{font-size:1rem}.contact-content-section{padding:3rem 1.5rem}.contact-container{grid-template-columns:1fr;gap:2.5rem}.contact-info h2{font-size:1.75rem}.contact-info>p{font-size:1rem}.contact-form-container{padding:2rem}.faq-section{padding:3rem 1.5rem}.section-title{font-size:1.75rem}.faq-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.footer-section ul li{text-align:center}}@media (max-width: 480px){.contact-hero-content h1{font-size:1.75rem}.contact-info h2{font-size:1.5rem}.contact-form-container{padding:1.5rem}.section-title,.detail-icon{font-size:1.5rem}}.chat-container{display:flex;flex-direction:column;height:500px;background:#fff;border-radius:1rem;overflow:hidden}.chat-header{padding:1rem 1.5rem;background:var(--primary-color, #667eea);color:#fff;font-weight:600}.chat-header h3{margin:0;font-size:1rem}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#f3f4f6}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280;text-align:center}.chat-message{max-width:80%;padding:.75rem 1rem;border-radius:1rem}.chat-message.user{align-self:flex-end;background:var(--primary-color, #667eea);color:#fff;border-bottom-right-radius:.25rem}.chat-message.agent{align-self:flex-start;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-bottom-left-radius:.25rem}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem;opacity:.8}.message-content{line-height:1.5;white-space:pre-wrap}.chat-input-form{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-top:1px solid #e5e7eb;background:#fff;max-width:none;margin:0}.chat-input-form input,.chat-input-form textarea{width:100%;flex:none;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:1.5rem;font-size:1rem;resize:none;font-family:inherit;line-height:1.5;box-sizing:border-box;background:#fff;color:#1f2937}.chat-input-form input:focus,.chat-input-form textarea:focus{outline:none;border-color:var(--primary-color, #667eea)}.chat-input-form button{width:100%;padding:.75rem 1.5rem;background:var(--primary-color, #667eea);color:#fff;border:none;border-radius:2rem;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box}.chat-input-form button:hover:not(:disabled){background:#5568d3}.chat-input-form button:disabled{opacity:.5;cursor:not-allowed}.ai-response-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem;padding:1rem;margin-bottom:1rem}.ai-response-header{font-weight:600;color:#0369a1;margin-bottom:.5rem;font-size:.875rem}.ai-response-content{color:#1e40af;line-height:1.6;white-space:pre-wrap}.login-prompt{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#1b365d,#0f1f38);border-radius:1rem;text-align:center;color:#fff}.login-prompt p{margin-bottom:1rem;font-weight:500}.google-login-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:#1f2937;border:none;border-radius:2rem;font-weight:600;cursor:pointer;transition:all .2s}.google-login-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.typing-indicator span{display:inline-block;font-size:1.5rem;line-height:.5;animation:typing 1.4s infinite ease-in-out both;margin:0 1px}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0);opacity:.2}40%{transform:scale(1);opacity:1}}.verification-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f1f38fa;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000;color:#fff;text-align:center;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.verification-scanner{width:150px;height:150px;border:2px solid rgba(255,255,255,.1);border-radius:50%;position:relative;margin-bottom:2.5rem;overflow:hidden;box-shadow:0 0 50px #667eea33;background:#ffffff0d;transform:translateZ(0)}.scanner-line{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,#667eea,transparent);box-shadow:0 0 15px #667eea;animation:scan 2s infinite ease-in-out}.verification-step{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.01em;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.verification-subtext{font-size:.875rem;opacity:.6;text-transform:uppercase;letter-spacing:.1em}@keyframes scan{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.contact-form-container.unified-chat{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.chat-login-cta{background:#f0f9ff;border:1px solid #bae6fd;border-radius:.75rem;padding:1rem;text-align:center;animation:slideUp .3s ease-out}.chat-login-cta p{margin-bottom:.75rem;font-weight:600;color:#0369a1;font-size:.9rem}.google-login-btn.small{padding:.5rem 1rem;font-size:.875rem}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.blog-page{min-height:100vh;display:flex;flex-direction:column;background:#fff}.blog-header{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px #0000001a}.blog-main{flex:1}.blog-hero{background:var(--hero-gradient);color:#fff;padding:4rem 2rem;text-align:center}.blog-hero-content{max-width:900px;margin:0 auto}.blog-hero-content h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em}.blog-content-section{padding:5rem 2rem;background:#f9fafb}.blog-container{max-width:1000px;margin:0 auto}.blog-posts-grid{display:flex;flex-direction:column;gap:3rem}.blog-post-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;padding:3rem;transition:all .3s}.blog-post-card:hover{box-shadow:0 10px 25px -5px #00000026;transform:translateY(-4px)}.blog-post-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.blog-post-icon{font-size:3rem;flex-shrink:0}.blog-post-meta{display:flex;flex-direction:column;gap:.5rem}.blog-post-category{color:#667eea;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.blog-post-date{color:#6b7280;font-size:.875rem}.blog-post-title{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1rem;line-height:1.3}.blog-post-excerpt{font-size:1.125rem;line-height:1.75;color:#4b5563;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.blog-post-content{color:#374151;line-height:1.75}.blog-post-content h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin-top:2rem;margin-bottom:1rem}.blog-post-content p{margin-bottom:1.25rem}.blog-list{margin:1.5rem 0;padding-left:1.5rem}.blog-list li{margin-bottom:.75rem;line-height:1.75}.blog-list li strong{color:#1f2937;font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.tech-tag{display:inline-block;padding:.5rem 1rem;background:#f3f4f6;color:#4b5563;border-radius:.375rem;font-size:.875rem;font-weight:600;border:1px solid #e5e7eb}.category-tag{display:inline-block;padding:.25rem .75rem;background:#eff6ff;color:var(--primary-color);border-radius:9999px;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.blog-post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem}.blog-post-author{display:flex;flex-direction:column;gap:.25rem}.author-name{font-weight:700;color:#1f2937;font-size:1rem}.author-title{color:#6b7280;font-size:.875rem}.blog-post-tags{display:flex;flex-wrap:wrap;gap:.5rem}.blog-post-tags .tag{padding:.375rem .75rem;background:#ede9fe;color:#6d28d9;border-radius:.375rem;font-size:.75rem;font-weight:600}.coming-soon-message{background:#fff;padding:4rem 3rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a;text-align:center;margin-bottom:4rem}.coming-soon-icon{font-size:5rem;margin-bottom:1.5rem}.coming-soon-message h2{font-size:2.5rem;font-weight:700;color:#1f2937;margin-bottom:1rem}.coming-soon-message>p{font-size:1.125rem;line-height:1.75;color:#4b5563;max-width:600px;margin:0 auto 3rem}.subscribe-prompt{background:#f9fafb;padding:2rem;border-radius:.75rem;max-width:500px;margin:0 auto}.subscribe-prompt h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.subscribe-prompt p{color:#6b7280;margin-bottom:1.5rem}.contact-btn{padding:.875rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.contact-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 10px 15px -3px #0003}.topics-preview{background:#fff;padding:3rem;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a}.topics-preview h3{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:2rem;text-align:center}.topics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.topic-card{text-align:center;padding:2rem;background:#f9fafb;border-radius:.75rem;transition:all .3s}.topic-card:hover{background:#fff;box-shadow:0 10px 15px -3px #0000001a}.topic-icon{font-size:3rem;margin-bottom:1rem}.topic-card h4{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.topic-card p{color:#6b7280;line-height:1.5}.blog-footer{background:#1f2937;color:#fff;padding:3rem 2rem 1rem}@media (max-width: 768px){.blog-hero-content h1{font-size:2.5rem}.blog-post-card{padding:2rem 1.5rem}.blog-post-title{font-size:1.5rem}.blog-post-excerpt{font-size:1rem}.blog-post-content h3{font-size:1.25rem}.blog-post-header{flex-direction:column;align-items:flex-start}.blog-post-footer{flex-direction:column;gap:1.5rem}.coming-soon-message{padding:3rem 2rem}.coming-soon-message h2{font-size:2rem}.topics-preview{padding:2rem}.topics-preview h3{font-size:1.5rem}.topics-grid{grid-template-columns:1fr}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--hero-gradient);padding:1rem}.auth-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.auth-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.auth-card h2{margin:0;flex:1;text-align:center;color:#333}.cancel-btn-top{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s;margin-left:auto}.cancel-btn-top:hover{color:#333}.auth-card .form-group{margin-bottom:1rem}.auth-card label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.auth-card input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box;transition:border-color .3s}.auth-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.auth-card input:disabled{background-color:#f5f5f5;cursor:not-allowed}.button-group{display:flex;gap:.75rem;margin-top:.5rem}.submit-button{flex:1;padding:.75rem;background:var(--hero-gradient);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{flex:1;padding:.75rem;background:#fff;color:#666;border:1px solid #ddd;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.cancel-button:hover:not(:disabled){background:#f8f8f8;border-color:#bbb}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.auth-button{width:100%;padding:.75rem;background:var(--hero-gradient);color:#fff;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:1rem}.auth-card button[type=submit]:hover:not(:disabled){opacity:.9}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-card .error{color:#e53e3e;font-size:.875rem;margin:.5rem 0;text-align:center}.auth-card .toggle-mode{text-align:center;margin-top:1.5rem;color:#666;font-size:.875rem}.auth-switch button{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;padding:0;font-size:.875rem}.auth-card .toggle-mode button:hover:not(:disabled){color:#764ba2}.auth-card .toggle-mode button:disabled{opacity:.6;cursor:not-allowed}.auth-card .divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:#999;font-size:.875rem}.auth-card .divider:before,.auth-card .divider:after{content:"";flex:1;border-bottom:1px solid #ddd}.auth-card .divider span{padding:0 1rem;font-weight:500}.auth-card .google-btn{width:100%;padding:.75rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-card .google-btn:hover:not(:disabled){background:#f8f8f8;border-color:#bbb;box-shadow:0 2px 4px #0000001a}.auth-card .google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-card .google-icon{flex-shrink:0}.immersion-layout{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-color);color:var(--text-color)}.immersion-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background-color:var(--surface-color)}.immersion-header h1{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.immersion-nav{display:flex;gap:1rem}.immersion-content{flex:1;overflow:hidden;position:relative}.retention-garden{padding:2rem;height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:2rem}.garden-header{text-align:center;margin-bottom:2rem}.garden-header h2{font-size:2rem;margin-bottom:.5rem}.garden-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.stat-card{background:var(--surface-color);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);text-align:center;min-width:150px}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--primary-color)}.stat-label{color:var(--text-muted);font-size:.875rem}.heatmap-container{background:var(--surface-color);padding:2rem;border-radius:16px;border:1px solid var(--border-color);max-width:800px;margin:0 auto}.curriculum-map{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;align-items:center}.curriculum-block-group{display:flex;align-items:center;gap:4px}.curriculum-separator{display:none}.heatmap-cell{width:16px;height:16px;border-radius:3px;background-color:var(--bg-secondary);cursor:pointer;transition:transform .2s,box-shadow .2s}.heatmap-cell:hover{transform:scale(1.2);z-index:2}.heatmap-cell.critical{background-color:#ff4d4f}.heatmap-cell.stable{background-color:#52c41a}.heatmap-cell.decaying{background-color:#faad14}.heatmap-cell.new{background-color:#1890ff}.heatmap-cell.active-node{border:2px solid #fff;box-shadow:0 0 0 2px var(--primary-color);transform:scale(1.3);z-index:3}.module-title-display{margin-bottom:1.5rem;text-align:center;color:var(--text-secondary);font-size:1.1rem;font-weight:500;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;width:100%}.start-session-container{display:flex;justify-content:center;margin-top:2rem}.start-session-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:1rem 3rem;font-size:1.25rem;font-weight:600;border-radius:50px;cursor:pointer;box-shadow:0 10px 25px -5px #6366f166;transition:transform .2s,box-shadow .2s}.start-session-btn:hover{transform:translateY(-2px);box-shadow:0 15px 30px -5px #6366f180}.socratic-arena{display:flex;height:100%}.arena-left{flex:6;background-color:var(--bg-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative}.arena-right{flex:4;background-color:var(--surface-color);display:flex;flex-direction:column}.flashcard-container{max-width:800px;width:100%;text-align:center}.flashcard-content{font-size:2.5rem;line-height:1.4;font-weight:500;color:var(--text-color);margin-bottom:3rem}.target-word-placeholder{display:inline-block;background-color:var(--surface-hover);color:transparent;border-radius:8px;padding:0 1rem;margin:0 .5rem;filter:blur(4px);transition:all .3s;cursor:pointer;-webkit-user-select:none;user-select:none}.target-word-placeholder.revealed{background-color:transparent;color:var(--primary-color);filter:none;font-weight:700;text-decoration:underline;text-decoration-color:var(--primary-color);text-underline-offset:4px}.flashcard-controls{display:flex;justify-content:center;gap:1.5rem}.control-btn{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color);width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.25rem;cursor:pointer;transition:all .2s}.control-btn:hover{border-color:var(--primary-color);color:var(--primary-color);transform:scale(1.1)}.arena-right .chat-container{height:100%;border:none;background:transparent}.arena-right .chat-header{padding:1rem;border-bottom:1px solid var(--border-color)}.arena-right .messages-list{padding:1rem}.arena-right .input-area-container{padding:1rem;border-top:1px solid var(--border-color)}.input-mode-toggle{display:flex;justify-content:center;padding:.5rem;gap:1rem;border-top:1px solid var(--border-color);background:var(--surface-color)}.mode-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s}.mode-btn.active{color:var(--primary-color);background:#6366f11a}.immersion-session{display:flex;flex-direction:column;height:100%;background-color:var(--bg-color)}.session-garden{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);transition:all .3s ease}.garden-header-compact{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem}.garden-title{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.garden-title h3{margin:0;font-size:1rem;color:var(--text-color)}.toggle-icon{font-size:.8rem;color:var(--text-muted)}.garden-stats-compact{display:flex;gap:1rem}.stat-pill{background:var(--bg-color);padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid var(--border-color)}.stat-pill.warning{color:#f59e0b;border-color:#f59e0b4d;background:#f59e0b1a}.session-arena{flex:1;display:flex;overflow:hidden}.custom-chat-panel{display:flex;flex-direction:column;background-color:var(--surface-color);border-left:1px solid var(--border-color)}.custom-messages-list{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-bubble{max-width:85%;padding:1rem;border-radius:12px;line-height:1.5;font-size:.95rem}.chat-bubble.user{align-self:flex-end;background-color:var(--primary-color);color:#fff;border-bottom-right-radius:2px}.chat-bubble.model{align-self:flex-start;background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);border-bottom-left-radius:2px}.chat-bubble.model.typing{padding:.5rem 1rem;font-style:italic;color:var(--text-muted)}.custom-input-area{border-top:1px solid var(--border-color);background-color:var(--bg-color);padding:1rem}.input-mode-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.tab-btn{background:none;border:none;color:var(--text-muted);font-size:.9rem;padding:.5rem 1rem;cursor:pointer;border-radius:20px;transition:all .2s}.tab-btn.active{background-color:var(--surface-color);color:var(--primary-color);font-weight:600;box-shadow:0 2px 4px #0000000d}.keyboard-input-form{display:flex;gap:.5rem}.keyboard-input-form input{flex:1;padding:.75rem 1rem;border-radius:24px;border:1px solid var(--border-color);background-color:var(--surface-color);color:var(--text-color);outline:none}.keyboard-input-form input:focus{border-color:var(--primary-color)}.keyboard-input-form button{background-color:var(--primary-color);color:#fff;border:none;padding:0 1.5rem;border-radius:24px;font-weight:600;cursor:pointer}.mic-input-placeholder{text-align:center;padding:1rem}.mic-btn-large{width:64px;height:64px;border-radius:50%;background-color:#ef4444;color:#fff;border:none;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #ef44444d;transition:transform .2s;margin-bottom:.5rem}.mic-btn-large:hover{transform:scale(1.1)}.generate-plan-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem;text-align:center;color:var(--text-muted)}.lessons-list-container{padding:1rem;overflow-y:auto;height:100%;width:100%}.lesson-group{margin-bottom:2rem}.lesson-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text-color);border-left:3px solid var(--primary-color);padding-left:.75rem}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.task-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s}.task-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.task-card.completed{background-color:#10b9811a;border-color:#10b981}.task-icon{font-size:1.5rem}.task-info{flex:1;display:flex;flex-direction:column}.task-title{font-weight:500;font-size:.9rem;color:var(--text-color)}.task-type{font-size:.75rem;color:var(--text-muted);text-transform:capitalize}.task-status{font-size:1rem}.task-card{display:flex;flex-direction:column;gap:.5rem}.task-header{display:flex;align-items:center;gap:.75rem}.task-phases{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.phase-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background-color:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;font-size:.75rem}.phase-btn:hover{background-color:#ffffff1a;transform:translateY(-1px)}.phase-btn .phase-icon{font-size:1.2rem}.phase-btn .phase-label{font-weight:500;color:var(--text-color)}.phase-btn .phase-progress{font-size:.7rem;color:var(--text-muted);font-weight:600}.phase-btn.learn:hover{border-color:#3b82f6}.phase-btn.practice:hover{border-color:#f59e0b}.phase-btn.perform:hover{border-color:#10b981}.phase-btn.generate-full{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;font-size:1.1rem;justify-content:center;gap:.75rem;box-shadow:0 4px 12px #667eea4d}.phase-btn.generate-full:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66;border-color:transparent}.phase-btn.generate-full .phase-label{color:#fff}.vocab-study-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.vocab-study-container{background-color:var(--background-color);border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.vocab-study-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.vocab-study-header h3{margin:0;font-size:1.5rem;color:var(--text-color)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);padding:.5rem;border-radius:4px;transition:all .2s}.close-btn:hover{background-color:#ffffff1a;color:var(--text-color)}.vocab-list{padding:1.5rem;overflow-y:auto;flex:1}.vocab-item-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.vocab-word{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:1.5rem}.vocab-section{margin-bottom:1rem}.vocab-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.vocab-content{font-size:1.1rem;color:var(--text-color);line-height:1.6}.vocab-content.example{font-style:italic;color:var(--text-muted)}.vocab-content.revealed{color:var(--primary-color)}.reveal-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.reveal-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.reveal-btn.large{padding:1.25rem 2.5rem;font-size:1.1rem}.vocab-study-container.practice-mode{max-width:600px;height:90vh}.flashcard-container{padding:1.5rem;display:flex;flex-direction:column;flex:1;overflow:hidden}.flashcard-progress{text-align:center;font-size:.9rem;color:var(--text-muted);margin-bottom:1rem;flex-shrink:0}.flashcard{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;overflow-y:auto;min-height:0}.flashcard-word{font-size:2.5rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;text-align:center}.flashcard-section{width:100%;text-align:center}.flashcard-section.revealed{background-color:#667eea1a;border-radius:8px;padding:.75rem}.flashcard-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.flashcard-content{font-size:1.1rem;color:var(--text-color);line-height:1.5}.flashcard-content.example{font-style:italic;font-size:.95rem}.flashcard-controls{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-shrink:0;padding-top:.5rem}.speak-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all .2s;opacity:.7;display:flex;align-items:center;justify-content:center}.speak-btn:hover{background-color:#ffffff1a;opacity:1;transform:scale(1.1)}.speak-btn.small{font-size:1rem}.speak-btn.large{font-size:1.5rem}.vocab-word-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.vocab-word-row .vocab-word{margin-bottom:0}.vocab-content-row{display:flex;align-items:center;gap:.75rem}.flashcard-word-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.flashcard-word-row .flashcard-word{margin-bottom:0}.flashcard-content-row{display:flex;align-items:center;gap:.75rem;width:100%;flex-wrap:nowrap}.flashcard-content-row .flashcard-content{flex:0 1 auto;min-width:0}.flashcard-content-row .speak-btn{flex-shrink:0}.flashcard-content-row.centered{justify-content:center}.vocab-article{opacity:.8;font-weight:400}.vocab-variation{opacity:.7;font-size:.9em;font-style:italic}.vocab-meta-row,.flashcard-meta{display:flex;gap:.5rem;margin-bottom:1rem;font-size:.9rem;color:var(--text-secondary);justify-content:center}.vocab-meta-row{justify-content:flex-start;margin-top:-1rem}.vocab-pos{text-transform:capitalize;background:#ffffff1a;padding:.1rem .4rem;border-radius:4px}.nav-btn{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color);padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.nav-btn:hover{background-color:#ffffff1a;transform:translateY(-2px)}.nav-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.nav-btn.primary:hover{box-shadow:0 4px 12px #667eea66}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-consent-banner{background:linear-gradient(135deg,#1e293b,#0f172a);border-top:2px solid #3b82f6;padding:1.5rem;box-shadow:0 -4px 20px #0000004d;max-width:100%;margin:0 auto}.cookie-consent-content{color:#f1f5f9;margin-bottom:1.5rem}.cookie-consent-content h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#fff}.cookie-consent-content p{font-size:.95rem;line-height:1.6;margin:.5rem 0;color:#cbd5e1}.cookie-policy-link{margin-top:.75rem;font-size:.875rem}.cookie-policy-link a{color:#60a5fa;text-decoration:underline;transition:color .2s}.cookie-policy-link a:hover{color:#93c5fd}.cookie-consent-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.cookie-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.cookie-btn-primary{background:#3b82f6;color:#fff}.cookie-btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.cookie-btn-secondary{background:#475569;color:#fff}.cookie-btn-secondary:hover{background:#64748b;transform:translateY(-1px);box-shadow:0 4px 12px #47556966}.cookie-btn-tertiary{background:transparent;color:#e2e8f0;border:2px solid #475569}.cookie-btn-tertiary:hover{background:#334155;border-color:#64748b;transform:translateY(-1px)}.cookie-preferences{margin:1.5rem 0;display:flex;flex-direction:column;gap:1rem}.cookie-preference-item{background:#ffffff0d;border:1px solid #334155;border-radius:.5rem;padding:1rem;transition:all .2s}.cookie-preference-item:hover{background:#ffffff14;border-color:#475569}.cookie-preference-header{margin-bottom:.5rem}.cookie-preference-header label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.cookie-preference-header input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#3b82f6}.cookie-preference-header input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.cookie-preference-title{font-weight:600;font-size:1.1rem;color:#f8fafc}.cookie-preference-description{font-size:.875rem;color:#94a3b8;margin:0;padding-left:2rem}@media (max-width: 768px){.cookie-consent-banner{padding:1rem}.cookie-consent-content h2{font-size:1.25rem}.cookie-consent-content p{font-size:.875rem}.cookie-consent-actions{flex-direction:column}.cookie-btn{width:100%;padding:.875rem}.cookie-preference-description{padding-left:0;margin-top:.5rem}}@media (min-width: 769px){.cookie-consent-banner{padding:2rem 3rem}.cookie-consent-actions{justify-content:flex-start}}@media print{.cookie-consent-overlay{display:none!important}}.App{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}.App-header{margin-bottom:3rem}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.App-header h1{font-size:3rem;color:var(--primary-color);margin-bottom:.5rem}.App-header p{color:var(--text-muted);font-size:1.2rem}.user-info{display:flex;align-items:center;gap:1rem}.user-email{color:#aaa;font-size:.9rem}.sign-out-btn{padding:.5rem 1rem;background:var(--error-color);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background .2s}.sign-out-btn:hover{background:#dc2626}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:var(--text-muted)}main{display:grid;gap:2rem;margin-top:2rem}.items-section,.add-item-section{background:var(--surface-color);padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.items-section h2,.add-item-section h2{margin-bottom:1.5rem;color:#fff}.items-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}.item-card{background:#1a1a1a;padding:1.5rem;border-radius:8px;border:1px solid var(--border-color);transition:transform .2s,border-color .2s}.item-card:hover{transform:translateY(-4px);border-color:var(--primary-color)}.item-card h3{margin:0 0 .5rem;color:#fff}.item-card p{margin:0;color:#aaa;font-size:.9rem}.error{color:var(--error-color);padding:1rem;background:#ef44441a;border-radius:4px;margin:1rem 0}form{display:flex;flex-direction:column;gap:1rem;max-width:500px;margin:0 auto}.form-group{display:flex;flex-direction:column}input{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background:#1a1a1a;color:#fff;font-size:1rem}input:focus{outline:none;border-color:var(--primary-color)}button{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}button:hover{background:var(--primary-hover)}button:active{transform:scale(.98)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--primary-color: #1B365D;--primary-hover: #142748;--accent-color: #61C1D0;--bg-color: #0a0a0a;--text-color: rgba(255, 255, 255, .87);--error-color: #ef4444;--surface-color: #242424;--surface-hover: #2a2a2a;--border-color: #333;--text-muted: #888;--hero-gradient: linear-gradient(135deg, #1B365D 0%, #0f1f38 100%);--case-study-gradient: linear-gradient(135deg, #1B365D 0%, #0f1f38 100%);color-scheme:dark;color:var(--text-color);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%}h1{font-size:3.2em;line-height:1.1}a{font-weight:500;color:var(--primary-color);text-decoration:inherit}a:hover{color:var(--primary-hover)}
